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

Inherits U4DEngine::U4DManifoldGeneration.

Public Member Functions

void determineCollisionManifold (U4DDynamicModel *uModel1, U4DDynamicModel *uModel2, std::vector< SIMPLEXDATA > uQ, COLLISIONMANIFOLDONODE &uCollisionManifoldNode)
 
void verifySimplexStructForEPA (U4DBoundingVolume *uBoundingVolume1, U4DBoundingVolume *uBoundingVolume2, std::vector< SIMPLEXDATA > &uQ)
 
bool constructSimplexStructForSegment (U4DBoundingVolume *uBoundingVolume1, U4DBoundingVolume *uBoundingVolume2, std::vector< SIMPLEXDATA > &uQ)
 
bool constructSimplexStructForTriangle (U4DBoundingVolume *uBoundingVolume1, U4DBoundingVolume *uBoundingVolume2, std::vector< SIMPLEXDATA > &uQ)
 
bool determineContactManifold (U4DDynamicModel *uModel1, U4DDynamicModel *uModel2, std::vector< SIMPLEXDATA > uQ, COLLISIONMANIFOLDONODE &uCollisionManifoldNode)
 
- Public Member Functions inherited from U4DEngine::U4DManifoldGeneration
 U4DManifoldGeneration ()
 Constructor for the class.
 
 ~U4DManifoldGeneration ()
 Destructor for the class.
 
virtual void determineCollisionManifold (U4DDynamicAction *uAction1, U4DDynamicAction *uAction2, std::vector< SIMPLEXDATA > uQ, COLLISIONMANIFOLDONODE &uCollisionManifoldNode)
 Method which determines the collision manifold. It computes the collision planes. More...
 
virtual bool determineContactManifold (U4DDynamicAction *uAction1, U4DDynamicAction *uAction2, std::vector< SIMPLEXDATA > uQ, COLLISIONMANIFOLDONODE &uCollisionManifoldNode)
 Method which determines the collision contact manifold. It retrieves the collision contact points of the collision. More...
 
- Public Member Functions inherited from U4DEngine::U4DCollisionDetection
 U4DCollisionDetection ()
 Constructor for class.
 
virtual ~U4DCollisionDetection ()
 Destructor for class.
 
virtual bool collision (U4DDynamicAction *uAction1, U4DDynamicAction *uAction2, float dt)
 Method with returns true if a collision between two 3D entities have occurred. More...
 
virtual void determineCollisionManifold (U4DDynamicAction *uAction1, U4DDynamicAction *uAction2, std::vector< SIMPLEXDATA > uQ)
 Method which determines the collision manifold. More...
 
SIMPLEXDATA calculateSupportPointInDirection (U4DBoundingVolume *uBoundingVolume1, U4DBoundingVolume *uBoundingVolume2, U4DVector3n &uDirection)
 Method which computes the supporting point in a given direction. More...
 
U4DPoint3n determineClosestPointOnSimplexToPoint (U4DPoint3n &uPoint, std::vector< SIMPLEXDATA > uQ)
 Method which determines the closest 3D point on a simplex to a 3D point. More...
 
std::vector< float > determineBarycentricCoordinatesInSimplex (U4DPoint3n &uClosestPointToOrigin, std::vector< SIMPLEXDATA > uQ)
 Method which determines the Barycentric coordinates in a Simplex. More...