49 void ClipMeshToDomain(
CMesh &Mesh,
bool bFillGaps =
true)
const;
50 bool ClipMeshToDomain(
CMesh &Mesh, vector<CMesh> &DomainMeshes,
bool bFillGaps =
true)
const;
51 string GetType()
const {
return "CDomainPlanes"; }
53 void AddPlane(
const PLANE &Plane);
56 const vector<PLANE> &
GetPlanes()
const {
return m_Planes; }
60 void Grow(
double dDistance);
62 void Rotate(
WXYZ Rotation);
64 void Translate(
XYZ Vector);
68 int GetPlane(
XYZ &Normal,
PLANE &Plane );
70 void SetPlane(
int index,
PLANE &Plane );
73 bool PointInDomain(
const XYZ &Point)
const;
83 static bool FillGaps(
CMesh &Mesh,
const PLANE &Plane, vector<int> &Polygon,
bool bMeshGaps =
true);
Abstract base class representing the domain in which a textile cell may lie.
Domain implementation described using planes, the simplest of which would be a box.
vector< vector< pair< XYZ, XYZ > > > m_PlaneIntersections
A list of lines for each plane representing the intersections between other planes.
string GetType() const
Derived class should return the class name.
const vector< PLANE > & GetPlanes() const
Accessor method to get the planes making up this domain.
vector< PLANE > m_Planes
List of planes that define the limits of the cell.
Defines the nodes and elements of a surface or volume mesh.
Namespace containing a series of customised math operations not found in the standard c++ library.
double Max(XYZ &Vector)
Get maximum element of vector and return it.
XYZ Min(const XYZ &P1, const XYZ &P2)
Given two points, return a new point who's coordinates are the smaller of the two.
Struct for representing a Plane.
Struct for representing a quaternion.
Struct for representing points in 3D space.