org.ode4j.ode
Interface DTriMesh

All Superinterfaces:
DGeom

public interface DTriMesh
extends DGeom

TriMesh code by Erwin de Vries. Trimesh data. This is where the actual vertexdata (pointers), and BV tree is stored. Vertices should be single precision! This should be more sophisticated, so that the user can easily implement another collision library, but this is a lot of work, and also costs some performance because some data has to be copied.


Nested Class Summary
static interface DTriMesh.DTriArrayCallback
          Per object callback.
static interface DTriMesh.DTriCallback
          Per triangle callback.
static interface DTriMesh.DTriRayCallback
          Ray callback.
static interface DTriMesh.DTriTriMergeCallback
          Triangle merging callback.
 
Nested classes/interfaces inherited from interface org.ode4j.ode.DGeom
DGeom.COLLIDER_MERGE_CONTACTS_VALUE, DGeom.CONTROL_CLASS, DGeom.CONTROL_CODE, DGeom.DataValue, DGeom.DNearCallback
 
Field Summary
 
Fields inherited from interface org.ode4j.ode.DGeom
dBoxClass, dCapsuleClass, dConvexClass, dCylinderClass, dFirstSpaceClass, dFirstUserClass, dGeomNumClasses, dGeomTransformClass, dHashSpaceClass, dHeightfieldClass, dLastSpaceClass, dLastUserClass, dMaxUserClasses, dPlaneClass, dQuadTreeSpaceClass, dRayClass, dSimpleSpaceClass, dSphereClass, dSweepAndPruneSpaceClass, dTriMeshClass
 
Method Summary
 void clearTCCache(DTriMesh g)
          Clears the internal temporal coherence caches.
 void enableTC(java.lang.Class<? extends DGeom> cls, boolean b)
          Enable/disable temporal coherence.
 DTriMesh.DTriTriMergeCallback getTriMergeCallback()
           
 boolean isTCEnabled(java.lang.Class<? extends DGeom> cls)
          Check temporal coherence.
 void setTriMergeCallback(DTriMesh.DTriTriMergeCallback Callback)
           
 
Methods inherited from interface org.ode4j.ode.DGeom
clearOffset, collide2, copyOffsetPosition, copyOffsetRotation, copyPosition, copyRotation, destroy, DESTRUCTOR, disable, enable, getAABB, getBody, getCategoryBits, getClassID, getCollideBits, getData, getOffsetPosition, getOffsetQuaternion, getOffsetRotation, getPosition, getPosRelPoint, getQuaternion, getRelPointPos, getRotation, getSpace, isEnabled, isOffset, lowLevelControl, setBody, setCategoryBits, setCollideBits, setData, setOffsetPosition, setOffsetQuaternion, setOffsetRotation, setOffsetWorldPosition, setOffsetWorldQuaternion, setOffsetWorldRotation, setPosition, setPosition, setQuaternion, setRotation, vectorFromWorld, vectorToWorld
 

Method Detail

setTriMergeCallback

void setTriMergeCallback(DTriMesh.DTriTriMergeCallback Callback)

getTriMergeCallback

DTriMesh.DTriTriMergeCallback getTriMergeCallback()

enableTC

void enableTC(java.lang.Class<? extends DGeom> cls,
              boolean b)
Enable/disable temporal coherence.


isTCEnabled

boolean isTCEnabled(java.lang.Class<? extends DGeom> cls)
Check temporal coherence.


clearTCCache

void clearTCCache(DTriMesh g)
Clears the internal temporal coherence caches. When a geom has its collision checked with a trimesh once, data is stored inside the trimesh. With large worlds with lots of seperate objects this list could get huge. We should be able to do this automagically.