TexGen
|
Create a rectangular mesh, the number of layers can be specified or set as -1 for automatic determination. More...
#include <SectionMeshRectangular.h>
Public Member Functions | |
CSectionMeshRectangular (int iNumLayers=-1, bool bTriangleCorners=true) | |
CSectionMeshRectangular (TiXmlElement &Element) | |
~CSectionMeshRectangular (void) | |
CSectionMesh * | Copy () const |
This is a function to allow copying of derived classes correctly. More... | |
string | GetType () const |
Derived class should return the class name. More... | |
void | PopulateTiXmlElement (TiXmlElement &Element, OUTPUT_TYPE OutputType) const |
Used for saving data to XML. More... | |
void | SetNumLayers (int iNum) |
int | GetNumLayers () const |
int | CalculateNumberofLayers (const vector< XY > &Section) const |
const CMesh & | GetMesh (const vector< XY > &Section) const |
Accessor methods. More... | |
virtual int | GetNumLayers () |
Static Public Member Functions | |
static CObjectContainer< CSectionMesh > | CreateSectionMesh (TiXmlElement &Element) |
Create a section from TiXmlElement. More... | |
Protected Member Functions | |
bool | CreateMesh (const vector< XY > &Section) const |
Create a mesh out of given list of points representing the edge of the section. More... | |
bool | CreateSingleLayerMesh (const vector< XY > &Section) const |
bool | CreateMeshIfNeeded (const vector< XY > &Section) const |
Create the mesh if it has not already been created. More... | |
Protected Attributes | |
int | m_iNumLayers |
bool | m_bTriangleCorners |
CMesh | m_Mesh |
Used to cache the result of the previous mesh for efficiency. More... | |
vector< XY > | m_Section |
Store the section used to request a mesh the last time. More... | |
Create a rectangular mesh, the number of layers can be specified or set as -1 for automatic determination.
Definition at line 28 of file SectionMeshRectangular.h.
CSectionMeshRectangular::CSectionMeshRectangular | ( | int | iNumLayers = -1 , |
bool | bTriangleCorners = true |
||
) |
Definition at line 24 of file SectionMeshRectangular.cpp.
References TGERROR.
CSectionMeshRectangular::CSectionMeshRectangular | ( | TiXmlElement & | Element | ) |
Definition at line 39 of file SectionMeshRectangular.cpp.
References m_bTriangleCorners, and m_iNumLayers.
CSectionMeshRectangular::~CSectionMeshRectangular | ( | void | ) |
Definition at line 35 of file SectionMeshRectangular.cpp.
int CSectionMeshRectangular::CalculateNumberofLayers | ( | const vector< XY > & | Section | ) | const |
Definition at line 228 of file SectionMeshRectangular.cpp.
References TexGen::XY::x, and TexGen::XY::y.
Referenced by CreateMesh().
|
inlinevirtual |
This is a function to allow copying of derived classes correctly.
Derived classes should implement this as CSectionMesh* Copy() const { return new CSectionMeshDerived(*this); } where CSectionMeshDerived should be replaced by the name of the derived class
Implements TexGen::CSectionMesh.
Definition at line 35 of file SectionMeshRectangular.h.
|
protectedvirtual |
Create a mesh out of given list of points representing the edge of the section.
Implements TexGen::CSectionMesh.
Definition at line 52 of file SectionMeshRectangular.cpp.
References TexGen::CMesh::AddElement(), CalculateNumberofLayers(), TexGen::CMesh::Clear(), CreateSingleLayerMesh(), TexGen::CMesh::GetIndices(), TexGen::GetLength(), m_bTriangleCorners, m_iNumLayers, TexGen::CSectionMesh::m_Mesh, TexGen::CMesh::POLYGON, TexGen::CMesh::QUAD, TexGen::CMesh::RemoveUnreferencedNodes(), TexGen::CMesh::SetNode(), TexGen::CMesh::SetNumNodes(), TGERROR, TexGen::CMesh::TRI, TexGen::XY::x, and TexGen::XY::y.
|
protectedinherited |
Create the mesh if it has not already been created.
Definition at line 67 of file SectionMesh.cpp.
References TexGen::CSectionMesh::CreateMesh(), and TexGen::CSectionMesh::m_Section.
Referenced by TexGen::CSectionMesh::GetMesh().
|
staticinherited |
Create a section from TiXmlElement.
Definition at line 52 of file SectionMesh.cpp.
Referenced by TexGen::CSection::CSection(), TexGen::CTextile3DWeave::CTextile3DWeave(), and TexGen::CTextileWeave::CTextileWeave().
|
protected |
Definition at line 268 of file SectionMeshRectangular.cpp.
References TexGen::CMesh::AddElement(), TexGen::CMesh::AddNode(), TexGen::CMesh::Clear(), TexGen::CSectionMesh::m_Mesh, TexGen::CMesh::POLYGON, TexGen::CMesh::QUAD, TGERROR, TexGen::CMesh::TRI, TexGen::XY::x, and TexGen::XY::y.
Referenced by CreateMesh().
Accessor methods.
Definition at line 77 of file SectionMesh.cpp.
References TexGen::CSectionMesh::CreateMeshIfNeeded(), and TexGen::CSectionMesh::m_Mesh.
|
inlinevirtualinherited |
Definition at line 58 of file SectionMesh.h.
|
inline |
Definition at line 40 of file SectionMeshRectangular.h.
Referenced by TexGen::CSection::GetSectionMeshLayers().
|
inlinevirtual |
Derived class should return the class name.
Implements TexGen::CSectionMesh.
Definition at line 36 of file SectionMeshRectangular.h.
|
virtual |
Used for saving data to XML.
Reimplemented from TexGen::CSectionMesh.
Definition at line 45 of file SectionMeshRectangular.cpp.
References m_bTriangleCorners, m_iNumLayers, TexGen::CSectionMesh::PopulateTiXmlElement(), and TexGen::stringify().
|
virtual |
Reimplemented from TexGen::CSectionMesh.
Definition at line 335 of file SectionMeshRectangular.cpp.
References m_iNumLayers.
|
protected |
Definition at line 49 of file SectionMeshRectangular.h.
Referenced by CreateMesh(), CSectionMeshRectangular(), and PopulateTiXmlElement().
|
protected |
Definition at line 48 of file SectionMeshRectangular.h.
Referenced by CreateMesh(), CSectionMeshRectangular(), PopulateTiXmlElement(), and SetNumLayers().
|
mutableprotectedinherited |
Used to cache the result of the previous mesh for efficiency.
Definition at line 68 of file SectionMesh.h.
Referenced by TexGen::CSectionMeshRectangleSection::CreateMesh(), CreateMesh(), TexGen::CSectionMeshTriangulate::CreateMesh(), CreateSingleLayerMesh(), and TexGen::CSectionMesh::GetMesh().
|
mutableprotectedinherited |
Store the section used to request a mesh the last time.
If the given section is the same as given last time then no need to remesh, simply re-used the result of last time.
Definition at line 75 of file SectionMesh.h.
Referenced by TexGen::CSectionMesh::CreateMeshIfNeeded().