|
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().