PixelLightAPI
.
|
Abstract physics joint scene node modifier. More...
#include <SNMPhysicsJoint.h>
Public Types | |
enum | EFlags { LocalPinDirection = 1<<2 } |
Scene node modifier flags. More... | |
Public Member Functions | |
virtual PLPHYSICS_API void | SetFlags (PLCore::uint32 nValue) override |
PLPHYSICS_API SCPhysicsWorld * | GetWorldContainer () const |
Returns the PL physics world scene node container the physics joint is in. | |
PLPHYSICS_API Joint * | GetJoint () const |
Returns the PL physics joint. | |
PLPHYSICS_API SNMPhysicsBody * | GetOwnerBodyModifier () const |
Returns the owner PL physics body scene node modifier the joint is attached to. | |
PLPHYSICS_API SNMPhysicsBody * | GetTargetBodyModifier () const |
Returns the target PL physics body scene node modifier the joint is attached to. | |
Protected Member Functions | |
PLPHYSICS_API | SNMPhysicsJoint (PLScene::SceneNode &cSceneNode) |
Constructor. | |
virtual PLPHYSICS_API | ~SNMPhysicsJoint () |
Destructor. | |
PLPHYSICS_API void | RecreatePhysicsJoint () |
Recreates the PL physics joint. | |
PLPHYSICS_API void | CalculateJointTransformMatrix (PLMath::Matrix3x4 &mTransform) const |
Calculates the transform matrix that transform from the local owner scene node space into the physics world scene container. | |
virtual void | CreatePhysicsJoint ()=0 |
Creates the PL physics joint. | |
virtual PLPHYSICS_API void | InformedOnInit () override |
Informed on scene node modifier initialization. | |
Protected Attributes | |
PLCore::String | m_sTarget |
SCPhysicsWorld * | m_pWorldContainer |
ElementHandler * | m_pJointHandler |
Abstract physics joint scene node modifier.
Scene node modifier flags.
LocalPinDirection |
If this flag is set, the pin direction(s) of the joint is/are defined in local scene node space instead of scene container space |
Reimplemented from PLScene::SceneNodeModifier.
PLPHYSICS_API PLPhysics::SNMPhysicsJoint::SNMPhysicsJoint | ( | PLScene::SceneNode & | cSceneNode | ) | [protected] |
Constructor.
[in] | cSceneNode | Owner scene node |
virtual PLPHYSICS_API PLPhysics::SNMPhysicsJoint::~SNMPhysicsJoint | ( | ) | [protected, virtual] |
Destructor.
virtual PLPHYSICS_API void PLPhysics::SNMPhysicsJoint::SetFlags | ( | PLCore::uint32 | nValue | ) | [override, virtual] |
Reimplemented from PLScene::SceneNodeModifier.
PLPHYSICS_API SCPhysicsWorld* PLPhysics::SNMPhysicsJoint::GetWorldContainer | ( | ) | const |
Returns the PL physics world scene node container the physics joint is in.
PLPHYSICS_API Joint* PLPhysics::SNMPhysicsJoint::GetJoint | ( | ) | const |
Returns the PL physics joint.
PLPHYSICS_API SNMPhysicsBody* PLPhysics::SNMPhysicsJoint::GetOwnerBodyModifier | ( | ) | const |
Returns the owner PL physics body scene node modifier the joint is attached to.
PLPHYSICS_API SNMPhysicsBody* PLPhysics::SNMPhysicsJoint::GetTargetBodyModifier | ( | ) | const |
Returns the target PL physics body scene node modifier the joint is attached to.
PLPHYSICS_API void PLPhysics::SNMPhysicsJoint::RecreatePhysicsJoint | ( | ) | [protected] |
Recreates the PL physics joint.
PLPHYSICS_API void PLPhysics::SNMPhysicsJoint::CalculateJointTransformMatrix | ( | PLMath::Matrix3x4 & | mTransform | ) | const [protected] |
Calculates the transform matrix that transform from the local owner scene node space into the physics world scene container.
[out] | mTransform | Receives the result |
virtual void PLPhysics::SNMPhysicsJoint::CreatePhysicsJoint | ( | ) | [protected, pure virtual] |
Creates the PL physics joint.
virtual PLPHYSICS_API void PLPhysics::SNMPhysicsJoint::InformedOnInit | ( | ) | [override, protected, virtual] |
Informed on scene node modifier initialization.
Reimplemented from PLScene::SceneNodeModifier.
PLCore::String PLPhysics::SNMPhysicsJoint::m_sTarget [protected] |
Name of the target scene node (which must have a 'PLPhysics::SNMPhysicsBody' modifier!), can left undefined
The PL physics world scene node container the physics joint is in, can be a null pointer
Holds the PL physics joint (ALWAYS valid!)
|