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

The U4DManifoldGeneration is in charge of computing collision maniforld information. More...

Inherits U4DEngine::U4DCollisionDetection.

Inherited by U4DEngine::U4DEPAAlgorithm, and U4DEngine::U4DSHAlgorithm.

Public Member Functions

 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...
 

Detailed Description

The U4DManifoldGeneration is in charge of computing collision maniforld information.

Member Function Documentation

◆ determineCollisionManifold()

virtual void U4DEngine::U4DManifoldGeneration::determineCollisionManifold ( U4DDynamicAction uAction1,
U4DDynamicAction uAction2,
std::vector< SIMPLEXDATA uQ,
COLLISIONMANIFOLDONODE uCollisionManifoldNode 
)
inlinevirtual

Method which determines the collision manifold. It computes the collision planes.

Parameters
uAction13D model entity
uAction23D model entity
uQSimplex Data set
uCollisionManifoldNodeCollision Manifold node

Reimplemented in U4DEngine::U4DSHAlgorithm.

◆ determineContactManifold()

virtual bool U4DEngine::U4DManifoldGeneration::determineContactManifold ( U4DDynamicAction uAction1,
U4DDynamicAction uAction2,
std::vector< SIMPLEXDATA uQ,
COLLISIONMANIFOLDONODE uCollisionManifoldNode 
)
inlinevirtual

Method which determines the collision contact manifold. It retrieves the collision contact points of the collision.

Parameters
uAction13D model entity
uAction23D model entity
uQSimplex Data set
uCollisionManifoldNodeCollision Manifold node
Returns
Returns true if the collision contact points were successfully computed

Reimplemented in U4DEngine::U4DSHAlgorithm.