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

Class used to generate voxel mesh of prism domain for output to ABAQUS. More...

#include <PrismVoxelMesh.h>

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

Public Member Functions

 CPrismVoxelMesh (string Type="CPrismPeriodicBoundaries")
 
virtual ~CPrismVoxelMesh (void)
 
int OutputHexElements (ostream &Output, bool bOutputMatrix, bool bOutputYarn, int Filetype)
 Outputs hex elements for the elements in the element map. More...
 
virtual void SaveVoxelMesh (CTextile &Textile, string OutputFilename, int XVoxNum, int YVoxNum, int ZVoxNum, bool bOutputMatrix, bool bOutputYarns, int iBoundaryConditions, int iElementType=0, int FileType=INP_EXPORT)
 
void AddElementInfo (vector< POINT_INFO > &RowInfo)
 Add a row of element information. More...
 
void OutputOrientationsAndElementSets (string Filename)
 Outputs yarn orientations and element sets to .ori and .eld files. More...
 
CTextileMaterialsGetMaterials ()
 

Protected Member Functions

bool CalculateVoxelSizes (CTextile &Textile)
 Calculate voxel size based on number of voxels on each axis and domain size. More...
 
void GetElementMap (CTextile &Textile)
 Creates a map of elements which are within the prism outline. More...
 
void OutputNodes (ostream &Output, CTextile &Textile, int Filetype=INP_EXPORT)
 Outputs nodes to .inp file and gets element information. More...
 
void OutputOrientationsAndElementSets (string Filename, ostream &Output)
 Outputs yarn orientations and element sets to .ori and .eld files. More...
 
void SaveVoxelMeshToVTK (string Filename, CTextile &Textile)
 Add nodes for whole domain. More...
 
void SaveToAbaqus (string Filename, CTextile &Textile, bool bOutputMatrix, bool bOutputYarn, int iBoundaryConditions, int iElementType)
 
void SaveToSCIRun (string Filename, CTextile &Textile)
 Save voxel mesh in SCIRun .pts and .hex format without boundary conditions. More...
 
void OutputMatrixElementSet (string Filename, ostream &Output, int iNumHexElements, bool bMatrixOnly)
 Outputs all elements when only outputting matrix. More...
 
void OutputAllNodesSet (string Filename, ostream &Output)
 Output node set containing all nodes. More...
 
virtual void OutputPeriodicBoundaries (ostream &Output, CTextile &Textile, int iBoundaryConditions, bool bMatrixOnly)
 Output periodic boundary conditions to .inp file. More...
 

Protected Attributes

XYZ m_RotatedVoxSize [3]
 x, y, z lengths of rotated voxels More...
 
XYZ m_StartPoint
 Reference point for generating voxel grid (Point 0 of domain mesh) More...
 
map< pair< int, int >, bool > m_ElementMap
 Map of x,z elements within prism polygon. More...
 
int m_NumElements
 Number of elements in x-z slice which are output. More...
 
CTextileMaterials m_Materials
 
CMesh m_Mesh
 Find intersections of yarn surfaces with grid of lines from node points in each axis. More...
 
int m_XVoxels
 Number of voxels along x,y and z axes. More...
 
int m_YVoxels
 
int m_ZVoxels
 
pair< XYZ, XYZm_DomainAABB
 Domain limits. More...
 
vector< POINT_INFOm_ElementsInfo
 Element information as calculated by GetPointInformation. More...
 
CPeriodicBoundariesm_PeriodicBoundaries
 

Detailed Description

Class used to generate voxel mesh of prism domain for output to ABAQUS.

Definition at line 30 of file PrismVoxelMesh.h.

Constructor & Destructor Documentation

◆ CPrismVoxelMesh()

CPrismVoxelMesh::CPrismVoxelMesh ( string  Type = "CPrismPeriodicBoundaries")

Definition at line 30 of file PrismVoxelMesh.cpp.

◆ ~CPrismVoxelMesh()

CPrismVoxelMesh::~CPrismVoxelMesh ( void  )
virtual

Definition at line 36 of file PrismVoxelMesh.cpp.

Member Function Documentation

◆ AddElementInfo()

void CVoxelMesh::AddElementInfo ( vector< POINT_INFO > &  RowInfo)
inherited

Add a row of element information.

Definition at line 704 of file VoxelMesh.cpp.

References TexGen::CVoxelMesh::m_ElementsInfo.

◆ CalculateVoxelSizes()

bool CPrismVoxelMesh::CalculateVoxelSizes ( CTextile Textile)
protectedvirtual

◆ GetElementMap()

void CPrismVoxelMesh::GetElementMap ( CTextile Textile)
protected

◆ GetMaterials()

CTextileMaterials & TexGen::CVoxelMesh::GetMaterials ( )
inlineinherited

Definition at line 57 of file VoxelMesh.h.

◆ OutputAllNodesSet()

void CVoxelMesh::OutputAllNodesSet ( string  Filename,
ostream &  Output 
)
protectedinherited

Output node set containing all nodes.

Definition at line 584 of file VoxelMesh.cpp.

References TexGen::CVoxelMesh::m_XVoxels, TexGen::CVoxelMesh::m_YVoxels, and TexGen::CVoxelMesh::m_ZVoxels.

Referenced by TexGen::CVoxelMesh::SaveToAbaqus().

◆ OutputHexElements()

int CPrismVoxelMesh::OutputHexElements ( ostream &  Output,
bool  bOutputMatrix,
bool  bOutputYarn,
int  Filetype 
)
virtual

◆ OutputMatrixElementSet()

void CVoxelMesh::OutputMatrixElementSet ( string  Filename,
ostream &  Output,
int  iNumHexElements,
bool  bMatrixOnly 
)
protectedinherited

Outputs all elements when only outputting matrix.

Definition at line 567 of file VoxelMesh.cpp.

Referenced by TexGen::CVoxelMesh::SaveToAbaqus().

◆ OutputNodes()

void CPrismVoxelMesh::OutputNodes ( ostream &  Output,
CTextile Textile,
int  Filetype = INP_EXPORT 
)
protectedvirtual

◆ OutputOrientationsAndElementSets() [1/2]

void CVoxelMesh::OutputOrientationsAndElementSets ( string  Filename)
inherited

Outputs yarn orientations and element sets to .ori and .eld files.

Definition at line 470 of file VoxelMesh.cpp.

References TexGen::AddExtensionIfMissing(), and TexGen::CVoxelMesh::OutputOrientationsAndElementSets().

Referenced by TexGen::CVoxelMesh::OutputOrientationsAndElementSets(), and TexGen::CVoxelMesh::SaveToAbaqus().

◆ OutputOrientationsAndElementSets() [2/2]

void CVoxelMesh::OutputOrientationsAndElementSets ( string  Filename,
ostream &  Output 
)
protectedinherited

◆ OutputPeriodicBoundaries()

void CVoxelMesh::OutputPeriodicBoundaries ( ostream &  Output,
CTextile Textile,
int  iBoundaryConditions,
bool  bMatrixOnly 
)
protectedvirtualinherited

◆ SaveToAbaqus()

void CVoxelMesh::SaveToAbaqus ( string  Filename,
CTextile Textile,
bool  bOutputMatrix,
bool  bOutputYarn,
int  iBoundaryConditions,
int  iElementType 
)
protectedinherited

◆ SaveToSCIRun()

void CVoxelMesh::SaveToSCIRun ( string  Filename,
CTextile Textile 
)
protectedinherited

Save voxel mesh in SCIRun .pts and .hex format without boundary conditions.

Definition at line 358 of file VoxelMesh.cpp.

References TexGen::CVoxelMesh::OutputHexElements(), TexGen::CVoxelMesh::OutputNodes(), TexGen::RemoveExtension(), TexGen::SCIRUN_EXPORT, TGERROR, and TGLOG.

◆ SaveVoxelMesh()

void CVoxelMesh::SaveVoxelMesh ( CTextile Textile,
string  OutputFilename,
int  XVoxNum,
int  YVoxNum,
int  ZVoxNum,
bool  bOutputMatrix,
bool  bOutputYarns,
int  iBoundaryConditions,
int  iElementType = 0,
int  FileType = INP_EXPORT 
)
virtualinherited

Save the voxel mesh as an Abaqus input file with periodic boundary conditions

Parameters
CTextileTextile - textile to be exported as refined voxel mesh
stringOutputFilename - filename to save to
intXVoxNum - number of voxels in x direction
intYVoxNum - number of voxels in y direction
intZVoxNum - number of voxels in z direction
bOutputMatrixTrue to output the matrix area of the mesh
bOutputYarnsTrue to output the yarn areas
iBoundaryConditionsas in enum PERIODIC_BOUNDARY_CONDITIONS
iElementType0 for C3D8R, 1 for C3D8
intFiletype as in enum EXPORT_TYPE

Definition at line 51 of file VoxelMesh.cpp.

References TexGen::CVoxelMesh::CalculateVoxelSizes(), TexGen::CTimer::check(), TexGen::CTextile::GetDomain(), TexGen::INP_EXPORT, TexGen::CVoxelMesh::m_ElementsInfo, TexGen::CVoxelMesh::m_XVoxels, TexGen::CVoxelMesh::m_YVoxels, TexGen::CVoxelMesh::m_ZVoxels, TexGen::ReplaceFilenameSpaces(), TexGen::CVoxelMesh::SaveToAbaqus(), TexGen::CVoxelMesh::SaveVoxelMeshToVTK(), TexGen::CTimer::start(), TexGen::CTimer::stop(), TGERROR, and TGLOG.

Referenced by TexGen::COctreeVoxelMesh::SaveVoxelMesh().

◆ SaveVoxelMeshToVTK()

void CVoxelMesh::SaveVoxelMeshToVTK ( string  Filename,
CTextile Textile 
)
protectedinherited

Member Data Documentation

◆ m_DomainAABB

pair<XYZ, XYZ> TexGen::CVoxelMesh::m_DomainAABB
protectedinherited

◆ m_ElementMap

map<pair<int,int>, bool> TexGen::CPrismVoxelMesh::m_ElementMap
protected

Map of x,z elements within prism polygon.

Definition at line 55 of file PrismVoxelMesh.h.

Referenced by GetElementMap(), OutputHexElements(), and OutputNodes().

◆ m_ElementsInfo

vector<POINT_INFO> TexGen::CVoxelMesh::m_ElementsInfo
protectedinherited

◆ m_Materials

CTextileMaterials TexGen::CVoxelMesh::m_Materials
protectedinherited

Definition at line 60 of file VoxelMesh.h.

Referenced by TexGen::CVoxelMesh::SaveToAbaqus().

◆ m_Mesh

CMesh TexGen::CVoxelMesh::m_Mesh
protectedinherited

Find intersections of yarn surfaces with grid of lines from node points in each axis.

Calculate intersections for one orientation of grid lines Output data with iMaxPerLine elements per line Mesh stored when saving to VTK

Definition at line 112 of file VoxelMesh.h.

Referenced by OutputHexElements(), TexGen::CVoxelMesh::OutputHexElements(), OutputNodes(), TexGen::CRectangularVoxelMesh::OutputNodes(), TexGen::CRotatedVoxelMesh::OutputNodes(), TexGen::CShearedVoxelMesh::OutputNodes(), and TexGen::CVoxelMesh::SaveVoxelMeshToVTK().

◆ m_NumElements

int TexGen::CPrismVoxelMesh::m_NumElements
protected

Number of elements in x-z slice which are output.

Definition at line 58 of file PrismVoxelMesh.h.

Referenced by GetElementMap(), and OutputHexElements().

◆ m_PeriodicBoundaries

CPeriodicBoundaries* TexGen::CVoxelMesh::m_PeriodicBoundaries
protectedinherited

◆ m_RotatedVoxSize

XYZ TexGen::CPrismVoxelMesh::m_RotatedVoxSize[3]
protected

x, y, z lengths of rotated voxels

Definition at line 50 of file PrismVoxelMesh.h.

Referenced by CalculateVoxelSizes(), and OutputNodes().

◆ m_StartPoint

XYZ TexGen::CPrismVoxelMesh::m_StartPoint
protected

Reference point for generating voxel grid (Point 0 of domain mesh)

Definition at line 52 of file PrismVoxelMesh.h.

Referenced by CalculateVoxelSizes(), and OutputNodes().

◆ m_XVoxels

int TexGen::CVoxelMesh::m_XVoxels
protectedinherited

◆ m_YVoxels

int TexGen::CVoxelMesh::m_YVoxels
protectedinherited

◆ m_ZVoxels

int TexGen::CVoxelMesh::m_ZVoxels
protectedinherited

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