ScummVM API documentation
Newton Class Reference
Inheritance diagram for Newton:
dgWorld NewtonDeadBodies NewtonDeadJoints dgTree< dgConstraint *, void *> dgTree< dgBody *, void * > dgCollidingPairCollector dgActiveContacts dgBodyCollisionList dgBodyMaterialList dgBroadPhaseCollision dgBodyMasterList

Public Member Functions

 Newton (dgFloat32 scale, dgMemoryAllocator *const allocator)
 
void DestroyBody (dgBody *body)
 
void DestroyJoint (dgConstraint *joint)
 
void UpdatePhysics (dgFloat32 timestep)
 
- Public Member Functions inherited from dgWorld
 dgWorld (dgMemoryAllocator *const allocator)
 
void SetSolverMode (dgInt32 mode)
 
void SetFrictionMode (dgInt32 mode)
 
void SetHardwareMode (dgInt32 mode)
 
dgInt32 GetHardwareMode (char *description) const
 
void SetThreadsCount (dgInt32 count)
 
dgInt32 GetThreadsCount () const
 
dgInt32 GetMaxThreadsCount () const
 
void EnableThreadOnSingleIsland (dgInt32 mode)
 
dgInt32 GetThreadOnSingleIsland () const
 
void FlushCache ()
 
void * GetUserData () const
 
void SetUserData (void *const userData)
 
void Update (dgFloat32 timestep)
 
void UpdateCollision ()
 
dgInt32 Collide (dgCollision *const collisionA, const dgMatrix &matrixA, dgCollision *const collisionB, const dgMatrix &matrixB, dgTriplex *const points, dgTriplex *const normals, dgFloat32 *const penetration, dgInt32 maxSize, dgInt32 threadIndex)
 
dgInt32 CollideContinue (dgCollision *const collisionA, const dgMatrix &matrixA, const dgVector &velocA, const dgVector &omegaA, dgCollision *const collisionB, const dgMatrix &matrixB, const dgVector &velocB, const dgVector &omegaB, dgFloat32 &timeStep, dgTriplex *const points, dgTriplex *const normals, dgFloat32 *const penetration, dgInt32 maxSize, dgInt32 threadIndex)
 
dgInt32 CollideContinueSimd (dgCollision *const collisionA, const dgMatrix &matrixA, const dgVector &velocA, const dgVector &omegaA, dgCollision *const collisionB, const dgMatrix &matrixB, const dgVector &velocB, const dgVector &omegaB, dgFloat32 &timeStep, dgTriplex *const points, dgTriplex *const normals, dgFloat32 *const penetration, dgInt32 maxSize, dgInt32 threadIndex)
 
dgInt32 ClosestPoint (const dgTriplex &point, dgCollision *const collision, const dgMatrix &matrix, dgTriplex &contact, dgTriplex &normal, dgInt32 threadIndex) const
 
dgInt32 ClosestPoint (dgCollision *const collisionA, const dgMatrix &matrixA, dgCollision *const collisionB, const dgMatrix &matrixB, dgTriplex &contactA, dgTriplex &contactB, dgTriplex &normalAB, dgInt32 threadIndex) const
 
void SetFrictionThreshold (dgFloat32 acceletion)
 
dgBodyGetIslandBody (const void *const island, dgInt32 index) const
 
void SetIslandUpdateCallback (OnIslandUpdate callback)
 
void SetDestroyCollisionCallback (OnDestroyCollision shape)
 
void SetLeavingWorldCallback (OnLeavingWorldAction callback)
 
void SetBodyDestructionByExeciveForce (OnBodyDestructionByExeciveForce callback)
 
dgBodyCreateBody (dgCollision *const collision, const dgMatrix &matrix)
 
void DestroyBody (dgBody *const body)
 
void DestroyAllBodies ()
 
void AddToBreakQueue (const dgContact *const contactJoint, dgBody *const body, dgFloat32 maxForce)
 
void AddBodyImpulse (dgBody *body, const dgVector &pointDeltaVeloc, const dgVector &pointPosit)
 
void ApplyImpulseArray (dgBody *body, dgInt32 count, dgInt32 strideInBytes, const dgFloat32 *const impulseArray, const dgFloat32 *const pointArray)
 
void BodySetMatrix (dgBody *body, const dgMatrix &matrix)
 
dgInt32 GetBodiesCount () const
 
dgInt32 GetConstraintsCount () const
 
dgUnsigned32 GetBoxID () const
 
dgUnsigned32 GetConeID () const
 
dgUnsigned32 GetSphereID () const
 
dgUnsigned32 GetConvexID () const
 
dgUnsigned32 GetEllipseID () const
 
dgUnsigned32 GetCapsuleID () const
 
dgUnsigned32 GetCylinderID () const
 
dgUnsigned32 GetConvexHullID () const
 
dgUnsigned32 GetChamferCylinderID () const
 
dgUnsigned32 GetConvexHullModifierID () const
 
dgUnsigned32 GetPolygonSoupID () const
 
dgUnsigned32 GetSceneID () const
 
dgUnsigned32 GetCompoundCollisionID () const
 
dgCollisionCreateNull ()
 
dgCollisionCreateSphere (dgFloat32 radiusdg, dgInt32 shapeID, const dgMatrix &offsetMatrix=dgGetIdentityMatrix())
 
dgCollisionCreateCone (dgFloat32 radius, dgFloat32 height, dgInt32 shapeID, const dgMatrix &offsetMatrix=dgGetIdentityMatrix())
 
dgCollisionCreateCapsule (dgFloat32 radius, dgFloat32 height, dgInt32 shapeID, const dgMatrix &offsetMatrix=dgGetIdentityMatrix())
 
dgCollisionCreateCylinder (dgFloat32 radius, dgFloat32 height, dgInt32 shapeID, const dgMatrix &offsetMatrix=dgGetIdentityMatrix())
 
dgCollisionCreateBox (dgFloat32 dx, dgFloat32 dy, dgFloat32 dz, dgInt32 shapeID, const dgMatrix &offsetMatrix=dgGetIdentityMatrix())
 
dgCollisionCreateEllipse (dgFloat32 rx, dgFloat32 ry, dgFloat32 rz, dgInt32 shapeID, const dgMatrix &offsetMatrix=dgGetIdentityMatrix())
 
dgCollisionCreateConvexHull (dgInt32 count, const dgFloat32 *vertexArray, dgInt32 strideInBytes, dgFloat32 tolerance, dgInt32 shapeID, const dgMatrix &offsetMatrix=dgGetIdentityMatrix())
 
dgCollisionCreateChamferCylinder (dgFloat32 radius, dgFloat32 height, dgInt32 shapeID, const dgMatrix &offsetMatrix=dgGetIdentityMatrix())
 
dgCollisionCreateConvexModifier (dgCollision *convexCollision)
 
dgCollisionCreateCollisionCompound (dgInt32 count, dgCollision *const array[])
 
dgCollisionCreateCollisionCompoundBreakable (dgInt32 count, dgMeshEffect *const solidArray[], const dgInt32 *const idArray, const dgFloat32 *const densities, const dgInt32 *const internalFaceMaterial, dgInt32 debriID, dgFloat32 gap)
 
dgCollisionCreateBVH ()
 
dgCollisionCreateStaticUserMesh (const dgVector &boxP0, const dgVector &boxP1, const dgUserMeshCreation &data)
 
dgCollisionCreateBVHFieldCollision (dgInt32 width, dgInt32 height, dgInt32 contructionMode, const dgUnsigned16 *const elevationMap, const dgInt8 *const atributeMap, dgFloat32 horizontalScale, dgFloat32 vertcalScale)
 
dgCollisionCreateScene ()
 
void Serialize (const dgCollision *shape, dgSerialize deserialization, void *const userData) const
 
dgCollisionCreateFromSerialization (dgDeserialize deserialization, void *const userData)
 
void RemoveFromCache (dgCollision *const collision)
 
void ReleaseCollision (dgCollision *const collision)
 
dgUpVectorConstraintCreateUpVectorConstraint (const dgVector &pin, dgBody *body)
 
dgBallConstraintCreateBallConstraint (const dgVector &pivot, dgBody *const body0, dgBody *refBody=NULL)
 
dgHingeConstraintCreateHingeConstraint (const dgVector &pivot, const dgVector &pin, dgBody *const body0, dgBody *refBody=NULL)
 
dgSlidingConstraintCreateSlidingConstraint (const dgVector &pivot, const dgVector &pin, dgBody *const body0, dgBody *refBody=NULL)
 
dgCorkscrewConstraintCreateCorkscrewConstraint (const dgVector &pivot, const dgVector &pin, dgBody *const body0, dgBody *refBody=NULL)
 
dgUniversalConstraintCreateUniversalConstraint (const dgVector &pivot, const dgVector &pin0, const dgVector &pin1, dgBody *const body0, dgBody *body1=NULL)
 
void DestroyConstraint (dgConstraint *constraint)
 
dgUnsigned32 CreateBodyGroupID ()
 
void RemoveAllGroupID ()
 
dgUnsigned32 GetDefualtBodyGroupID () const
 
dgContactMaterialGetMaterial (dgUnsigned32 bodyGroupId0, dgUnsigned32 bodyGroupId1) const
 
dgContactMaterialGetFirstMaterial () const
 
dgContactMaterialGetNextMaterial (dgContactMaterial *material) const
 
OnGetPerformanceCountCallback GetPerformaceFuntion () const
 
void SetPerfomanceCounter (OnGetPerformanceCountCallback callback)
 
dgUnsigned32 GetPerfomanceTicks (dgUnsigned32 entry) const
 
dgUnsigned32 GetThreadPerfomanceTicks (dgUnsigned32 threadIndex) const
 
void dgGetUserLock () const
 
void dgReleasedUserLock () const
 
void dgGetIndirectLock (dgInt32 *lockVar)
 
void dgReleaseIndirectLock (dgInt32 *lockVar)
 
dgBodyGetSentinelBody () const
 
dgMemoryAllocatorGetAllocator () const
 
- Public Member Functions inherited from dgBodyMasterList
 dgBodyMasterList (dgMemoryAllocator *const allocator)
 
void AddBody (dgBody *const body)
 
void RemoveBody (dgBody *const body)
 
void RemoveConstraint (dgConstraint *const constraint)
 
void AttachConstraint (dgConstraint *const constraint, dgBody *const body0, dgBody *const body1)
 
dgBodyMasterListRow::dgListNode * FindConstraintLink (const dgBody *const body0, const dgBody *const body1) const
 
dgBodyMasterListRow::dgListNode * FindConstraintLinkNext (const dgBodyMasterListRow::dgListNode *const me, const dgBody *const body) const
 
void SortMasterList ()
 
- Public Member Functions inherited from dgList< dgBodyMasterListRow >
void operator delete (void *const ptr, dgMemoryAllocator *const allocator)
 
void operator delete (void *const ptr)
 
void operator delete[] (void *const ptr, dgMemoryAllocator *const allocator)
 
void operator delete[] (void *const ptr)
 
void * operator new (size_t size, dgMemoryAllocator *const allocator)
 
void * operator new (size_t size)
 
void * operator new[] (size_t size, dgMemoryAllocator *const allocator)
 
void * operator new[] (size_t size)
 
 dgList (dgMemoryAllocator *const allocator)
 
dgMemoryAllocatorGetAllocator () const
 
void SetAllocator (dgMemoryAllocator *const allocator)
 
 operator dgInt32 () const
 
dgInt32 GetCount () const
 
dgListNode * GetLast () const
 
dgListNode * GetFirst () const
 
dgListNode * Append ()
 
dgListNode * Append (dgListNode *const node)
 
dgListNode * Append (const dgBodyMasterListRow &element)
 
dgListNode * Addtop ()
 
dgListNode * Addtop (dgListNode *const node)
 
dgListNode * Addtop (const dgBodyMasterListRow &element)
 
void RotateToEnd (dgListNode *const node)
 
void RotateToBegin (dgListNode *const node)
 
void InsertAfter (dgListNode *const root, dgListNode *const node)
 
void InsertBefore (dgListNode *const root, dgListNode *const node)
 
dgListNode * Find (const dgBodyMasterListRow &element) const
 
dgListNode * GetNodeFromInfo (dgBodyMasterListRow &m_info) const
 
void Remove (dgListNode *const node)
 
void Remove (const dgBodyMasterListRow &element)
 
void RemoveAll ()
 
void Merge (dgList< dgBodyMasterListRow > &list)
 
void Unlink (dgListNode *const node)
 
bool SanityCheck () const
 
- Public Member Functions inherited from dgBroadPhaseCollision
void GetWorldSize (dgVector &p0, dgVector &p1) const
 
void SetWorldSize (const dgVector &min, const dgVector &max)
 
void RayCast (const dgVector &p0, const dgVector &p1, OnRayCastAction filter, OnRayPrecastAction prefilter, void *const userData)
 
dgInt32 ConvexCast (dgCollision *const shape, const dgMatrix &p0, const dgVector &p1, dgFloat32 &timetoImpact, OnRayPrecastAction prefilter, void *const userData, dgConvexCastReturnInfo *const info, dgInt32 maxContacts, dgInt32 threadIndex)
 
void ForEachBodyInAABB (const dgVector &q0, const dgVector &q1, OnBodiesInAABB callback, void *const userData) const
 
- Public Member Functions inherited from dgBodyMaterialList
 dgBodyMaterialList (dgMemoryAllocator *const allocator)
 
- Public Member Functions inherited from dgTree< dgContactMaterial, dgUnsigned32 >
void operator delete (void *const ptr, dgMemoryAllocator *const allocator)
 
void operator delete (void *const ptr)
 
void operator delete[] (void *const ptr, dgMemoryAllocator *const allocator)
 
void operator delete[] (void *const ptr)
 
void * operator new (size_t size, dgMemoryAllocator *const allocator)
 
void * operator new (size_t size)
 
void * operator new[] (size_t size, dgMemoryAllocator *const allocator)
 
void * operator new[] (size_t size)
 
 dgTree (dgMemoryAllocator *const allocator)
 
dgMemoryAllocatorGetAllocator () const
 
void SetAllocator (dgMemoryAllocator *const allocator)
 
 operator dgInt32 () const
 
dgInt32 GetCount () const
 
dgTreeNode * GetRoot () const
 
dgTreeNode * Minimum () const
 
dgTreeNode * Maximum () const
 
dgTreeNode * Find (dgUnsigned32 key) const
 
dgTreeNode * FindGreater (dgUnsigned32 key) const
 
dgTreeNode * FindGreaterEqual (dgUnsigned32 key) const
 
dgTreeNode * FindLessEqual (dgUnsigned32 key) const
 
dgTreeNode * GetNodeFromInfo (dgContactMaterial &info) const
 
dgTreeNode * Insert (const dgContactMaterial &element, dgUnsigned32 key, bool &elementWasInTree)
 
dgTreeNode * Insert (const dgContactMaterial &element, dgUnsigned32 key)
 
dgTreeNode * Insert (dgTreeNode *const node, dgUnsigned32 key)
 
dgTreeNode * Replace (dgContactMaterial &element, dgUnsigned32 key)
 
dgTreeNode * ReplaceKey (dgUnsigned32 oldKey, dgUnsigned32 newKey)
 
dgTreeNode * ReplaceKey (dgTreeNode *const node, dgUnsigned32 key)
 
void Remove (dgUnsigned32 key)
 
void Remove (dgTreeNode *const node)
 
void RemoveAll ()
 
void Unlink (dgTreeNode *const node)
 
void SwapInfo (dgTree &tree)
 
bool SanityCheck () const
 
- Public Member Functions inherited from dgBodyCollisionList
 dgBodyCollisionList (dgMemoryAllocator *const allocator)
 
- Public Member Functions inherited from dgTree< dgCollision *, dgUnsigned32 >
void operator delete (void *const ptr, dgMemoryAllocator *const allocator)
 
void operator delete (void *const ptr)
 
void operator delete[] (void *const ptr, dgMemoryAllocator *const allocator)
 
void operator delete[] (void *const ptr)
 
void * operator new (size_t size, dgMemoryAllocator *const allocator)
 
void * operator new (size_t size)
 
void * operator new[] (size_t size, dgMemoryAllocator *const allocator)
 
void * operator new[] (size_t size)
 
 dgTree (dgMemoryAllocator *const allocator)
 
dgMemoryAllocatorGetAllocator () const
 
void SetAllocator (dgMemoryAllocator *const allocator)
 
 operator dgInt32 () const
 
dgInt32 GetCount () const
 
dgTreeNode * GetRoot () const
 
dgTreeNode * Minimum () const
 
dgTreeNode * Maximum () const
 
dgTreeNode * Find (dgUnsigned32 key) const
 
dgTreeNode * FindGreater (dgUnsigned32 key) const
 
dgTreeNode * FindGreaterEqual (dgUnsigned32 key) const
 
dgTreeNode * FindLessEqual (dgUnsigned32 key) const
 
dgTreeNode * GetNodeFromInfo (dgCollision * &info) const
 
dgTreeNode * Insert (const dgCollision * &element, dgUnsigned32 key, bool &elementWasInTree)
 
dgTreeNode * Insert (const dgCollision * &element, dgUnsigned32 key)
 
dgTreeNode * Insert (dgTreeNode *const node, dgUnsigned32 key)
 
dgTreeNode * Replace (dgCollision * &element, dgUnsigned32 key)
 
dgTreeNode * ReplaceKey (dgUnsigned32 oldKey, dgUnsigned32 newKey)
 
dgTreeNode * ReplaceKey (dgTreeNode *const node, dgUnsigned32 key)
 
void Remove (dgUnsigned32 key)
 
void Remove (dgTreeNode *const node)
 
void RemoveAll ()
 
void Unlink (dgTreeNode *const node)
 
void SwapInfo (dgTree &tree)
 
bool SanityCheck () const
 
- Public Member Functions inherited from dgActiveContacts
 dgActiveContacts (dgMemoryAllocator *const allocator)
 
- Public Member Functions inherited from dgList< dgContact *>
void operator delete (void *const ptr, dgMemoryAllocator *const allocator)
 
void operator delete (void *const ptr)
 
void operator delete[] (void *const ptr, dgMemoryAllocator *const allocator)
 
void operator delete[] (void *const ptr)
 
void * operator new (size_t size, dgMemoryAllocator *const allocator)
 
void * operator new (size_t size)
 
void * operator new[] (size_t size, dgMemoryAllocator *const allocator)
 
void * operator new[] (size_t size)
 
 dgList (dgMemoryAllocator *const allocator)
 
dgMemoryAllocatorGetAllocator () const
 
void SetAllocator (dgMemoryAllocator *const allocator)
 
 operator dgInt32 () const
 
dgInt32 GetCount () const
 
dgListNode * GetLast () const
 
dgListNode * GetFirst () const
 
dgListNode * Append ()
 
dgListNode * Append (dgListNode *const node)
 
dgListNode * Append (const dgContact * &element)
 
dgListNode * Addtop ()
 
dgListNode * Addtop (dgListNode *const node)
 
dgListNode * Addtop (const dgContact * &element)
 
void RotateToEnd (dgListNode *const node)
 
void RotateToBegin (dgListNode *const node)
 
void InsertAfter (dgListNode *const root, dgListNode *const node)
 
void InsertBefore (dgListNode *const root, dgListNode *const node)
 
dgListNode * Find (const dgContact * &element) const
 
dgListNode * GetNodeFromInfo (dgContact * &m_info) const
 
void Remove (dgListNode *const node)
 
void Remove (const dgContact * &element)
 
void RemoveAll ()
 
void Merge (dgList< dgContact * > &list)
 
void Unlink (dgListNode *const node)
 
bool SanityCheck () const
 
- Public Member Functions inherited from dgCollidingPairCollector
void Init ()
 
void SetCaches (dgThreadPairCache *const chaches)
 
void FlushChache (dgThreadPairCache *const chache)
 
void AddPair (dgBody *const body0, dgBody *const body1, dgInt32 threadIndex)
 
- Public Member Functions inherited from NewtonDeadBodies
 NewtonDeadBodies (dgMemoryAllocator *const allocator)
 
void DestroyBodies (Newton &world)
 
- Public Member Functions inherited from dgTree< dgBody *, void * >
void operator delete (void *const ptr, dgMemoryAllocator *const allocator)
 
void operator delete (void *const ptr)
 
void operator delete[] (void *const ptr, dgMemoryAllocator *const allocator)
 
void operator delete[] (void *const ptr)
 
void * operator new (size_t size, dgMemoryAllocator *const allocator)
 
void * operator new (size_t size)
 
void * operator new[] (size_t size, dgMemoryAllocator *const allocator)
 
void * operator new[] (size_t size)
 
 dgTree (dgMemoryAllocator *const allocator)
 
dgMemoryAllocatorGetAllocator () const
 
void SetAllocator (dgMemoryAllocator *const allocator)
 
 operator dgInt32 () const
 
dgInt32 GetCount () const
 
dgTreeNode * GetRoot () const
 
dgTreeNode * Minimum () const
 
dgTreeNode * Maximum () const
 
dgTreeNode * Find (void * key) const
 
dgTreeNode * FindGreater (void * key) const
 
dgTreeNode * FindGreaterEqual (void * key) const
 
dgTreeNode * FindLessEqual (void * key) const
 
dgTreeNode * GetNodeFromInfo (dgBody * &info) const
 
dgTreeNode * Insert (const dgBody * &element, void * key, bool &elementWasInTree)
 
dgTreeNode * Insert (const dgBody * &element, void * key)
 
dgTreeNode * Insert (dgTreeNode *const node, void * key)
 
dgTreeNode * Replace (dgBody * &element, void * key)
 
dgTreeNode * ReplaceKey (void * oldKey, void * newKey)
 
dgTreeNode * ReplaceKey (dgTreeNode *const node, void * key)
 
void Remove (void * key)
 
void Remove (dgTreeNode *const node)
 
void RemoveAll ()
 
void Unlink (dgTreeNode *const node)
 
void SwapInfo (dgTree &tree)
 
bool SanityCheck () const
 
- Public Member Functions inherited from NewtonDeadJoints
 NewtonDeadJoints (dgMemoryAllocator *const allocator)
 
void DestroyJoints (Newton &world)
 
- Public Member Functions inherited from dgTree< dgConstraint *, void *>
void operator delete (void *const ptr, dgMemoryAllocator *const allocator)
 
void operator delete (void *const ptr)
 
void operator delete[] (void *const ptr, dgMemoryAllocator *const allocator)
 
void operator delete[] (void *const ptr)
 
void * operator new (size_t size, dgMemoryAllocator *const allocator)
 
void * operator new (size_t size)
 
void * operator new[] (size_t size, dgMemoryAllocator *const allocator)
 
void * operator new[] (size_t size)
 
 dgTree (dgMemoryAllocator *const allocator)
 
dgMemoryAllocatorGetAllocator () const
 
void SetAllocator (dgMemoryAllocator *const allocator)
 
 operator dgInt32 () const
 
dgInt32 GetCount () const
 
dgTreeNode * GetRoot () const
 
dgTreeNode * Minimum () const
 
dgTreeNode * Maximum () const
 
dgTreeNode * Find (void * key) const
 
dgTreeNode * FindGreater (void * key) const
 
dgTreeNode * FindGreaterEqual (void * key) const
 
dgTreeNode * FindLessEqual (void * key) const
 
dgTreeNode * GetNodeFromInfo (dgConstraint * &info) const
 
dgTreeNode * Insert (const dgConstraint * &element, void * key, bool &elementWasInTree)
 
dgTreeNode * Insert (const dgConstraint * &element, void * key)
 
dgTreeNode * Insert (dgTreeNode *const node, void * key)
 
dgTreeNode * Replace (dgConstraint * &element, void * key)
 
dgTreeNode * ReplaceKey (void * oldKey, void * newKey)
 
dgTreeNode * ReplaceKey (dgTreeNode *const node, void * key)
 
void Remove (void * key)
 
void Remove (dgTreeNode *const node)
 
void RemoveAll ()
 
void Unlink (dgTreeNode *const node)
 
void SwapInfo (dgTree &tree)
 
bool SanityCheck () const
 

Static Public Member Functions

static void * DefaultAllocMemory (dgInt32 size)
 
static void DefaultFreeMemory (void *ptr, dgInt32 size)
 

Public Attributes

dgFloat32 g_maxTimeStep
 
bool m_updating
 
NewtonDestroyWorld m_destructor
 
- Public Attributes inherited from dgBodyMasterList
dgUnsigned32 m_constraintCount
 
- Public Attributes inherited from dgCollidingPairCollector
dgThreadPairCachem_chacheBuffers [DG_MAXIMUN_THREADS]
 
dgPairm_pairs
 
dgInt32 m_count
 
dgInt32 m_maxSize
 
dgBodym_sentinel
 

The documentation for this class was generated from the following file: