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

Deform the geometry of a textile given a volume mesh. More...

#include <TextileDeformerVolumeMesh.h>

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

Classes

struct  YARN_MESH
 

Public Member Functions

 CTextileDeformerVolumeMesh (void)
 
virtual ~CTextileDeformerVolumeMesh (void)
 
bool SetYarnMeshDisplacements (int iYarn, const CMesh &Mesh, vector< XYZ > &Displacements)
 
virtual void DeformTextile (CTextile &Textile, bool bDeformDomain=true)
 
CTextileGetDeformedCopyOfTextile (CTextile &Textile, bool bDeformDomain=true)
 
const CLinearTransformationGetRepeatVectorDeformation () const
 
void SetRepeatVectorDeformation (CLinearTransformation RepeatDeformation)
 

Protected Member Functions

virtual double GetDisplacement (XYZ Pos, int iYarn, XYZ &Disp) const
 
void GetBarycentricCoordinates (const XYZ &P, const XYZ &P1, const XYZ &P2, const XYZ &P3, const XYZ &P4, double &a, double &b, double &c, double &d) const
 

Protected Attributes

vector< YARN_MESHm_YarnMeshes
 
CLinearTransformation m_RepeatDeformation
 

Detailed Description

Deform the geometry of a textile given a volume mesh.

The idea is that a volume mesh of a textile can be created and used to run a mechanical analysis using a finite element analysis package. The displacements of the nodes calculated by the FE package are read back in with this class. And using these displacements, the textile geometry is deformed.

Definition at line 38 of file TextileDeformerVolumeMesh.h.

Constructor & Destructor Documentation

◆ CTextileDeformerVolumeMesh()

CTextileDeformerVolumeMesh::CTextileDeformerVolumeMesh ( void  )

Definition at line 26 of file TextileDeformerVolumeMesh.cpp.

◆ ~CTextileDeformerVolumeMesh()

CTextileDeformerVolumeMesh::~CTextileDeformerVolumeMesh ( void  )
virtual

Definition at line 30 of file TextileDeformerVolumeMesh.cpp.

Member Function Documentation

◆ DeformTextile()

void CTextileDeformer::DeformTextile ( CTextile Textile,
bool  bDeformDomain = true 
)
virtualinherited

◆ GetBarycentricCoordinates()

void CTextileDeformerVolumeMesh::GetBarycentricCoordinates ( const XYZ P,
const XYZ P1,
const XYZ P2,
const XYZ P3,
const XYZ P4,
double &  a,
double &  b,
double &  c,
double &  d 
) const
protected

Definition at line 98 of file TextileDeformerVolumeMesh.cpp.

References TexGen::XYZ::x, TexGen::XYZ::y, and TexGen::XYZ::z.

Referenced by GetDisplacement().

◆ GetDeformedCopyOfTextile()

CTextile * CTextileDeformer::GetDeformedCopyOfTextile ( CTextile Textile,
bool  bDeformDomain = true 
)
inherited

◆ GetDisplacement()

double CTextileDeformerVolumeMesh::GetDisplacement ( XYZ  Pos,
int  iYarn,
XYZ Disp 
) const
protectedvirtual

Get the displacement of a given point

Parameters
PosThe position of which the displacement is requested
iYarnThe yarn number for which the displacement is requested this is necessary because sometimes yarns may overlap and the yarns may have different displacements at the same point in space
DispThe displacement value should be filled in here by the function
Returns
Should give an idea of how accurate the displacement value is, a value higher than 0 is considered to be very accurate if the value is less then it may represent an extrapolated estimate. This function may be called several times for the same point but offset by different repeat vectors and the displacement with highest value will be chosen.

Implements TexGen::CTextileDeformer.

Definition at line 57 of file TextileDeformerVolumeMesh.cpp.

References GetBarycentricCoordinates(), TexGen::CMesh::GetIndices(), TexGen::CMesh::GetNode(), m_YarnMeshes, and TexGen::CMesh::TET.

◆ GetRepeatVectorDeformation()

const CLinearTransformation & TexGen::CTextileDeformer::GetRepeatVectorDeformation ( ) const
inlineinherited

Definition at line 46 of file TextileDeformer.h.

◆ SetRepeatVectorDeformation()

void TexGen::CTextileDeformer::SetRepeatVectorDeformation ( CLinearTransformation  RepeatDeformation)
inlineinherited

Definition at line 47 of file TextileDeformer.h.

◆ SetYarnMeshDisplacements()

bool CTextileDeformerVolumeMesh::SetYarnMeshDisplacements ( int  iYarn,
const CMesh Mesh,
vector< XYZ > &  Displacements 
)

Definition at line 34 of file TextileDeformerVolumeMesh.cpp.

References TexGen::CMesh::GetNodes(), m_YarnMeshes, and TGERROR.

Member Data Documentation

◆ m_RepeatDeformation

CLinearTransformation TexGen::CTextileDeformer::m_RepeatDeformation
protectedinherited

◆ m_YarnMeshes

vector<YARN_MESH> TexGen::CTextileDeformerVolumeMesh::m_YarnMeshes
protected

Definition at line 56 of file TextileDeformerVolumeMesh.h.

Referenced by GetDisplacement(), and SetYarnMeshDisplacements().


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