PixelLightAPI
.
|
Abstract physics body scene node modifier. More...
#include <SNMPhysicsBody.h>
Public Types | |
enum | EFlags { InitUnfrozen = 1<<2, NoAutoFreeze = 1<<3, NoGravity = 1<<4, NoRotation = 1<<5 } |
Scene node modifier flags (PLScene::SceneNodeModifier flags extension) More... | |
Public Member Functions | |
PLPHYSICS_API const PLMath::Vector3 & | GetCenterOfMass () const |
PLPHYSICS_API void | SetCenterOfMass (const PLMath::Vector3 &vValue) |
PLPHYSICS_API const PLMath::Vector3 & | GetPositionOffset () const |
PLPHYSICS_API void | SetPositionOffset (const PLMath::Vector3 &vValue) |
PLPHYSICS_API PLCore::uint8 | GetCollisionGroup () const |
PLPHYSICS_API void | SetCollisionGroup (PLCore::uint8 nValue) |
virtual PLPHYSICS_API void | SetFlags (PLCore::uint32 nValue) override |
PLPHYSICS_API SCPhysicsWorld * | GetWorldContainer () const |
Returns the PL physics world scene node container the physics body is in. | |
PLPHYSICS_API Body * | GetBody () const |
Returns the PL physics body. | |
Protected Member Functions | |
PLPHYSICS_API | SNMPhysicsBody (PLScene::SceneNode &cSceneNode) |
Constructor. | |
virtual PLPHYSICS_API | ~SNMPhysicsBody () |
Destructor. | |
PLPHYSICS_API void | RecreatePhysicsBody () |
Recreates the PL physics body. | |
virtual PLPHYSICS_API void | OnActivate (bool bActivate) override |
Called when the scene node modifier has been activated or deactivated. | |
virtual PLPHYSICS_API void | CreatePhysicsBody () |
Creates the PL physics body. | |
virtual PLPHYSICS_API void | InformedOnInit () |
Informed on scene node modifier initialization. | |
Protected Attributes | |
float | m_fMass |
PLMath::Vector3 | m_vCenterOfMass |
PLMath::Vector3 | m_vPositionOffset |
PLCore::uint8 | m_nCollisionGroup |
SCPhysicsWorld * | m_pWorldContainer |
ElementHandler * | m_pBodyHandler |
bool | m_bListening |
Abstract physics body scene node modifier.
Scene node modifier flags (PLScene::SceneNodeModifier flags extension)
InitUnfrozen |
The body is not frozen on initialization |
NoAutoFreeze |
Do not freeze the body automatically |
NoGravity |
The body is not influenced by gravity |
NoRotation |
Rotation is not used |
Reimplemented from PLScene::SceneNodeModifier.
PLPHYSICS_API PLPhysics::SNMPhysicsBody::SNMPhysicsBody | ( | PLScene::SceneNode & | cSceneNode | ) | [protected] |
Constructor.
[in] | cSceneNode | Owner scene node |
virtual PLPHYSICS_API PLPhysics::SNMPhysicsBody::~SNMPhysicsBody | ( | ) | [protected, virtual] |
Destructor.
PLPHYSICS_API const PLMath::Vector3& PLPhysics::SNMPhysicsBody::GetCenterOfMass | ( | ) | const |
PLPHYSICS_API void PLPhysics::SNMPhysicsBody::SetCenterOfMass | ( | const PLMath::Vector3 & | vValue | ) |
PLPHYSICS_API const PLMath::Vector3& PLPhysics::SNMPhysicsBody::GetPositionOffset | ( | ) | const |
PLPHYSICS_API void PLPhysics::SNMPhysicsBody::SetPositionOffset | ( | const PLMath::Vector3 & | vValue | ) |
PLPHYSICS_API PLCore::uint8 PLPhysics::SNMPhysicsBody::GetCollisionGroup | ( | ) | const |
PLPHYSICS_API void PLPhysics::SNMPhysicsBody::SetCollisionGroup | ( | PLCore::uint8 | nValue | ) |
virtual PLPHYSICS_API void PLPhysics::SNMPhysicsBody::SetFlags | ( | PLCore::uint32 | nValue | ) | [override, virtual] |
Reimplemented from PLScene::SceneNodeModifier.
PLPHYSICS_API SCPhysicsWorld* PLPhysics::SNMPhysicsBody::GetWorldContainer | ( | ) | const |
Returns the PL physics world scene node container the physics body is in.
PLPHYSICS_API Body* PLPhysics::SNMPhysicsBody::GetBody | ( | ) | const |
Returns the PL physics body.
PLPHYSICS_API void PLPhysics::SNMPhysicsBody::RecreatePhysicsBody | ( | ) | [protected] |
Recreates the PL physics body.
virtual PLPHYSICS_API void PLPhysics::SNMPhysicsBody::OnActivate | ( | bool | bActivate | ) | [override, protected, virtual] |
Called when the scene node modifier has been activated or deactivated.
[in] | bActivate | 'true' if the scene node modifier is now active, else 'false' |
Reimplemented from PLScene::SceneNodeModifier.
virtual PLPHYSICS_API void PLPhysics::SNMPhysicsBody::CreatePhysicsBody | ( | ) | [protected, virtual] |
Creates the PL physics body.
virtual PLPHYSICS_API void PLPhysics::SNMPhysicsBody::InformedOnInit | ( | ) | [protected, virtual] |
Informed on scene node modifier initialization.
Reimplemented from PLScene::SceneNodeModifier.
float PLPhysics::SNMPhysicsBody::m_fMass [protected] |
Mass of the physics body, 0=static body
Relative center of mass
Position offset relative to the scene node (=origin)
PLCore::uint8 PLPhysics::SNMPhysicsBody::m_nCollisionGroup [protected] |
The collision group the body is in (0-31)
The PL physics world scene node container the physics body is in, can be a null pointer
ElementHandler* PLPhysics::SNMPhysicsBody::m_pBodyHandler [protected] |
Holds the PL physics body (ALWAYS valid!)
bool PLPhysics::SNMPhysicsBody::m_bListening [protected] |
Listening scene node position changes etc.?
|