Class TetModel

Nested Relationships

Class Documentation

class TetModel

Public Types

typedef Utilities::IndexedFaceMesh SurfaceMesh
typedef Utilities::IndexedTetMesh ParticleMesh

Public Functions

TetModel()
virtual ~TetModel()
inline Vector3r &getInitialX()
inline void setInitialX(const Vector3r &val)
inline Matrix3r &getInitialR()
inline void setInitialR(const Matrix3r &val)
inline Vector3r &getInitialScale()
inline void setInitialScale(const Vector3r &val)
SurfaceMesh &getSurfaceMesh()
VertexData &getVisVertices()
SurfaceMesh &getVisMesh()
inline ParticleMesh &getParticleMesh()
inline const ParticleMesh &getParticleMesh() const
void cleanupModel()
unsigned int getIndexOffset() const
void initMesh(const unsigned int nPoints, const unsigned int nTets, const unsigned int indexOffset, unsigned int *indices)
void updateMeshNormals(const ParticleData &pd)
void attachVisMesh(const ParticleData &pd)

Attach a visualization mesh to the surface of the body. Important: The vertex normals have to be updated before calling this function by calling updateMeshNormals().

void updateVisMesh(const ParticleData &pd)

Update the visualization mesh of the body. Important: The vertex normals have to be updated before calling this function by calling updateMeshNormals().

inline FORCE_INLINE Real getRestitutionCoeff () const
inline FORCE_INLINE void setRestitutionCoeff (Real val)
inline FORCE_INLINE Real getFrictionCoeff () const
inline FORCE_INLINE void setFrictionCoeff (Real val)

Protected Functions

void createSurfaceMesh()
void solveQuadraticForZero(const Vector3r &F, const Vector3r &Fu, const Vector3r &Fv, const Vector3r &Fuu, const Vector3r &Fuv, const Vector3r &Fvv, Real &u, Real &v)
bool pointInTriangle(const Vector3r &p0, const Vector3r &p1, const Vector3r &p2, const Vector3r &p, Vector3r &inter, Vector3r &bary)

Protected Attributes

unsigned int m_indexOffset

offset which must be added to get the correct index in the particles array

ParticleMesh m_particleMesh

Tet mesh of particles which represents the simulation model

SurfaceMesh m_surfaceMesh
VertexData m_visVertices
SurfaceMesh m_visMesh
Real m_restitutionCoeff
Real m_frictionCoeff
std::vector<Attachment> m_attachments
Vector3r m_initialX
Matrix3r m_initialR
Vector3r m_initialScale
struct Attachment

Public Members

unsigned int m_index
unsigned int m_triIndex
Real m_bary[3]
Real m_dist
Real m_minError