Untold Engine
Beta v0.0.16
docs
|
The U4DDynamicAction class represents a actions such as kinetics and collisions applied to a 3D model entity. More...
Inherits U4DEngine::U4DStaticAction.
Public Member Functions | |
U4DDynamicAction (U4DModel *uU4DModel) | |
Constructor for the class. | |
~U4DDynamicAction () | |
Destructor for the class. | |
U4DDynamicAction (const U4DDynamicAction &value) | |
Copy constructor. | |
U4DDynamicAction & | operator= (const U4DDynamicAction &value) |
Copy constructor. | |
void | addForce (U4DVector3n &uForce) |
Method which adds all the forces acting on the model. More... | |
void | addMoment (U4DVector3n &uMoment) |
Method which adds all the moments acting on the model. More... | |
void | enableKineticsBehavior () |
Method which enables kinetics behavior on the 3D model. More... | |
void | pauseKineticsBehavior () |
Method which pauses kinetics behavior on the 3D model. | |
void | resumeKineticsBehavior () |
Method which resumes kinetics behavior on the 3D model. | |
bool | isKineticsBehaviorEnabled () |
Method which returns if kinetics behavior are allowed to act on the 3D model. More... | |
void | clearForce () |
Clears all forces acting on the 3D model. | |
void | clearMoment () |
Clears all moments acting on the 3D model. | |
void | setVelocity (U4DVector3n &uVelocity) |
Method which sets the velocity of the model. More... | |
void | setAngularVelocity (U4DVector3n &uAngularVelocity) |
Method which sets the angular velocity of the model. More... | |
void | setTimeOfImpact (float uTimeOfImpact) |
Method which sets the time of impact. i.e., the time the 3D model will collide with another 3D model. More... | |
void | setAxisOfRotation (U4DVector3n &uAxisOfRotation) |
Method which sets the axis of rotation for the 3D model. More... | |
void | setAwake (bool uValue) |
Method which sets if the 3D model is awake. More... | |
void | setEquilibrium (bool uValue) |
Method which sets if the 3D model is in equilibrium. More... | |
void | setGravity (U4DVector3n &uGravity) |
Method which sets the gravity force acting on the 3D model. More... | |
void | setDragCoefficient (U4DVector2n &uDragCoefficient) |
Method which sets the drag coefficient acting on the 3D model. More... | |
void | computeModelKineticEnergy (float dt) |
Method which determines the kinetic motion of the model. More... | |
void | resetTimeOfImpact () |
Method which reset the time of impact of the model. | |
void | resetGravity () |
Method which resets the gravivy force of the model to its default value. Default gravity is (0.0,-10.0,0.0) | |
void | resetDragCoefficient () |
Method which resets the drag coefficients to its default value. Default drag coefficient is (0.9,0.9) | |
U4DVector3n | getForce () |
Method which returns commulative forces acting on the model. More... | |
U4DVector3n | getMoment () |
Method which returns commulative moments acting on the model. More... | |
U4DVector3n | getVelocity () |
Method which returns the velocity of the model. More... | |
U4DVector3n | getAngularVelocity () |
Method which returns the angular velocity of the model. More... | |
bool | getAwake () |
Method which returns if the 3D model is awake. More... | |
float | getModelKineticEnergy () |
Method which returns the kinetic energy of the model. More... | |
float | getTimeOfImpact () |
Method which returns the collision time of impact of the model. More... | |
U4DVector3n | getAxisOfRotation () |
Method which returns the model axis of rotation. More... | |
bool | getEquilibrium () |
Method which returns if the model is in equilibrium. More... | |
U4DVector3n | getGravity () |
Method which returns the gravity force acting on the 3D model. More... | |
U4DVector2n | getDragCoefficient () |
Method which returns the drag coefficients acting on the 3D model. More... | |
void | loadIntoCollisionEngine (U4DEntityManager *uEntityManager) |
Self load 3D model into the collision engine. More... | |
void | loadIntoPhysicsEngine (U4DEntityManager *uEntityManager, float dt) |
Self load 3D model into the physics engine. More... | |
void | cleanUp () |
clear collision information, resets time of impact, resets equilibrium, clears collision list | |
Public Member Functions inherited from U4DEngine::U4DStaticAction | |
U4DStaticAction (U4DModel *uU4DModel) | |
Constructor for the class. | |
~U4DStaticAction () | |
Destructor for the class. | |
U4DStaticAction (const U4DStaticAction &value) | |
Copy constructor. | |
U4DStaticAction & | operator= (const U4DStaticAction &value) |
Copy constructor. More... | |
void | initMass (float uMass) |
Method which sets the mass of the model. More... | |
void | initCenterOfMass (U4DVector3n &uCenterOfMass) |
Method which sets the center of mass of the model. More... | |
void | initCoefficientOfRestitution (float uValue) |
Method which sets the coefficient of restitution of the model. More... | |
void | initInertiaTensorType (INERTIATENSORTYPE uInertiaTensorType) |
Method which sets the Interta tensor type of the model. More... | |
void | initAsPlatform (bool uValue) |
Method which sets the model as a platform. More... | |
void | setNarrowPhaseBoundingVolumeVisibility (bool uValue) |
Methods which sets the visibility of the Narrow-Phase bounding volume. More... | |
void | setBroadPhaseBoundingVolumeVisibility (bool uValue) |
Methods which sets the visibility of the Broad-Phase bounding volume. More... | |
void | setCollisionNormalFaceDirection (U4DVector3n &uNormalFaceDirection) |
Method which sets the collision normal face direction. More... | |
void | setCollisionPenetrationDepth (float uPenetrationDepth) |
Method which sets the collision penetration depth. More... | |
void | setNormalForce (U4DVector3n &uNormalForce) |
Method which sets the Normal force. More... | |
void | setModelHasCollided (bool uValue) |
Method which informs the engine that the model has collided. More... | |
void | setModelHasCollidedBroadPhase (bool uValue) |
Method which informs the engine that the model has collided in broad phase stage. More... | |
void | enableCollisionBehavior () |
Enables the model to detect collisions. More... | |
void | pauseCollisionBehavior () |
Pauses the ability of the model to detect collisions. | |
void | resumeCollisionBehavior () |
Resumes the ability for the model to detect collisions. More... | |
bool | isCollisionBehaviorEnabled () |
Method which returns if the model can detect collisions. More... | |
void | computeInertiaTensor () |
Computes the inertia tensor of the model geometry. | |
void | updateConvexHullVertices () |
Method which updates the convex-hull vertices of the model. | |
void | addCollisionContactPoint (U4DVector3n &uContactPoint) |
Method which adds collision contact points to a container. More... | |
void | clearConvexHullVertices () |
Method which clears all convex-hull vertices. | |
void | clearCollisionInformation () |
Method which clears all collision information. | |
float | getMass () const |
Method which returns the mass of the model. More... | |
U4DVector3n | getCenterOfMass () |
Method which returns the center of mass of the model. More... | |
float | getCoefficientOfRestitution () |
Method which returns the coefficient of restitution of the model. More... | |
INERTIATENSORTYPE | getInertiaTensorType () |
Method which returns the inertia tensor type of the model. More... | |
bool | getIsPlatform () |
Method which returns if the model should be seens as a platform by the collision detection system. More... | |
U4DMatrix3n | getMomentOfInertiaTensor () |
Method which returns a 3x3 matrix representing the moment of inertia tensor. More... | |
U4DMatrix3n | getInverseMomentOfInertiaTensor () |
Method which returns a 3x3 matrix representing the inverse moment of inertia tensor. More... | |
std::vector< U4DVector3n > & | getConvexHullVertices () |
Method which returns the convex-hull vertices. More... | |
int | getConvexHullVerticesCount () |
Method which returns the convex-hull vertices count. More... | |
U4DBoundingVolume * | getNarrowPhaseBoundingVolume () |
Method which returns the narrow-phase bounding volume. More... | |
bool | getNarrowPhaseBoundingVolumeVisibility () |
Method which returns if the engine should render the narrow-phase bounding volume. More... | |
U4DBoundingVolume * | getBroadPhaseBoundingVolume () |
Method which returns the broad-phase bounding volume. More... | |
bool | getBroadPhaseBoundingVolumeVisibility () |
Method which returns if the engine should render the broad-phase bounding volume. More... | |
U4DVector3n | getNormalForce () |
Method which returns a 3D vector representing the Normal force. More... | |
std::vector< U4DVector3n > | getCollisionContactPoints () |
Method which returns the collision contact points. More... | |
void | clearCollisionContactPoints () |
Method which clears all collision contact points. | |
U4DVector3n | getCollisionNormalFaceDirection () |
Method which returns the collision normal face direction vector. More... | |
float | getCollisionPenetrationDepth () |
Method which returns the collision penetration depth. More... | |
bool | getModelHasCollided () |
Method which returns true if the model has collided. More... | |
bool | getModelHasCollidedBroadPhase () |
Method which returns true if the model has collided in Broad Phase stage. More... | |
void | setCollisionFilterCategory (int uFilterCategory) |
Sets the filter category for collision. More... | |
void | setCollisionFilterMask (int uFilterMask) |
Set the filter mask for collision. More... | |
void | setCollisionFilterGroupIndex (signed int uGroupIndex) |
Sets the group filter for collisions. More... | |
int | getCollisionFilterCategory () |
Get the collision filter category for the entity. More... | |
int | getCollisionFilterMask () |
Get the collision filter mask for the entity More... | |
signed int | getCollisionFilterGroupIndex () |
Get the filter group index More... | |
void | setIsCollisionSensor (bool uValue) |
Sets the entity as a collision sensor. More... | |
bool | getIsCollisionSensor () |
Is the entity a collision sensor. More... | |
void | addToCollisionList (U4DStaticAction *uModel) |
Add all the 3D models the entity is currently colliding. More... | |
void | addToBroadPhaseCollisionList (U4DStaticAction *uModel) |
Add all the 3D models the entity is currently colliding in broad phase collision. More... | |
std::vector< U4DStaticAction * > | getCollisionList () |
Gets a list of all entities currently colliding with the entity. More... | |
std::vector< U4DStaticAction * > | getBroadPhaseCollisionList () |
Gets a list of all entities currently colliding (broad phase stage) with the entity. More... | |
void | setCollidingTag (std::string uCollidingTag) |
Sets a collision tag. More... | |
std::string | getCollidingTag () |
Gets the collision tag. More... | |
void | clearCollisionList () |
Clears the collision list. More... | |
void | clearBroadPhaseCollisionList () |
Clears the collision list. More... | |
Protected Attributes | |
U4DVector3n | velocity |
Velocity of 3D model. | |
U4DVector3n | acceleration |
Acceleration of 3D model. | |
U4DVector3n | force |
Force of 3D model. | |
U4DVector3n | angularVelocity |
Angular velocity of 3D model. | |
U4DVector3n | moment |
Moment of 3D model. | |
U4DVector3n | axisOfRotation |
The axis of rotation of the 3D model. | |
U4DVector3n | gravity |
Gravity force of the 3D model. | |
U4DVector2n | dragCoefficient |
Drag force coefficient of the 3D model. | |
float | modelKineticEnergy |
Kinetic energy of the model. | |
float | timeOfImpact |
Time that the 3D model will impact with another object. | |
bool | equilibrium |
Equilibrium state of the model upon collision. | |
bool | kineticsEnabled |
Variable representing if kinetics behaviour enabled. i.e., if forces can act upon the 3D model. | |
bool | isAwake |
Variable representing if the model is awake. | |
Protected Attributes inherited from U4DEngine::U4DStaticAction | |
std::string | name |
Name of the entity. | |
Additional Inherited Members | |
Public Attributes inherited from U4DEngine::U4DStaticAction | |
U4DModel * | model |
The U4DDynamicAction class represents a actions such as kinetics and collisions applied to a 3D model entity.
void U4DEngine::U4DDynamicAction::addForce | ( | U4DVector3n & | uForce | ) |
Method which adds all the forces acting on the model.
uForce | 3D vector representing a force |
void U4DEngine::U4DDynamicAction::addMoment | ( | U4DVector3n & | uMoment | ) |
Method which adds all the moments acting on the model.
uMoment | 3D vector representing a moment |
void U4DEngine::U4DDynamicAction::computeModelKineticEnergy | ( | float | dt | ) |
Method which determines the kinetic motion of the model.
dt | time step value |
void U4DEngine::U4DDynamicAction::enableKineticsBehavior | ( | ) |
Method which enables kinetics behavior on the 3D model.
It allows forces to act on the 3D model
U4DVector3n U4DEngine::U4DDynamicAction::getAngularVelocity | ( | ) |
Method which returns the angular velocity of the model.
bool U4DEngine::U4DDynamicAction::getAwake | ( | ) |
Method which returns if the 3D model is awake.
U4DVector3n U4DEngine::U4DDynamicAction::getAxisOfRotation | ( | ) |
Method which returns the model axis of rotation.
U4DVector2n U4DEngine::U4DDynamicAction::getDragCoefficient | ( | ) |
Method which returns the drag coefficients acting on the 3D model.
bool U4DEngine::U4DDynamicAction::getEquilibrium | ( | ) |
Method which returns if the model is in equilibrium.
U4DVector3n U4DEngine::U4DDynamicAction::getForce | ( | ) |
Method which returns commulative forces acting on the model.
U4DVector3n U4DEngine::U4DDynamicAction::getGravity | ( | ) |
Method which returns the gravity force acting on the 3D model.
float U4DEngine::U4DDynamicAction::getModelKineticEnergy | ( | ) |
Method which returns the kinetic energy of the model.
U4DVector3n U4DEngine::U4DDynamicAction::getMoment | ( | ) |
Method which returns commulative moments acting on the model.
float U4DEngine::U4DDynamicAction::getTimeOfImpact | ( | ) |
Method which returns the collision time of impact of the model.
U4DVector3n U4DEngine::U4DDynamicAction::getVelocity | ( | ) |
Method which returns the velocity of the model.
bool U4DEngine::U4DDynamicAction::isKineticsBehaviorEnabled | ( | ) |
Method which returns if kinetics behavior are allowed to act on the 3D model.
void U4DEngine::U4DDynamicAction::loadIntoCollisionEngine | ( | U4DEntityManager * | uEntityManager | ) |
Self load 3D model into the collision engine.
uEntityManager | pointer to the entity manager |
void U4DEngine::U4DDynamicAction::loadIntoPhysicsEngine | ( | U4DEntityManager * | uEntityManager, |
float | dt | ||
) |
Self load 3D model into the physics engine.
uEntityManager | pointer to the entity manager |
dt | time step |
void U4DEngine::U4DDynamicAction::setAngularVelocity | ( | U4DVector3n & | uAngularVelocity | ) |
Method which sets the angular velocity of the model.
uAngularVelocity | 3D vector representing the angular velocity of the model |
void U4DEngine::U4DDynamicAction::setAwake | ( | bool | uValue | ) |
Method which sets if the 3D model is awake.
uValue | Set to true if the 3D model is awake |
void U4DEngine::U4DDynamicAction::setAxisOfRotation | ( | U4DVector3n & | uAxisOfRotation | ) |
Method which sets the axis of rotation for the 3D model.
uAxisOfRotation | 3D vector representing the axis of rotation for the model |
void U4DEngine::U4DDynamicAction::setDragCoefficient | ( | U4DVector2n & | uDragCoefficient | ) |
Method which sets the drag coefficient acting on the 3D model.
uDragCoefficient | 2D vector representing the drag coefficients |
void U4DEngine::U4DDynamicAction::setEquilibrium | ( | bool | uValue | ) |
Method which sets if the 3D model is in equilibrium.
uValue | Set to true if the 3D model is in equilibrium |
void U4DEngine::U4DDynamicAction::setGravity | ( | U4DVector3n & | uGravity | ) |
Method which sets the gravity force acting on the 3D model.
uGravity | 3D vector representing the gravity force acting on the 3D model |
void U4DEngine::U4DDynamicAction::setTimeOfImpact | ( | float | uTimeOfImpact | ) |
Method which sets the time of impact. i.e., the time the 3D model will collide with another 3D model.
uTimeOfImpact | The time of impact |
void U4DEngine::U4DDynamicAction::setVelocity | ( | U4DVector3n & | uVelocity | ) |
Method which sets the velocity of the model.
uVelocity | 3D vector representing the velocity of the model |