My Project: dgBroadPhase Class Reference

My Project

Classes | Public Types | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Friends | List of all members
dgBroadPhase Class Reference

`#include <dgBroadPhase.h>`

## Classes

class | dgFitnessList
class | dgNode
class | dgSpliteInfo

## Public Types

enum | dgType { m_generic = 0, m_persistent }

## Public Member Functions

| DG_CLASS_ALLOCATOR (allocator)
| dgBroadPhase (dgWorld *const world)
virtual | ~dgBroadPhase ()
dgUnsigned32 | GetLRU () const
void | GetWorldSize (dgVector &p0, dgVector &p1) const
void | RayCast (const dgVector &p0, const dgVector &p1, OnRayCastAction filter, OnRayPrecastAction prefilter, void *const userData) const
void | ConvexRayCast (dgCollisionInstance *const shape, const dgMatrix &matrx, const dgVector &p1, OnRayCastAction filter, OnRayPrecastAction prefilter, void *const userData, dgInt32 threadId) const
dgInt32 | ConvexCast (dgCollisionInstance *const shape, const dgMatrix &p0, const dgVector &p1, dgFloat32 &timetoImpact, OnRayPrecastAction prefilter, void *const userData, dgConvexCastReturnInfo *const info, dgInt32 maxContacts, dgInt32 threadIndex) const
void | ForEachBodyInAABB (const dgVector &q0, const dgVector &q1, OnBodiesInAABB callback, void *const userData) const
dgInt32 | GetBroadPhaseType () const
void | SelectBroadPhaseType (dgInt32 algorthmType)
void | ResetEntropy ()

## Protected Member Functions

void | Add (dgBody *const body)
void | Remove (dgBody *const body)
void | InvalidateCache ()
void | UpdateContacts (dgFloat32 timestep)
void | AddInternallyGeneratedBody (dgBody *const body)
void | UpdateBodyBroadphase (dgBody *const body, dgInt32 threadIndex)
void | ImproveFitness ()
void | ImproveNodeFitness (dgNode *const node)
dgNode * | InsertNode (dgNode *const node)
dgFloat32 | CalculateSurfaceArea (const dgNode *const node0, const dgNode *const node1, dgVector &minBox, dgVector &maxBox) const
void | AddPair (dgBody *const body0, dgBody *const body1, const dgVector &timestep2, dgInt32 threadID)
void | UpdateContactsBroadPhaseEnd ()
void | ApplyForceAndtorque (dgBroadphaseSyncDescriptor *const desctiptor, dgInt32 threadID)
void | ApplyDeformableForceAndtorque (dgBroadphaseSyncDescriptor *const desctiptor, dgInt32 threadID)
void | CalculatePairContacts (dgBroadphaseSyncDescriptor *const descriptor, dgInt32 threadID)
dgNode * | BuildTopDown (dgNode **const leafArray, dgInt32 firstBox, dgInt32 lastBox, dgFitnessList::dgListNode **const nextNode)
void | FindCollidingPairsGeneric (dgBroadphaseSyncDescriptor *const desctiptor, dgInt32 threadID)
void | FindCollidingPairsPersistent (dgBroadphaseSyncDescriptor *const desctiptor, dgInt32 threadID)
void | SubmitPairsPersistent (dgNode *const body, dgNode *const node, const dgVector &timeStepBound, dgInt32 threadID)
void | FindGeneratedBodiesCollidingPairs (dgBroadphaseSyncDescriptor *const desctiptor, dgInt32 threadID)
void | KinematicBodyActivation (dgContact *const contatJoint) const
bool | TestOverlaping (const dgBody *const body0, const dgBody *const body1) const
dgFloat64 | CalculateEmptropy ()

## Static Protected Member Functions

static void | ForceAndToqueKernel (void *const descriptor, void *const worldContext, dgInt32 threadID)
static void | CollidingPairsKernel (void *const descriptor, void *const worldContext, dgInt32 threadID)
static void | UpdateContactsKernel (void *const descriptor, void *const worldContext, dgInt32 threadID)
static void | AddGeneratedBodyesContactsKernel (void *const descriptor, void *const worldContext, dgInt32 threadID)

## Protected Attributes

dgWorld * | m_world
dgNode * | m_rootNode
dgFloat64 | m_treeEntropy
dgUnsigned32 | m_lru
dgFitnessList | m_fitness
dgList< dgBody * > | m_generatedBodies
dgType | m_broadPhaseType
dgThread::dgCriticalSection | m_contacJointLock
dgThread::dgCriticalSection | m_criticalSectionLock
bool | m_recursiveChunks

## Static Protected Attributes

static dgVector | m_conservativeRotAngle

## Friends

class | dgBody
class | dgWorld
class | dgWorldDynamicUpdate
class | dgCollisionCompoundFractured

## Member Enumeration Documentation

## § dgType

enum dgBroadPhase::dgType

Enumerator
m_generic |
m_persistent |

## Constructor & Destructor Documentation

## § dgBroadPhase()

dgBroadPhase::dgBroadPhase | ( | dgWorld *const | world | ) |

## § ~dgBroadPhase()

dgBroadPhase::~dgBroadPhase | ( |  | ) |

virtual

## Member Function Documentation

## § Add()

void dgBroadPhase::Add | ( | dgBody *const | body | ) |

protected

## § AddGeneratedBodyesContactsKernel()

void dgBroadPhase::AddGeneratedBodyesContactsKernel | ( | void *const | descriptor,
|  | void *const | worldContext,
|  | dgInt32 | threadID
| ) |  |

staticprotected

## § AddInternallyGeneratedBody()

void dgBroadPhase::AddInternallyGeneratedBody | ( | dgBody *const | body | ) |

protected

## § AddPair()

void dgBroadPhase::AddPair | ( | dgBody *const | body0,
|  | dgBody *const | body1,
|  | const dgVector & | timestep2,
|  | dgInt32 | threadID
| ) |  |

protected

## § ApplyDeformableForceAndtorque()

void dgBroadPhase::ApplyDeformableForceAndtorque | ( | dgBroadphaseSyncDescriptor *const | desctiptor,
|  | dgInt32 | threadID
| ) |  |

protected

## § ApplyForceAndtorque()

void dgBroadPhase::ApplyForceAndtorque | ( | dgBroadphaseSyncDescriptor *const | desctiptor,
|  | dgInt32 | threadID
| ) |  |

protected

## § BuildTopDown()

dgBroadPhase::dgNode * dgBroadPhase::BuildTopDown | ( | dgNode **const | leafArray,
|  | dgInt32 | firstBox,
|  | dgInt32 | lastBox,
|  | dgFitnessList::dgListNode **const | nextNode
| ) |  |

protected

## § CalculateEmptropy()

dgFloat64 dgBroadPhase::CalculateEmptropy | ( |  | ) |

protected

## § CalculatePairContacts()

void dgBroadPhase::CalculatePairContacts | ( | dgBroadphaseSyncDescriptor *const | descriptor,
|  | dgInt32 | threadID
| ) |  |

protected

## § CalculateSurfaceArea()

DG_INLINE dgFloat32 dgBroadPhase::CalculateSurfaceArea | ( | const dgNode *const | node0,
|  | const dgNode *const | node1,
|  | dgVector & | minBox,
|  | dgVector & | maxBox
| ) |  | const

protected

## § CollidingPairsKernel()

void dgBroadPhase::CollidingPairsKernel | ( | void *const | descriptor,
|  | void *const | worldContext,
|  | dgInt32 | threadID
| ) |  |

staticprotected

## § ConvexCast()

dgInt32 dgBroadPhase::ConvexCast | ( | dgCollisionInstance *const | shape,
|  | const dgMatrix & | p0,
|  | const dgVector & | p1,
|  | dgFloat32 & | timetoImpact,
|  | OnRayPrecastAction | prefilter,
|  | void *const | userData,
|  | dgConvexCastReturnInfo *const | info,
|  | dgInt32 | maxContacts,
|  | dgInt32 | threadIndex
| ) |  | const

## § ConvexRayCast()

void dgBroadPhase::ConvexRayCast | ( | dgCollisionInstance *const | shape,
|  | const dgMatrix & | matrx,
|  | const dgVector & | p1,
|  | OnRayCastAction | filter,
|  | OnRayPrecastAction | prefilter,
|  | void *const | userData,
|  | dgInt32 | threadId
| ) |  | const

## § DG_CLASS_ALLOCATOR()

dgBroadPhase::DG_CLASS_ALLOCATOR | ( | allocator |  | ) |

## § FindCollidingPairsGeneric()

void dgBroadPhase::FindCollidingPairsGeneric | ( | dgBroadphaseSyncDescriptor *const | desctiptor,
|  | dgInt32 | threadID
| ) |  |

protected

## § FindCollidingPairsPersistent()

void dgBroadPhase::FindCollidingPairsPersistent | ( | dgBroadphaseSyncDescriptor *const | desctiptor,
|  | dgInt32 | threadID
| ) |  |

protected

## § FindGeneratedBodiesCollidingPairs()

void dgBroadPhase::FindGeneratedBodiesCollidingPairs | ( | dgBroadphaseSyncDescriptor *const | desctiptor,
|  | dgInt32 | threadID
| ) |  |

protected

## § ForceAndToqueKernel()

void dgBroadPhase::ForceAndToqueKernel | ( | void *const | descriptor,
|  | void *const | worldContext,
|  | dgInt32 | threadID
| ) |  |

staticprotected

## § ForEachBodyInAABB()

void dgBroadPhase::ForEachBodyInAABB | ( | const dgVector & | q0,
|  | const dgVector & | q1,
|  | OnBodiesInAABB | callback,
|  | void *const | userData
| ) |  | const

## § GetBroadPhaseType()

dgInt32 dgBroadPhase::GetBroadPhaseType | ( |  | ) | const

## § GetLRU()

dgUnsigned32 dgBroadPhase::GetLRU | ( |  | ) | const

## § GetWorldSize()

void dgBroadPhase::GetWorldSize | ( | dgVector & | p0,
|  | dgVector & | p1
| ) |  | const

## § ImproveFitness()

void dgBroadPhase::ImproveFitness | ( |  | ) |

protected

## § ImproveNodeFitness()

void dgBroadPhase::ImproveNodeFitness | ( | dgNode *const | node | ) |

protected

## § InsertNode()

dgBroadPhase::dgNode * dgBroadPhase::InsertNode | ( | dgNode *const | node | ) |

protected

## § InvalidateCache()

void dgBroadPhase::InvalidateCache | ( |  | ) |

protected

## § KinematicBodyActivation()

void dgBroadPhase::KinematicBodyActivation | ( | dgContact *const | contatJoint | ) | const

protected

## § RayCast()

void dgBroadPhase::RayCast | ( | const dgVector & | p0,
|  | const dgVector & | p1,
|  | OnRayCastAction | filter,
|  | OnRayPrecastAction | prefilter,
|  | void *const | userData
| ) |  | const

## § Remove()

void dgBroadPhase::Remove | ( | dgBody *const | body | ) |

protected

## § ResetEntropy()

void dgBroadPhase::ResetEntropy | ( |  | ) |

## § SelectBroadPhaseType()

void dgBroadPhase::SelectBroadPhaseType | ( | dgInt32 | algorthmType | ) |

## § SubmitPairsPersistent()

void dgBroadPhase::SubmitPairsPersistent | ( | dgNode *const | body,
|  | dgNode *const | node,
|  | const dgVector & | timeStepBound,
|  | dgInt32 | threadID
| ) |  |

protected

## § TestOverlaping()

bool dgBroadPhase::TestOverlaping | ( | const dgBody *const | body0,
|  | const dgBody *const | body1
| ) |  | const

protected

## § UpdateBodyBroadphase()

void dgBroadPhase::UpdateBodyBroadphase | ( | dgBody *const | body,
|  | dgInt32 | threadIndex
| ) |  |

protected

## § UpdateContacts()

void dgBroadPhase::UpdateContacts | ( | dgFloat32 | timestep | ) |

protected

## § UpdateContactsBroadPhaseEnd()

void dgBroadPhase::UpdateContactsBroadPhaseEnd | ( |  | ) |

protected

## § UpdateContactsKernel()

void dgBroadPhase::UpdateContactsKernel | ( | void *const | descriptor,
|  | void *const | worldContext,
|  | dgInt32 | threadID
| ) |  |

staticprotected

## Friends And Related Function Documentation

## § dgBody

friend class dgBody

friend

## § dgCollisionCompoundFractured

friend class dgCollisionCompoundFractured

friend

## § dgWorld

friend class dgWorld

friend

## § dgWorldDynamicUpdate

friend class dgWorldDynamicUpdate

friend

## Member Data Documentation

## § m_broadPhaseType

dgType dgBroadPhase::m_broadPhaseType

protected

## § m_conservativeRotAngle

dgVector dgBroadPhase::m_conservativeRotAngle

staticprotected

## § m_contacJointLock

dgThread::dgCriticalSection dgBroadPhase::m_contacJointLock

protected

## § m_criticalSectionLock

dgThread::dgCriticalSection dgBroadPhase::m_criticalSectionLock

protected

## § m_fitness

dgFitnessList dgBroadPhase::m_fitness

protected

## § m_generatedBodies

dgList<dgBody*> dgBroadPhase::m_generatedBodies

protected

## § m_lru

dgUnsigned32 dgBroadPhase::m_lru

protected

## § m_recursiveChunks

bool dgBroadPhase::m_recursiveChunks

protected

## § m_rootNode

dgNode* dgBroadPhase::m_rootNode

protected

## § m_treeEntropy

dgFloat64 dgBroadPhase::m_treeEntropy

protected

## § m_world

dgWorld* dgBroadPhase::m_world

protected

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

- dynamics.mod/NewtonDynamics/source/physics/dgBroadPhase.h
- dynamics.mod/NewtonDynamics/source/physics/dgBroadPhase.cpp