BulletPersistentManifold (object)¶
BulletPersistentManifold is a contact point cache, it stays persistent as long as objects are overlapping in the broadphase. Those contact points are created by the collision narrow phase. The cache can be empty, or hold 1,2,3 or 4 points. Some collision algorithms (GJK) might only add one point at a time. updates/refreshes old contact points, and throw them away if necessary (distance becomes too large) reduces the cache to 4 points, when more then 4 points are added, using following rules: the contact point with deepest penetration is always kept, and it tries to maximuze the area covered by the points note that some pairs of objects might have more then one contact manifold.
Methods¶
BulletPersistentManifold ( in BulletPersistentManifold other ) | |
BulletPersistentManifold () | |
Integer | addManifoldPoint ? ( in BulletManifoldPoint newPoint ) |
clearManifold ! () | |
BulletPersistentManifold | clone ? () |
Integer | getCacheEntry ? ( in BulletManifoldPoint newPoint ) |
Scalar | getContactBreakingThreshold ? () |
BulletManifoldPoint | getContactPoint ? ( in Integer index ) |
Scalar | getContactProcessingThreshold ? () |
Integer | getNumContacts ? () |
Data | getPointer ? () |
refreshContactPoints ! ( in Xfo trA, in Xfo trB ) | |
removeContactPoint ! ( in Integer index ) | |
replaceContactPoint ! ( in BulletManifoldPoint newPoint, in Integer insertIndex ) | |
Boolean | validContactDistance ? ( in BulletManifoldPoint pt ) |
Methods in detail¶
BulletPersistentManifold ( in BulletPersistentManifold other )
copy constructor
default constructor
Integer BulletPersistentManifold.addManifoldPoint? ( in BulletManifoldPoint newPoint )
BulletPersistentManifold.clearManifold! ()
BulletPersistentManifold BulletPersistentManifold.clone? ()
clone method
Integer BulletPersistentManifold.getCacheEntry? ( in BulletManifoldPoint newPoint )
Scalar BulletPersistentManifold.getContactBreakingThreshold? ()
@todo: get this margin from the current physics / collision environment
BulletManifoldPoint BulletPersistentManifold.getContactPoint? ( in Integer index )
Scalar BulletPersistentManifold.getContactProcessingThreshold? ()
Integer BulletPersistentManifold.getNumContacts? ()
Data BulletPersistentManifold.getPointer? ()
BulletPersistentManifold.refreshContactPoints! ( in Xfo trA, in Xfo trB )
calculated new worldspace coordinates and depth, and reject points that exceed the collision margin
BulletPersistentManifold.removeContactPoint! ( in Integer index )
BulletPersistentManifold.replaceContactPoint! ( in BulletManifoldPoint newPoint, in Integer insertIndex )
Boolean BulletPersistentManifold.validContactDistance? ( in BulletManifoldPoint pt )