MeshFit

Engine/source/ts/tsMeshFit.cpp

More...

Classes:

Public Types

enum
eMeshType {
  Box = 0
  Sphere 
  Capsule 
  Hull 
}

Private Attributes

!< Source geometry verts (all meshes)

bool

!< Source geometry indices (triangle lists, all meshes)

!< Flag indicating whether we are ready to fit/create meshes

!< Source geometry shape

Private Functions

!< Fitted meshes

createTriMesh(F32 * verts, S32 numVerts, U32 * indices, S32 numTris)

Public Functions

MeshFit(TSShape * shape)
addCapsule(F32 radius, F32 height, const MatrixF & mat)
addSphere(F32 radius, const Point3F & center)
fitConvexHulls(U32 depth, F32 mergeThreshold, F32 concavityThreshold, U32 maxHullVerts, F32 boxMaxError, F32 sphereMaxError, F32 capsuleMaxError)
Mesh *
getMesh(S32 index)
bool

Detailed Description

Public Types

eMeshType

Enumerator

Box = 0
Sphere
Capsule
Hull

Private Attributes

Vector< U32 > mIndices 

!< Source geometry verts (all meshes)

bool mIsReady 

!< Source geometry indices (triangle lists, all meshes)

Vector< Mesh > mMeshes 

!< Flag indicating whether we are ready to fit/create meshes

TSShape * mShape 
Vector< Point3F > mVerts 

!< Source geometry shape

Private Functions

addSourceMesh(const TSShape::Object & obj, const TSMesh * mesh)

!< Fitted meshes

createTriMesh(F32 * verts, S32 numVerts, U32 * indices, S32 numTris)

fitK_DOP(const Vector< Point3F > & planes)

initMeshFromFile(const String & filename)

maxDot(const VectorF & v)

Public Functions

MeshFit(TSShape * shape)

addBox(const Point3F & sides, const MatrixF & mat)

addCapsule(F32 radius, F32 height, const MatrixF & mat)

addSphere(F32 radius, const Point3F & center)

fit10_DOP_X()

fit10_DOP_Y()

fit10_DOP_Z()

fit18_DOP()

fit26_DOP()

fitCapsule()

fitConvexHulls(U32 depth, F32 mergeThreshold, F32 concavityThreshold, U32 maxHullVerts, F32 boxMaxError, F32 sphereMaxError, F32 capsuleMaxError)

fitOBB()

fitSphere()

getMesh(S32 index)

getMeshCount()

initSourceGeometry(const String & target)

isReady()

setReady()