50 virtual void PopulateTiXmlElement(TiXmlElement &Element,
OUTPUT_TYPE OutputType)
const;
62 virtual const vector<XY> &GetPoints(
int iNumPoints,
bool bEquiSpaced =
false)
const;
66 const CMesh &GetMesh(
int iNumPoints,
bool bEquiSpaced =
true)
const;
69 static double GetArea(
const vector<XY> &Section);
72 static double GetCircumference(
const vector<XY> &Section);
88 void SetSectionMeshLayers(
int iNum );
91 int GetSectionMeshLayers();
110 void CreateSection(
int iNumPoints)
const;
116 bool CreateEquiSpacedSection(
int iNumPoints)
const;
128 void AssignDefaults();
Defines the nodes and elements of a surface or volume mesh.
Object container to help handle memory management issues.
Abstract base class respresenting a yarn cross-section.
vector< XY > m_EdgePoints
List of 2d points creating the outline of the cross-section.
virtual CSection * Copy() const =0
Create a copy of the derived section and return a pointer to the newly created instance.
bool m_bEquiSpaced
Keep this variable to determine whether the section was created with equidistant points or not.
virtual string GetType() const =0
Derived class should return the class name.
virtual string GetDefaultName() const =0
Get the default name to assign to a section.
virtual XY GetPoint(double t) const =0
Get a point lying on the perimeter correspending to parametric value t.
CObjectContainer< CSectionMesh > m_pSectionMesh
Pointer to a derived class of SectionMesh, this class is in charge of creating the section mesh.
virtual string GetBaseType() const
Hybrid of any number of other sections.
Abstract base class to create a 2D mesh of a section.
Section which represents a rotation of another section angle given in radians.
Section which represents a scaled version of another section.
Namespace containing a series of customised math operations not found in the standard c++ library.
bool operator==(const XYZ &left, const XYZ &right)
double GetArea(XYZ Points[], int iNumPoints)
Struct for representing points in 2D space.