104 #ifdef __MESHMERIZER_H__ // Collision hulls only supported within ICE ! 106 #endif // __MESHMERIZER_H__ 127 #ifdef __MESHMERIZER_H__ // Collision hulls only supported within ICE ! 129 #endif // __MESHMERIZER_H__ 149 if(NbDegenerate)
Log(
"OPCODE WARNING: found %d degenerate faces in model! Collision might report wrong results!\n", NbDegenerate);
191 #ifdef __MESHMERIZER_H__ 193 if(create.mCollisionHull)
196 mHull =
new CollisionHull;
199 CONVEXHULLCREATE CHC;
203 CHC.UnifyNormals =
true;
204 CHC.ReduceVertices =
true;
205 CHC.WordFaces =
false;
208 #endif // __MESHMERIZER_H__ virtual udword GetUsedBytes() const =0
virtual udword GetUsedBytes() const =0
bool mKeepOriginal
true => keep a copy of the original tree (debug purpose)
#define null
our own NULL pointer
AABBTree * mSource
Original source tree.
inline_ const Point * GetVerts() const
virtual bool Build(const OPCODECREATE &create)=0
inline_ void SetMeshInterface(const MeshInterface *imesh)
#define SetIceError(a, b)
bool Build(AABBTreeBuilder *builder)
Model creation structure.
bool mQuantized
true => quantize the tree (else use a normal tree)
inline_ udword GetNbVertices() const
unsigned int udword
sizeof(udword) must be 4
#define DELETESINGLE(x)
Deletes an instance of a class.
udword mNbPrimitives
Total number of primitives.
virtual bool Build(AABBTree *tree)=0
udword CheckTopology() const
bool mNoLeaf
true => discard leaf nodes (else use a normal tree)
AABBOptimizedTree * mTree
Optimized tree owned by the model.
udword mLimit
Limit number of primitives / node. If limit is 1, build a complete tree (2*N-1 nodes) ...
inline_ udword GetNbTriangles() const
MeshInterface * mIMesh
Mesh interface (access to triangles & vertices) (*)
const MeshInterface * mIMesh
Shortcut to an app-controlled mesh interface.
static BodyCustomizerHandle create(BodyHandle bodyHandle, const char *modelName)
bool CreateTree(bool no_leaf, bool quantized)
BuildSettings mSettings
Builder's settings.
BuildSettings mSettings
Splitting rules & split limit [Opcode 1.3].