SO3Engine
Public Member Functions | Protected Attributes | List of all members
SO3::SBody Class Reference

#include <SO3Body.h>

Public Member Functions

 SBody (SNode *node, SShape *shape)
 
 ~SBody ()
 
SShapeGetShape ()
 
void BodyAddForceCallback (OgreNewt::Body *body, float timeStep, int threadIndex)
 
void BodyUpdateCallback (OgreNewt::Body *body)
 
OgreNewt::BodygetOgreNewtBodyPointer ()
 
void SetFluidState (bool state)
 
bool GetFluidState ()
 
void SetFluidVolumeRatio (float waterToVolume)
 
void SetFluidViscosity (float viscosity)
 
float GetFluidWaterToVolumeRatio ()
 
float GetFluidViscosity ()
 
Ogre::Real GetMass ()
 
bool GetFreezeState ()
 
void SetGravityEnable (bool state)
 
bool GetGravityEnable ()
 
Ogre::Vector3 GetCenterOfMass ()
 
Ogre::Vector3 GetForce ()
 
Ogre::Vector3 GetTorque ()
 
Ogre::Vector3 GetLocalForce ()
 
Ogre::Vector3 GetGlobalForce ()
 
Ogre::Vector3 GetGlobalLocationForce ()
 
Ogre::Vector3 GetLocalLocationForce ()
 
void SetMass (const Ogre::Real &mass)
 
void SetMassMatrix (const Ogre::Real &mass, const Ogre::Vector3 &inertial)
 
void SetMaterialID (SMaterialID *matID)
 
const std::string GetMaterialName ()
 
const OgreNewt::MaterialIDGetMaterialID ()
 
const SMaterialIDGetMaterial ()
 
void SetFreezeState (const bool &state)
 
void SetForce (const Ogre::Vector3 &mForce)
 
void SetTorque (const Ogre::Vector3 &mTorque)
 
void SetOmega (const Ogre::Vector3 &omega)
 
Ogre::Vector3 GetOmega ()
 
void SetConstantForce (const Ogre::Vector3 &mForce)
 
void SetConstantTorque (const Ogre::Vector3 &mTorque)
 
void AddConstantForce (const Ogre::Vector3 &mForce)
 
void AddConstantTorque (const Ogre::Vector3 &mTorque)
 
Ogre::Vector3 GetConstantForce ()
 
Ogre::Vector3 GetConstantTorque ()
 
void SetLocalForce (const Ogre::Vector3 &mLocalForce)
 
void SetGlobalForce (const Ogre::Vector3 &mGlobalForce)
 
void SetGlobalLocationForce (const Ogre::Vector3 &mGlobalLocationForce)
 
void SetLocalLocationForce (const Ogre::Vector3 &mLocalLocationForce)
 
void SetBuoyancyForce (SBody *fluidBody)
 
void SetPositionOrientation (const Ogre::Vector3 &mDerivedPos, const Ogre::Quaternion &mDerivedOrientation)
 
void UpdatePositionOrientation ()
 
void UpdatePositionOrientation (const Ogre::Vector3 &mDerivedPos, const Ogre::Quaternion &mDerivedOrientation)
 
void SetScale (const Ogre::Vector3 &mDerivedScale)
 
void SetMatrix (const Ogre::Vector3 &mDerivedPos, const Ogre::Quaternion &mDerivedOrientation)
 
void SetVelocity (const Ogre::Vector3 &velocity)
 
Ogre::Vector3 GetVelocity ()
 
void UpdateMatrix ()
 
void AddImpulse (const Ogre::Vector3 &delta, const Ogre::Vector3 &pos)
 
void SetUpJoint (const Ogre::Vector3 &vec)
 
void RemoveUpJoint ()
 
void SetAngularDamping (const Ogre::Vector3 &vec)
 
Ogre::Vector3 GetAngularDamping ()
 
void SetCenterOfMass (const Ogre::Vector3 &vec)
 
void SetLinearDamping (const Ogre::Real &ang)
 
Ogre::Real GetLinearDamping ()
 
void SetAutoSleep (const bool &enable)
 
bool GetAutoSleep ()
 
void EnableSimulation (const bool &enable)
 
bool GetSimulationState ()
 
void SetContinuousCollisionMode (const bool &enable)
 
bool GetContinuousCollisionMode ()
 
void GetInvMass (Ogre::Real &mass, Ogre::Vector3 &inertia)
 
void GetMassMatrix (Ogre::Real &mass, Ogre::Vector3 &inertia)
 
void MoveToPosition (const Ogre::Vector3 &destPos, const Ogre::Real &stiffness)
 
void RotateToOrientation (const Ogre::Quaternion &destQuat, const Ogre::Real &stiffness)
 
bool GetSleepState ()
 
void GetPositionOrientation (Ogre::Vector3 &pos, Ogre::Quaternion &orient)
 
void SetType (const int &value)
 
int GetType ()
 
void SetIgnoreCollision (const bool &state)
 
bool GetIgnoreCollision ()
 
Ogre::Vector3 CalculateBodyOffset ()
 
SNodeGetParentNode ()
 
void Reset ()
 
void ShowDebug (bool state)
 
void BuoyancyForce (OgreNewt::Body *visitor)
 

Protected Attributes

OgreNewt::BodyO3Body
 
SShapemShape
 
SNodemNode
 
SScenemScene
 
Ogre::ManualObject * mDebugBody
 
bool mIgnoreCollision
 
bool mApplyGravity
 
bool HasBuoyancy
 
Ogre::Real mMass
 
Ogre::Vector3 force
 
Ogre::Vector3 torque
 
Ogre::Vector3 constantForce
 
Ogre::Vector3 constantTorque
 
Ogre::Vector3 localForce
 
Ogre::Vector3 globalForce
 
Ogre::Vector3 globalLocationForce
 
Ogre::Vector3 localLocationForce
 
Ogre::Vector3 destPosition
 
Ogre::Quaternion destOrientation
 
Ogre::Real moveStiffness
 
Ogre::Real rotateStiffness
 
Ogre::Real mFluidWaterToVolume
 
Ogre::Real mFluidViscosity
 
bool isFluid
 
bool haveToMove
 
bool haveToRotate
 
SMaterialIDmaterialId
 
bool mEnable
 

Detailed Description

Definition at line 42 of file SO3Body.h.

Constructor & Destructor Documentation

◆ SBody()

SBody::SBody ( SNode node,
SShape shape 
)

Definition at line 23 of file SO3Body.cpp.

◆ ~SBody()

SBody::~SBody ( )

Definition at line 84 of file SO3Body.cpp.

Member Function Documentation

◆ AddConstantForce()

void SBody::AddConstantForce ( const Ogre::Vector3 &  mForce)

Definition at line 552 of file SO3Body.cpp.

◆ AddConstantTorque()

void SBody::AddConstantTorque ( const Ogre::Vector3 &  mTorque)

Definition at line 557 of file SO3Body.cpp.

◆ AddImpulse()

void SBody::AddImpulse ( const Ogre::Vector3 &  delta,
const Ogre::Vector3 &  pos 
)

Definition at line 644 of file SO3Body.cpp.

◆ BodyAddForceCallback()

void SBody::BodyAddForceCallback ( OgreNewt::Body body,
float  timeStep,
int  threadIndex 
)

Definition at line 208 of file SO3Body.cpp.

◆ BodyUpdateCallback()

void SBody::BodyUpdateCallback ( OgreNewt::Body body)

Definition at line 166 of file SO3Body.cpp.

◆ BuoyancyForce()

void SBody::BuoyancyForce ( OgreNewt::Body visitor)

Definition at line 267 of file SO3Body.cpp.

◆ CalculateBodyOffset()

Ogre::Vector3 SBody::CalculateBodyOffset ( )

Definition at line 111 of file SO3Body.cpp.

◆ EnableSimulation()

void SBody::EnableSimulation ( const bool &  enable)

Definition at line 706 of file SO3Body.cpp.

◆ GetAngularDamping()

Ogre::Vector3 SBody::GetAngularDamping ( )

Definition at line 670 of file SO3Body.cpp.

◆ GetAutoSleep()

bool SBody::GetAutoSleep ( )

Definition at line 701 of file SO3Body.cpp.

◆ GetCenterOfMass()

Ogre::Vector3 SBody::GetCenterOfMass ( )

Definition at line 680 of file SO3Body.cpp.

◆ GetConstantForce()

Ogre::Vector3 SBody::GetConstantForce ( )

Definition at line 562 of file SO3Body.cpp.

◆ GetConstantTorque()

Ogre::Vector3 SBody::GetConstantTorque ( )

Definition at line 567 of file SO3Body.cpp.

◆ GetContinuousCollisionMode()

bool SBody::GetContinuousCollisionMode ( )

Definition at line 724 of file SO3Body.cpp.

◆ GetFluidState()

bool SBody::GetFluidState ( )

Definition at line 398 of file SO3Body.cpp.

◆ GetFluidViscosity()

float SBody::GetFluidViscosity ( )

Definition at line 418 of file SO3Body.cpp.

◆ GetFluidWaterToVolumeRatio()

float SBody::GetFluidWaterToVolumeRatio ( )

Definition at line 413 of file SO3Body.cpp.

◆ GetForce()

Ogre::Vector3 SBody::GetForce ( )

Definition at line 443 of file SO3Body.cpp.

◆ GetFreezeState()

bool SBody::GetFreezeState ( )

Definition at line 428 of file SO3Body.cpp.

◆ GetGlobalForce()

Ogre::Vector3 SBody::GetGlobalForce ( )

Definition at line 458 of file SO3Body.cpp.

◆ GetGlobalLocationForce()

Ogre::Vector3 SBody::GetGlobalLocationForce ( )

Definition at line 463 of file SO3Body.cpp.

◆ GetGravityEnable()

bool SBody::GetGravityEnable ( )

Definition at line 438 of file SO3Body.cpp.

◆ GetIgnoreCollision()

bool SBody::GetIgnoreCollision ( )

Definition at line 784 of file SO3Body.cpp.

◆ GetInvMass()

void SBody::GetInvMass ( Ogre::Real &  mass,
Ogre::Vector3 &  inertia 
)

Definition at line 729 of file SO3Body.cpp.

◆ GetLinearDamping()

Ogre::Real SBody::GetLinearDamping ( )

Definition at line 690 of file SO3Body.cpp.

◆ GetLocalForce()

Ogre::Vector3 SBody::GetLocalForce ( )

Definition at line 453 of file SO3Body.cpp.

◆ GetLocalLocationForce()

Ogre::Vector3 SBody::GetLocalLocationForce ( )

Definition at line 468 of file SO3Body.cpp.

◆ GetMass()

Ogre::Real SBody::GetMass ( )

Definition at line 423 of file SO3Body.cpp.

◆ GetMassMatrix()

void SBody::GetMassMatrix ( Ogre::Real &  mass,
Ogre::Vector3 &  inertia 
)

Definition at line 734 of file SO3Body.cpp.

◆ GetMaterial()

const SMaterialID * SBody::GetMaterial ( )

Definition at line 505 of file SO3Body.cpp.

◆ GetMaterialID()

const OgreNewt::MaterialID * SBody::GetMaterialID ( )

Definition at line 500 of file SO3Body.cpp.

◆ GetMaterialName()

const std::string SBody::GetMaterialName ( )

Definition at line 492 of file SO3Body.cpp.

◆ getOgreNewtBodyPointer()

OgreNewt::Body * SBody::getOgreNewtBodyPointer ( )

Definition at line 340 of file SO3Body.cpp.

◆ GetOmega()

Ogre::Vector3 SBody::GetOmega ( )

Definition at line 537 of file SO3Body.cpp.

◆ GetParentNode()

SNode * SBody::GetParentNode ( )

Definition at line 649 of file SO3Body.cpp.

◆ GetPositionOrientation()

void SBody::GetPositionOrientation ( Ogre::Vector3 &  pos,
Ogre::Quaternion &  orient 
)

Definition at line 761 of file SO3Body.cpp.

◆ GetShape()

SShape * SBody::GetShape ( )

Definition at line 106 of file SO3Body.cpp.

◆ GetSimulationState()

bool SBody::GetSimulationState ( )

Definition at line 713 of file SO3Body.cpp.

◆ GetSleepState()

bool SBody::GetSleepState ( )

Definition at line 755 of file SO3Body.cpp.

◆ GetTorque()

Ogre::Vector3 SBody::GetTorque ( )

Definition at line 448 of file SO3Body.cpp.

◆ GetType()

int SBody::GetType ( )

Definition at line 773 of file SO3Body.cpp.

◆ GetVelocity()

Ogre::Vector3 SBody::GetVelocity ( )

Definition at line 634 of file SO3Body.cpp.

◆ MoveToPosition()

void SBody::MoveToPosition ( const Ogre::Vector3 &  destPos,
const Ogre::Real &  stiffness 
)

Definition at line 739 of file SO3Body.cpp.

◆ RemoveUpJoint()

void SBody::RemoveUpJoint ( )

Definition at line 660 of file SO3Body.cpp.

◆ Reset()

void SBody::Reset ( )

Definition at line 116 of file SO3Body.cpp.

◆ RotateToOrientation()

void SBody::RotateToOrientation ( const Ogre::Quaternion &  destQuat,
const Ogre::Real &  stiffness 
)

Definition at line 747 of file SO3Body.cpp.

◆ SetAngularDamping()

void SBody::SetAngularDamping ( const Ogre::Vector3 &  vec)

Definition at line 665 of file SO3Body.cpp.

◆ SetAutoSleep()

void SBody::SetAutoSleep ( const bool &  enable)

Definition at line 695 of file SO3Body.cpp.

◆ SetBuoyancyForce()

void SO3::SBody::SetBuoyancyForce ( SBody fluidBody)

◆ SetCenterOfMass()

void SBody::SetCenterOfMass ( const Ogre::Vector3 &  vec)

Definition at line 675 of file SO3Body.cpp.

◆ SetConstantForce()

void SBody::SetConstantForce ( const Ogre::Vector3 &  mForce)

Definition at line 542 of file SO3Body.cpp.

◆ SetConstantTorque()

void SBody::SetConstantTorque ( const Ogre::Vector3 &  mTorque)

Definition at line 547 of file SO3Body.cpp.

◆ SetContinuousCollisionMode()

void SBody::SetContinuousCollisionMode ( const bool &  enable)

Definition at line 718 of file SO3Body.cpp.

◆ SetFluidState()

void SBody::SetFluidState ( bool  state)

Definition at line 345 of file SO3Body.cpp.

◆ SetFluidViscosity()

void SBody::SetFluidViscosity ( float  viscosity)

Definition at line 408 of file SO3Body.cpp.

◆ SetFluidVolumeRatio()

void SBody::SetFluidVolumeRatio ( float  waterToVolume)

Definition at line 403 of file SO3Body.cpp.

◆ SetForce()

void SBody::SetForce ( const Ogre::Vector3 &  mForce)

Definition at line 522 of file SO3Body.cpp.

◆ SetFreezeState()

void SBody::SetFreezeState ( const bool &  state)

Definition at line 510 of file SO3Body.cpp.

◆ SetGlobalForce()

void SBody::SetGlobalForce ( const Ogre::Vector3 &  mGlobalForce)

Definition at line 577 of file SO3Body.cpp.

◆ SetGlobalLocationForce()

void SBody::SetGlobalLocationForce ( const Ogre::Vector3 &  mGlobalLocationForce)

Definition at line 582 of file SO3Body.cpp.

◆ SetGravityEnable()

void SBody::SetGravityEnable ( bool  state)

Definition at line 433 of file SO3Body.cpp.

◆ SetIgnoreCollision()

void SBody::SetIgnoreCollision ( const bool &  state)

Definition at line 778 of file SO3Body.cpp.

◆ SetLinearDamping()

void SBody::SetLinearDamping ( const Ogre::Real &  ang)

Definition at line 685 of file SO3Body.cpp.

◆ SetLocalForce()

void SBody::SetLocalForce ( const Ogre::Vector3 &  mLocalForce)

Definition at line 572 of file SO3Body.cpp.

◆ SetLocalLocationForce()

void SBody::SetLocalLocationForce ( const Ogre::Vector3 &  mLocalLocationForce)

Definition at line 587 of file SO3Body.cpp.

◆ SetMass()

void SBody::SetMass ( const Ogre::Real &  mass)

Definition at line 473 of file SO3Body.cpp.

◆ SetMassMatrix()

void SBody::SetMassMatrix ( const Ogre::Real &  mass,
const Ogre::Vector3 &  inertial 
)

Definition at line 479 of file SO3Body.cpp.

◆ SetMaterialID()

void SBody::SetMaterialID ( SMaterialID matID)

Definition at line 485 of file SO3Body.cpp.

◆ SetMatrix()

void SBody::SetMatrix ( const Ogre::Vector3 &  mDerivedPos,
const Ogre::Quaternion &  mDerivedOrientation 
)

Definition at line 622 of file SO3Body.cpp.

◆ SetOmega()

void SBody::SetOmega ( const Ogre::Vector3 &  omega)

Definition at line 532 of file SO3Body.cpp.

◆ SetPositionOrientation()

void SBody::SetPositionOrientation ( const Ogre::Vector3 &  mDerivedPos,
const Ogre::Quaternion &  mDerivedOrientation 
)

Definition at line 592 of file SO3Body.cpp.

◆ SetScale()

void SBody::SetScale ( const Ogre::Vector3 &  mDerivedScale)

Definition at line 610 of file SO3Body.cpp.

◆ SetTorque()

void SBody::SetTorque ( const Ogre::Vector3 &  mTorque)

Definition at line 527 of file SO3Body.cpp.

◆ SetType()

void SBody::SetType ( const int &  value)

Definition at line 767 of file SO3Body.cpp.

◆ SetUpJoint()

void SBody::SetUpJoint ( const Ogre::Vector3 &  vec)

Definition at line 654 of file SO3Body.cpp.

◆ SetVelocity()

void SBody::SetVelocity ( const Ogre::Vector3 &  velocity)

Definition at line 629 of file SO3Body.cpp.

◆ ShowDebug()

void SBody::ShowDebug ( bool  state)

Definition at line 812 of file SO3Body.cpp.

◆ UpdateMatrix()

void SBody::UpdateMatrix ( )

Definition at line 639 of file SO3Body.cpp.

◆ UpdatePositionOrientation() [1/2]

void SBody::UpdatePositionOrientation ( )

Definition at line 598 of file SO3Body.cpp.

◆ UpdatePositionOrientation() [2/2]

void SBody::UpdatePositionOrientation ( const Ogre::Vector3 &  mDerivedPos,
const Ogre::Quaternion &  mDerivedOrientation 
)

Definition at line 604 of file SO3Body.cpp.

Member Data Documentation

◆ constantForce

Ogre::Vector3 SO3::SBody::constantForce
protected

Definition at line 57 of file SO3Body.h.

◆ constantTorque

Ogre::Vector3 SO3::SBody::constantTorque
protected

Definition at line 58 of file SO3Body.h.

◆ destOrientation

Ogre::Quaternion SO3::SBody::destOrientation
protected

Definition at line 64 of file SO3Body.h.

◆ destPosition

Ogre::Vector3 SO3::SBody::destPosition
protected

Definition at line 63 of file SO3Body.h.

◆ force

Ogre::Vector3 SO3::SBody::force
protected

Definition at line 55 of file SO3Body.h.

◆ globalForce

Ogre::Vector3 SO3::SBody::globalForce
protected

Definition at line 60 of file SO3Body.h.

◆ globalLocationForce

Ogre::Vector3 SO3::SBody::globalLocationForce
protected

Definition at line 61 of file SO3Body.h.

◆ HasBuoyancy

bool SO3::SBody::HasBuoyancy
protected

Definition at line 53 of file SO3Body.h.

◆ haveToMove

bool SO3::SBody::haveToMove
protected

Definition at line 71 of file SO3Body.h.

◆ haveToRotate

bool SO3::SBody::haveToRotate
protected

Definition at line 72 of file SO3Body.h.

◆ isFluid

bool SO3::SBody::isFluid
protected

Definition at line 70 of file SO3Body.h.

◆ localForce

Ogre::Vector3 SO3::SBody::localForce
protected

Definition at line 59 of file SO3Body.h.

◆ localLocationForce

Ogre::Vector3 SO3::SBody::localLocationForce
protected

Definition at line 62 of file SO3Body.h.

◆ mApplyGravity

bool SO3::SBody::mApplyGravity
protected

Definition at line 52 of file SO3Body.h.

◆ materialId

SMaterialID* SO3::SBody::materialId
protected

Definition at line 73 of file SO3Body.h.

◆ mDebugBody

Ogre::ManualObject* SO3::SBody::mDebugBody
protected

Definition at line 50 of file SO3Body.h.

◆ mEnable

bool SO3::SBody::mEnable
protected

Definition at line 74 of file SO3Body.h.

◆ mFluidViscosity

Ogre::Real SO3::SBody::mFluidViscosity
protected

Definition at line 68 of file SO3Body.h.

◆ mFluidWaterToVolume

Ogre::Real SO3::SBody::mFluidWaterToVolume
protected

Definition at line 67 of file SO3Body.h.

◆ mIgnoreCollision

bool SO3::SBody::mIgnoreCollision
protected

Definition at line 51 of file SO3Body.h.

◆ mMass

Ogre::Real SO3::SBody::mMass
protected

Definition at line 54 of file SO3Body.h.

◆ mNode

SNode* SO3::SBody::mNode
protected

Definition at line 48 of file SO3Body.h.

◆ moveStiffness

Ogre::Real SO3::SBody::moveStiffness
protected

Definition at line 65 of file SO3Body.h.

◆ mScene

SScene* SO3::SBody::mScene
protected

Definition at line 49 of file SO3Body.h.

◆ mShape

SShape* SO3::SBody::mShape
protected

Definition at line 47 of file SO3Body.h.

◆ O3Body

OgreNewt::Body* SO3::SBody::O3Body
protected

Definition at line 46 of file SO3Body.h.

◆ rotateStiffness

Ogre::Real SO3::SBody::rotateStiffness
protected

Definition at line 66 of file SO3Body.h.

◆ torque

Ogre::Vector3 SO3::SBody::torque
protected

Definition at line 56 of file SO3Body.h.


The documentation for this class was generated from the following files: