Untold Engine  Beta v0.0.16
docs
U4DEngine::U4DBVHCollision Class Reference

The U4DBVHCollision virtual class is in charge of testing collisions in the Broad-Phase stage. More...

Inherited by U4DEngine::U4DBVHModelCollision.

Public Member Functions

 U4DBVHCollision ()
 Constructor for the class.
 
 ~U4DBVHCollision ()
 Destructor for the class.
 
bool collisionBetweenTreeVolume (U4DBVHNode< U4DDynamicAction > *uTreeLeftNode, U4DBVHNode< U4DDynamicAction > *uTreeRightNode)
 Method which tests collision among trees. More...
 
bool descendTreeRule (U4DBVHNode< U4DDynamicAction > *uTreeLeftNode, U4DBVHNode< U4DDynamicAction > *uTreeRightNode)
 Method used for the Tree descend rule. More...
 
virtual void startCollision (std::vector< std::shared_ptr< U4DBVHNode< U4DDynamicAction >>> &uTreeContainer, std::vector< U4DBroadPhaseCollisionModelPair > &uBroadPhaseCollisionPairs)
 Method which starts the broad-phase collision detection process. More...
 
virtual void collision (U4DBVHNode< U4DDynamicAction > *uTreeLeftNode, U4DBVHNode< U4DDynamicAction > *uTreeRightNode, std::vector< U4DBroadPhaseCollisionModelPair > &uBroadPhaseCollisionPairs)
 Method which detects collisions. More...
 
virtual void collisionBetweenTreeLeafNodes (U4DBVHNode< U4DDynamicAction > *uTreeLeftNode, U4DBVHNode< U4DDynamicAction > *uTreeRightNode, std::vector< U4DBroadPhaseCollisionModelPair > &uBroadPhaseCollisionPairs)
 Method which detects broad-phase collision among tree nodes. More...
 
bool shouldModelsCollide (U4DDynamicAction *uAction1, U4DDynamicAction *uAction2)
 Document this.
 

Detailed Description

The U4DBVHCollision virtual class is in charge of testing collisions in the Broad-Phase stage.

Member Function Documentation

◆ collision()

virtual void U4DEngine::U4DBVHCollision::collision ( U4DBVHNode< U4DDynamicAction > *  uTreeLeftNode,
U4DBVHNode< U4DDynamicAction > *  uTreeRightNode,
std::vector< U4DBroadPhaseCollisionModelPair > &  uBroadPhaseCollisionPairs 
)
inlinevirtual

Method which detects collisions.

Parameters
uTreeLeftNodeLeft tree node
uTreeRightNodeRight tree node
uBroadPhaseCollisionPairsContainer holding broad-phase collision pairs

Reimplemented in U4DEngine::U4DBVHModelCollision.

◆ collisionBetweenTreeLeafNodes()

virtual void U4DEngine::U4DBVHCollision::collisionBetweenTreeLeafNodes ( U4DBVHNode< U4DDynamicAction > *  uTreeLeftNode,
U4DBVHNode< U4DDynamicAction > *  uTreeRightNode,
std::vector< U4DBroadPhaseCollisionModelPair > &  uBroadPhaseCollisionPairs 
)
inlinevirtual

Method which detects broad-phase collision among tree nodes.

Parameters
uTreeLeftNodeLeft tree node
uTreeRightNodeRight tree node
uBroadPhaseCollisionPairsContainer holding broad-phase collision pairs

Reimplemented in U4DEngine::U4DBVHModelCollision.

◆ collisionBetweenTreeVolume()

bool U4DEngine::U4DBVHCollision::collisionBetweenTreeVolume ( U4DBVHNode< U4DDynamicAction > *  uTreeLeftNode,
U4DBVHNode< U4DDynamicAction > *  uTreeRightNode 
)

Method which tests collision among trees.

Parameters
uTreeLeftNodeLeft tree node
uTreeRightNodeRight tree node
Returns
Returns true if the trees are colliding

◆ descendTreeRule()

bool U4DEngine::U4DBVHCollision::descendTreeRule ( U4DBVHNode< U4DDynamicAction > *  uTreeLeftNode,
U4DBVHNode< U4DDynamicAction > *  uTreeRightNode 
)

Method used for the Tree descend rule.

Parameters
uTreeLeftNodeLeft tree node
uTreeRightNodeRight tree node
Returns
Returns true if the left node first child is not a null pointer

◆ startCollision()

virtual void U4DEngine::U4DBVHCollision::startCollision ( std::vector< std::shared_ptr< U4DBVHNode< U4DDynamicAction >>> &  uTreeContainer,
std::vector< U4DBroadPhaseCollisionModelPair > &  uBroadPhaseCollisionPairs 
)
inlinevirtual

Method which starts the broad-phase collision detection process.

Parameters
uTreeContainerTree container
uBroadPhaseCollisionPairsContainer holding broad-phase collision pairs

Reimplemented in U4DEngine::U4DBVHModelCollision.