Drag[en]gine Game Engine
1.21
|
Volume collider. More...
#include <deColliderVolume.h>
Public Types | |
typedef deTObjectReference< deColliderVolume > | Ref |
Type holding strong reference. More... | |
Public Types inherited from deCollider | |
enum | eResponseType { ertStatic , ertDynamic , ertKinematic } |
Collision Response Types. More... | |
typedef deTObjectReference< deCollider > | Ref |
Type holding strong reference. More... | |
Public Types inherited from deResource | |
typedef deTObjectReference< deResource > | Ref |
Type holding strong reference. More... | |
Public Types inherited from deObject | |
typedef deTObjectReference< deObject > | Ref |
Type holding strong reference. More... | |
Public Member Functions | |
Shapes | |
const decShapeList & | GetShapes () const |
Shapes. More... | |
void | SetShapes (const decShapeList &shapes) |
Set shapes. More... | |
Visiting | |
virtual void | Visit (deColliderVisitor &visitor) |
Visit collider. More... | |
Public Member Functions inherited from deCollider | |
const decDVector & | GetPosition () const |
Central mass point position. More... | |
void | SetPosition (const decDVector &position) |
Set central mass point position. More... | |
const decQuaternion & | GetOrientation () const |
Orientation. More... | |
void | SetOrientation (const decQuaternion &orientation) |
Set orientation. More... | |
void | SetGeometry (const decDVector &position, const decQuaternion &orientation) |
Set position and orientation at the same time. More... | |
void | SetGeometry (const decDVector &position, const decQuaternion &orientation, const decVector &scale) |
const decVector & | GetScale () const |
Scale. More... | |
void | SetScale (const decVector &scale) |
Set scale. More... | |
const decVector & | GetLinearVelocity () const |
Linear velocity in m/s. More... | |
void | SetLinearVelocity (const decVector &linVelo) |
Set linear velocity in m/s. More... | |
const decVector & | GetAngularVelocity () const |
Angular velocity in degree/s. More... | |
void | SetAngularVelocity (const decVector &angVelo) |
Set angular velocity in degree/s. More... | |
float | GetMass () const |
Mass in kg. More... | |
void | SetMass (float mass) |
Set mass in kg. More... | |
const decVector & | GetGravity () const |
Gravity in m/s^2. More... | |
void | SetGravity (const decVector &gravity) |
Set gravity in m/s^2. More... | |
bool | GetEnabled () const |
Collider is enabled. More... | |
void | SetEnabled (bool enabled) |
Set if collider is enabled. More... | |
eResponseType | GetResponseType () const |
Collision response type. More... | |
void | SetResponseType (eResponseType responseType) |
Set Collision response type. More... | |
bool | GetUseLocalGravity () const |
Use local gravity instead of the world gravity. More... | |
void | SetUseLocalGravity (bool useLocalGravity) |
Set if local gravity is used instead of the world gravity. More... | |
float | GetForceFieldDirect () const |
Factor for direct type force fields. More... | |
void | SetForceFieldDirect (float factor) |
Set factor for direct type force fields. More... | |
float | GetForceFieldSurface () const |
Factor for surface type force fields. More... | |
void | SetForceFieldSurface (float factor) |
Set factor for surface type force fields. More... | |
float | GetForceFieldMass () const |
Factor for mass type force fields. More... | |
void | SetForceFieldMass (float factor) |
Set factor for mass type force fields. More... | |
float | GetForceFieldSpeed () const |
Factor for speed type force fields. More... | |
void | SetForceFieldSpeed (float factor) |
Set factor for speed type force fields. More... | |
const decCollisionFilter & | GetCollisionFilter () const |
Collision filter. More... | |
void | SetCollisionFilter (const decCollisionFilter &filter) |
Set collision filter. More... | |
void | ApplyImpuls (const decVector &impuls) |
Apply impuls at the center mass point. More... | |
void | ApplyImpulsAt (const decVector &impuls, const decVector &point) |
Apply impuls relative to the collider position. More... | |
void | ApplyTorqueImpuls (const decVector &torqueImpuls) |
Apply torque impuls at the center mass point. More... | |
void | ApplyForce (const decVector &force) |
Apply force at the center mass point. More... | |
void | ApplyForceAt (const decVector &force, const decVector &point) |
Apply force relative to the collider position. More... | |
void | ApplyTorque (const decVector &torque) |
Apply torque force at the center mass point. More... | |
int | GetAttachmentCount () const |
Number of attachments. More... | |
deColliderAttachment * | GetAttachmentAt (int index) const |
Attachment at index. More... | |
bool | HasAttachmentWith (deResource *resource) const |
Resource is attached. More... | |
deColliderAttachment * | GetAttachmentWith (deResource *resource) const |
Attachment with resource or NULL if not attached. More... | |
void | AddAttachment (deColliderAttachment *attachment) |
Add attachment. More... | |
void | RemoveAttachment (deColliderAttachment *attachment) |
Remove attachment. More... | |
void | RemoveAllAttachments () |
Remove all attachments. More... | |
void | NotifyAttachmentChanged (int index) |
Notify peers attachment changed. More... | |
void | AttachmentsForceUpdate () |
Force update of all attachments. More... | |
int | GetConstraintCount () const |
Number of constraints. More... | |
deColliderConstraint * | GetConstraintAt (int index) const |
Constraint at index. More... | |
int | IndexOfConstraint (deColliderConstraint *constraint) const |
Index of constraint or -1 if absent. More... | |
bool | HasConstraint (deColliderConstraint *constraint) const |
Constraint is present. More... | |
void | AddConstraint (deColliderConstraint *constraint) |
Add constraint. More... | |
void | RemoveConstraint (deColliderConstraint *constraint) |
Remove constraint. More... | |
void | RemoveAllConstraints () |
Remove all constraints. More... | |
void | NotifyConstraintChanged (int index) |
Notify peers constraint has changed. More... | |
int | GetIgnoreColliderCount () const |
Number of colliders to ignore. More... | |
deCollider * | GetIgnoreColliderAt (int index) const |
Collider to ignore at index. More... | |
bool | HasIgnoreCollider (deCollider *collider) const |
Collider to ignore is present. More... | |
void | AddIgnoreCollider (deCollider *collider) |
Add collider to ignore. More... | |
void | RemoveIgnoreCollider (deCollider *collider) |
Remove collider to ignore. More... | |
void | RemoveAllIgnoreColliders () |
Remove all colliders to ignore. More... | |
int | GetCollisionTestCount () const |
Number of post physics collision tests. More... | |
deColliderCollisionTest * | GetCollisionTestAt (int index) const |
Post physics collision test at index. More... | |
int | IndexOfCollisionTest (deColliderCollisionTest *collisionTest) const |
Index of post physics collision test or -1 if not found. More... | |
bool | HasCollisionTest (deColliderCollisionTest *collisionTest) const |
Post physics collision test is present. More... | |
void | AddCollisionTest (deColliderCollisionTest *collisionTest) |
Adds post physics collision test. More... | |
void | RemoveCollisionTest (deColliderCollisionTest *collisionTest) |
Remove post physics collision test. More... | |
void | RemoveAllCollisionTests () |
Remove all post physics collision tests. More... | |
void | NotifyCollisionTestChanged (int index) |
Notify peers a post physics collision test changed. More... | |
void | NotifyCollisionTestEnableChanged (int index) |
Notify peers a post physics collision test enabled or disabled. More... | |
bool | PointInside (const decDVector &point) |
Test if a point is located inside the collider. More... | |
void | RayHits (const decDVector &rayOrigin, const decVector &rayDirection, deBaseScriptingCollider *listener) |
Test ray for collision with the collider. More... | |
void | ColliderHits (deCollider *collider, deBaseScriptingCollider *listener) |
Test collider for collision with collider. More... | |
void | ColliderMoveHits (deCollider *collider, const decVector &displacement, deBaseScriptingCollider *listener) |
Test moving collider for collision with collider. More... | |
void | ColliderRotateHits (deCollider *collider, const decVector &rotation, deBaseScriptingCollider *listener) |
Test rotating collider for collision with collider. More... | |
void | ColliderMoveRotateHits (deCollider *collider, const decVector &displacement, const decVector &rotation, deBaseScriptingCollider *listener) |
Test moving and rotating collider for collision with collider. More... | |
deBasePhysicsCollider * | GetPeerPhysics () const |
Physics system peer. More... | |
void | SetPeerPhysics (deBasePhysicsCollider *peer) |
Set physics system peer. More... | |
deBaseScriptingCollider * | GetPeerScripting () const |
Scripting system peer. More... | |
void | SetPeerScripting (deBaseScriptingCollider *peer) |
Set scripting system peer. More... | |
deWorld * | GetParentWorld () const |
Parent world or NULL. More... | |
void | SetParentWorld (deWorld *world) |
Set parent world or NULL. More... | |
deCollider * | GetLLWorldPrev () const |
Previous collider in the parent world linked list. More... | |
void | SetLLWorldPrev (deCollider *collider) |
Set next collider in the parent world linked list. More... | |
deCollider * | GetLLWorldNext () const |
Next collider in the parent world linked list. More... | |
void | SetLLWorldNext (deCollider *collider) |
Set next collider in the parent world linked list. More... | |
deCollider (deColliderManager *manager) | |
Create collider. More... | |
Public Member Functions inherited from deResource | |
deResourceManager * | GetResourceManager () const |
Resource manager or NULL if resource is leaking. More... | |
deEngine * | GetEngine () const |
Game engine object from resource manager. More... | |
deResource * | GetLLManagerPrev () const |
Previous resource in the resource manager linked list. More... | |
void | SetLLManagerPrev (deResource *resource) |
Set next resource in the resource manager linked list. More... | |
deResource * | GetLLManagerNext () const |
Next resource in the resource manager linked list. More... | |
void | SetLLManagerNext (deResource *resource) |
Set next resource in the resource manager linked list. More... | |
void | MarkLeaking () |
Marks the resource leaking. More... | |
deResource (deResourceManager *resourceManager) | |
Create resource. More... | |
Public Member Functions inherited from deObject | |
int | GetRefCount () const |
Reference count. More... | |
void | AddReference () |
Add reference increasing reference count by 1. More... | |
void | FreeReference () |
Decrease reference count by one and delete object if count reaches 0. More... | |
deObject () | |
Create object with reference count of 1. More... | |
Constructors and Destructors | |
deColliderVolume (deColliderManager *manager) | |
Create volume collider. More... | |
virtual | ~deColliderVolume () |
Clean up volume collider. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from deCollider | |
void | pNotifyCollisionVolumeChanged () |
void | pNotifyRigChanged () |
void | pNotifyComponentChanged () |
void | pNotifyBonePositionChanged (int index) |
void | pNotifyBoneOrientationChanged (int index) |
void | pNotifyBoneLinearVelocityChanged (int index) |
void | pNotifyBoneAngularVelocityChanged (int index) |
void | pNotifyBonePropertiesChanged (int index) |
void | pNotifyBoneDynamicChanged (int index) |
virtual | ~deCollider () |
Clean up collider. More... | |
Protected Member Functions inherited from deResource | |
virtual | ~deResource () |
Clean up resource. More... | |
Protected Member Functions inherited from deObject | |
virtual | ~deObject () |
Clean up object. More... | |
Volume collider.
Colliders are used by the physics module to provide collision detection and optional collision response. After the collision detection stage is done each Collider contains the new state of motion. The user can then update the game state depending on the changes. The scripting peer receives all relevant events during a collision detection run. The Collider is defined by a list of Collision Volume objects. The final test volume is considered to be the boolean union of all the volumes.
Type holding strong reference.
deColliderVolume::deColliderVolume | ( | deColliderManager * | manager | ) |
Create volume collider.
|
protectedvirtual |
Clean up volume collider.
|
inline |
Shapes.
void deColliderVolume::SetShapes | ( | const decShapeList & | shapes | ) |
Set shapes.
|
virtual |
Visit collider.
Reimplemented from deCollider.