TexGen
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
TexGen::CTetgenMesh Class Reference

Class which tetrahedralizes a textile using Tetgen software. More...

#include <TetgenMesh.h>

Inheritance diagram for TexGen::CTetgenMesh:
Inheritance graph
[legend]

Public Member Functions

 CTetgenMesh (double Seed)
 
virtual ~CTetgenMesh (void)
 
void SaveTetgenMesh (CTextile &Textile, string OutputFilename, string Parameters, bool bPeriodic, int FileType)
 Save a textile as a tetrahedralized mesh using Tetgen. More...
 
void MeshDomainPlanes (bool bPeriodic)
 

Protected Member Functions

void SaveMesh (CTextile &Textile)
 Save tetgenio data to CMesh. More...
 
void SaveToAbaqus (string Filename, CTextile &Textile)
 Save output mesh to Abaqus export file. More...
 
void SaveToVTK (string Filename)
 Save output mesh to VTK format. More...
 
bool Triangulate (vector< vector< XY > > &PolygonPoints, vector< XY > &HolePoints, CMesh &OutputMesh, PLANEPARAMS &ConvertRef)
 Triangulate the domain faces. More...
 
bool ConvertDomainPointsTo2D (const list< int > &Indices, CMesh &DomainMesh, int numNodes, vector< XY > &Points2D, PLANEPARAMS &ConvertRef)
 Convert points on one domain surface to local 2D points. More...
 
void Convert2DTo3DCoordinates (vector< XY > &Points2D, vector< XYZ > &Points3D, PLANEPARAMS &ConvertRef)
 Convert local 2D coordinates to global 3D coordinates. More...
 
void Convert3DTo2DCoordinates (vector< XYZ > &Points3D, PLANEPARAMS &ConvertRef, vector< XY > &Points2D)
 Convert global 3D coordinates to local 2D coordinates. More...
 
void SeedSides (vector< XY > &Points)
 Calculates seed points along domain edge. More...
 
void OffsetMeshPoints (CMesh &Mesh, XYZ &Normal, double dDist)
 Offsets points in mesh by given distance in direction of normal. More...
 

Protected Attributes

CMesh m_Mesh
 Mesh used to store input node points and elements. More...
 
tetgenio m_in
 Tetgen input and output structures. More...
 
tetgenio m_out
 
CMesh m_OutputMesh
 Mesh used to store output nodes and elements. More...
 
vector< POINT_INFOm_ElementsInfo
 Element information for output mesh. More...
 
vector< CMeshm_DomainMeshes
 Vector of meshes used to store domain plane meshes. More...
 
vector< CMeshm_TriangulatedMeshes
 Vector of triangulated domain plane meshes. More...
 
double m_Seed
 Seed used for calculating boundary edge points. More...
 
vector< vector< int > > m_PolygonNumVertices
 Number of polygon vertices on each face. Number of outer vector members = number of faces. More...
 
bool m_bFillEnds
 True if yarn areas are to be removed from domain. More...
 

Detailed Description

Class which tetrahedralizes a textile using Tetgen software.

The surface mesh and domain are used as tetgen input, the domain boundaries first being triangulated such that opposite boundaries have the same input mesh. (This assumes that the domain is specified to be a whole number of textile repeats).

Definition at line 35 of file TetgenMesh.h.

Constructor & Destructor Documentation

◆ CTetgenMesh()

CTetgenMesh::CTetgenMesh ( double  Seed)

Definition at line 32 of file TetgenMesh.cpp.

◆ ~CTetgenMesh()

CTetgenMesh::~CTetgenMesh ( void  )
virtual

Definition at line 37 of file TetgenMesh.cpp.

Member Function Documentation

◆ Convert2DTo3DCoordinates()

void CMeshDomainPlane::Convert2DTo3DCoordinates ( vector< XY > &  Points2D,
vector< XYZ > &  Points3D,
PLANEPARAMS ConvertRef 
)
protectedinherited

Convert local 2D coordinates to global 3D coordinates.

Definition at line 403 of file MeshDomainPlane.cpp.

References TexGen::PLANEPARAMS::RefPoint, TexGen::XYZ::x, TexGen::PLANEPARAMS::XAxis, TexGen::XYZ::y, and TexGen::PLANEPARAMS::YAxis.

Referenced by TexGen::CMeshDomainPlane::Triangulate().

◆ Convert3DTo2DCoordinates()

void CMeshDomainPlane::Convert3DTo2DCoordinates ( vector< XYZ > &  Points3D,
PLANEPARAMS ConvertRef,
vector< XY > &  Points2D 
)
protectedinherited

◆ ConvertDomainPointsTo2D()

bool CMeshDomainPlane::ConvertDomainPointsTo2D ( const list< int > &  Indices,
CMesh DomainMesh,
int  numNodes,
vector< XY > &  Points2D,
PLANEPARAMS ConvertRef 
)
protectedinherited

◆ MeshDomainPlanes()

void CMeshDomainPlane::MeshDomainPlanes ( bool  bPeriodic)
inherited

◆ OffsetMeshPoints()

void CMeshDomainPlane::OffsetMeshPoints ( CMesh Mesh,
XYZ Normal,
double  dDist 
)
protectedinherited

Offsets points in mesh by given distance in direction of normal.

Definition at line 213 of file MeshDomainPlane.cpp.

References TexGen::CMesh::GetNode(), TexGen::CMesh::GetNumNodes(), and TexGen::CMesh::SetNode().

Referenced by TexGen::CMeshDomainPlane::MeshDomainPlanes().

◆ SaveMesh()

void CTetgenMesh::SaveMesh ( CTextile Textile)
protected

◆ SaveTetgenMesh()

void CTetgenMesh::SaveTetgenMesh ( CTextile Textile,
string  OutputFilename,
string  Parameters,
bool  bPeriodic,
int  FileType 
)

◆ SaveToAbaqus()

void CTetgenMesh::SaveToAbaqus ( string  Filename,
CTextile Textile 
)
protected

Save output mesh to Abaqus export file.

Definition at line 325 of file TetgenMesh.cpp.

References m_ElementsInfo, m_OutputMesh, and TexGen::CMesh::SaveToABAQUS().

◆ SaveToVTK()

void CTetgenMesh::SaveToVTK ( string  Filename)
protected

Save output mesh to VTK format.

Definition at line 331 of file TetgenMesh.cpp.

References TexGen::CMeshDataBase::ELEMENT, TexGen::CMeshData< T >::m_Data, m_ElementsInfo, m_OutputMesh, and TexGen::CMesh::SaveToVTK().

◆ SeedSides()

void CMeshDomainPlane::SeedSides ( vector< XY > &  Points)
protectedinherited

Calculates seed points along domain edge.

Definition at line 224 of file MeshDomainPlane.cpp.

References TexGen::GetLength(), and TexGen::CMeshDomainPlane::m_Seed.

Referenced by TexGen::CMeshDomainPlane::MeshDomainPlanes().

◆ Triangulate()

bool CMeshDomainPlane::Triangulate ( vector< vector< XY > > &  PolygonPoints,
vector< XY > &  HolePoints,
CMesh OutputMesh,
PLANEPARAMS ConvertRef 
)
protectedinherited

Member Data Documentation

◆ m_bFillEnds

bool TexGen::CMeshDomainPlane::m_bFillEnds
protectedinherited

True if yarn areas are to be removed from domain.

Definition at line 74 of file MeshDomainPlane.h.

Referenced by TexGen::CMeshDomainPlane::CMeshDomainPlane(), and TexGen::CMeshDomainPlane::Triangulate().

◆ m_DomainMeshes

vector<CMesh> TexGen::CMeshDomainPlane::m_DomainMeshes
protectedinherited

Vector of meshes used to store domain plane meshes.

Definition at line 66 of file MeshDomainPlane.h.

Referenced by TexGen::CMeshDomainPlane::MeshDomainPlanes(), TexGen::CSurfaceMesh::SaveSurfaceMesh(), and SaveTetgenMesh().

◆ m_ElementsInfo

vector<POINT_INFO> TexGen::CTetgenMesh::m_ElementsInfo
protected

Element information for output mesh.

Definition at line 58 of file TetgenMesh.h.

Referenced by SaveMesh(), SaveToAbaqus(), and SaveToVTK().

◆ m_in

tetgenio TexGen::CTetgenMesh::m_in
protected

Tetgen input and output structures.

Definition at line 54 of file TetgenMesh.h.

Referenced by SaveTetgenMesh().

◆ m_Mesh

CMesh TexGen::CTetgenMesh::m_Mesh
protected

Mesh used to store input node points and elements.

Definition at line 52 of file TetgenMesh.h.

Referenced by SaveTetgenMesh().

◆ m_out

tetgenio TexGen::CTetgenMesh::m_out
protected

Definition at line 54 of file TetgenMesh.h.

Referenced by SaveMesh().

◆ m_OutputMesh

CMesh TexGen::CTetgenMesh::m_OutputMesh
protected

Mesh used to store output nodes and elements.

Definition at line 56 of file TetgenMesh.h.

Referenced by SaveMesh(), SaveToAbaqus(), and SaveToVTK().

◆ m_PolygonNumVertices

vector<vector<int> > TexGen::CMeshDomainPlane::m_PolygonNumVertices
protectedinherited

Number of polygon vertices on each face. Number of outer vector members = number of faces.

Definition at line 72 of file MeshDomainPlane.h.

Referenced by TexGen::CMeshDomainPlane::MeshDomainPlanes(), and SaveTetgenMesh().

◆ m_Seed

double TexGen::CMeshDomainPlane::m_Seed
protectedinherited

Seed used for calculating boundary edge points.

Definition at line 70 of file MeshDomainPlane.h.

Referenced by TexGen::CMeshDomainPlane::CMeshDomainPlane(), TexGen::CMeshDomainPlane::SeedSides(), and TexGen::CMeshDomainPlane::Triangulate().

◆ m_TriangulatedMeshes

vector<CMesh> TexGen::CMeshDomainPlane::m_TriangulatedMeshes
protectedinherited

Vector of triangulated domain plane meshes.

Definition at line 68 of file MeshDomainPlane.h.

Referenced by TexGen::CMeshDomainPlane::MeshDomainPlanes(), TexGen::CSurfaceMesh::SaveSurfaceMesh(), and SaveTetgenMesh().


The documentation for this class was generated from the following files: