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

#include <SO3NodeScol.h>

Inheritance diagram for SO3::SNode:
SO3::SData SO3::SBone SO3::SCamera SO3::SDynamicCubeMap SO3::SDynamicReflectionMap SO3::SEntity SO3::SLight SO3::SLineEntity SO3::SParticleSystem SO3::SRenderToTexture SO3::SSkeleton SO3::SVirtualPointer

Public Types

enum  NodeType {
  NODE_TYPE_ID = 0 , ENTITY_TYPE_ID = 1 , CAMERA_TYPE_ID = 2 , LIGHT_TYPE_ID = 3 ,
  SKELETON_TYPE_ID = 4 , BONE_TYPE_ID = 5 , PARTICLE_SYSTEM_TYPE_ID = 6 , DYNAMIC_CUBE_MAP_ID = 7 ,
  DYNAMIC_REFLECTION_MAP_ID = 8 , RENDER_TO_TEXTURE_ID = 9 , LINE_ENTITY_TYPE_ID = 10 , VIRTUAL_POINTER_TYPE_ID = 11
}
 
enum  NodeTransformSpace { SO3_LOCAL_TS = 0 , SO3_PARENT_TS = 1 , SO3_WORLD_TS = 2 }
 

Public Member Functions

 SNode (SScene *parent, const std::string &nodeName, const bool &isRootNode=false)
 
virtual ~SNode ()
 
SSceneGetParentScene ()
 
Ogre::SceneNode * GetOgreSceneNodePointer ()
 
Ogre::MovableObject * GetMovableObjectPointer ()
 
bool GetSceneNodeIsMouseForeground ()
 
void SetSceneNodeIsMouseForeground (const bool &mForeground)
 
bool GetSceneNodeIsMouseClick ()
 
void SetSceneNodeIsMouseClick (const bool &mClickable)
 
int GetSceneNodeMouseFlags ()
 
void SetSceneNodeMouseFlags (const int &flags)
 
bool GetSceneNodeHasBody ()
 
SBodyGetSceneNodeBody ()
 
void RestoreStaticGraph ()
 
void SetAsStaticGeometry (const bool &state)
 
bool GetAsStaticGeometry ()
 
Ogre::StaticGeometry * GetStaticGeometry ()
 
void SetFlags (const int &flags)
 
void SetPhysicsOverride (bool state)
 
bool GetPhysicsOverride ()
 
int GetFlags ()
 
void UpdateNodeBody (const bool &bScale)
 
void DisableAutoTarget ()
 
NodeType GetNodeType ()
 
void AttachToParent (SNode *newParentNode)
 
void DetachFromParent ()
 
SNodeGetParentSceneNode ()
 
const SNodeMap GetChildrenNodes () const
 
virtual int GetNumChildren ()
 
void DetachAllChildren ()
 
virtual void SetCastShadows (const bool &castShadows)
 
virtual bool GetCastShadows ()
 
virtual void SetRenderingDistance (const float &distance)
 
virtual float GetRenderingDistance ()
 
virtual Ogre::Vector3 GetBoundingBoxSize (const bool &childs=false)
 
virtual Ogre::Vector3 GetBoundingBoxCenter (const bool &childs=false)
 
virtual Ogre::Vector3 GetWorldBoundingBoxSize (const bool &childs=false)
 
virtual Ogre::Vector3 GetWorldBoundingBoxCenter (const bool &childs=false)
 
virtual Ogre::Matrix4 GetTransformationMatrix ()
 
virtual Ogre::Vector3 GetPosition ()
 
virtual void SetPosition (const Ogre::Vector3 &pos)
 
virtual Ogre::Quaternion GetOrientation ()
 
virtual void SetOrientation (const Ogre::Quaternion &quat)
 
virtual void AddOrientation (const Ogre::Quaternion &quat)
 
virtual Ogre::Vector3 GetScale ()
 
virtual void SetScale (const Ogre::Vector3 &scale)
 
virtual Ogre::Vector3 GetGlobalPosition ()
 
virtual void SetGlobalPosition (const Ogre::Vector3 &pos, bool updateBody=true)
 
virtual Ogre::Quaternion GetGlobalOrientation ()
 
virtual void SetGlobalOrientation (const Ogre::Quaternion &quat, bool updateBody=true)
 
virtual Ogre::Vector3 GetGlobalScale ()
 
virtual void SetGlobalScale (const Ogre::Vector3 &scale, bool updateBody=true)
 
virtual void StoreInitialPRS ()
 
virtual void ResetToInitialPRS ()
 
void ResetToInitialPosition ()
 
virtual void ResetToInitialOrientation ()
 
void ResetToInitialScale ()
 
virtual Ogre::Vector3 GetInitialPosition ()
 
virtual Ogre::Quaternion GetInitialOrientation ()
 
virtual Ogre::Vector3 GetInitialScale ()
 
bool GetShowBoundingBox ()
 
void SetShowBoundingBox (const bool &showBounding)
 
void SetAutoTracking (const bool &autoTrack, SNode *targetNode=0, const Ogre::Vector3 &localDirectionVector=Ogre::Vector3::NEGATIVE_UNIT_Z, const Ogre::Vector3 &offset=Ogre::Vector3::ZERO)
 
SNodeGetAutoTrackingTarget ()
 
virtual void Pitch (const float &radianAngle, const SNode::NodeTransformSpace &relativeTo=SNode::SO3_LOCAL_TS)
 
virtual void Yaw (const float &radianAngle, const SNode::NodeTransformSpace &relativeTo=SNode::SO3_LOCAL_TS)
 
virtual void Roll (const float &radianAngle, const SNode::NodeTransformSpace &relativeTo=SNode::SO3_LOCAL_TS)
 
virtual void Rotate (const Ogre::Vector3 &axis, const float &radianAngle, const SNode::NodeTransformSpace &relativeTo=SNode::SO3_LOCAL_TS)
 
virtual void Translate (const Ogre::Vector3 &d, const SNode::NodeTransformSpace &relativeTo=SNode::SO3_PARENT_TS)
 
void SetDirection (const Ogre::Vector3 &vec, const SNode::NodeTransformSpace &relativeTo=SNode::SO3_LOCAL_TS, const Ogre::Vector3 &localDirectionVector=Ogre::Vector3::NEGATIVE_UNIT_Z)
 
Ogre::Vector3 GetDirection (bool derived=false, Ogre::Vector3 axis=Ogre::Vector3::NEGATIVE_UNIT_Z)
 
void LookAt (const Ogre::Vector3 &targetPoint, const SNode::NodeTransformSpace &relativeTo, const Ogre::Vector3 &localDirectionVector=Ogre::Vector3::NEGATIVE_UNIT_Z)
 
bool GetVisible ()
 
void SetVisible (const bool &visible, const bool &cascade=true)
 
SNodeAnimationCreateNodeAnimation (const std::string &animationName, const float &animationLength)
 
void DeleteAnimation (SAnim *existingAnimation)
 
size_t GetNumAnimations ()
 
SAnimGetAnimation (const std::string &animationName)
 
SAnimGetAnimation (const unsigned short &animationIndex)
 
SAnimMap GetAnimations () const
 
bool IsAnimated ()
 
Ogre::Vector3 GetPositionFromNode (SNode *nodeRef)
 
Ogre::Quaternion GetOrientationFromNode (SNode *nodeRef)
 
Ogre::Vector3 GetScaleFromNode (SNode *nodeRef)
 
virtual void SetInheritOrientation (const bool &state)
 
virtual bool GetInheritOrientation ()
 
virtual void ResetOrientation ()
 
void DeleteBody ()
 
SBodyCreateBoxBody (const Ogre::Vector3 &boxsetting)
 
SBodyCreateBoxBody (const Ogre::Vector3 &boxsetting, const Ogre::Vector3 &offset, const Ogre::Quaternion &quat)
 
SBodyCreateConeBody (const Ogre::Real &radius, const Ogre::Real &height)
 
SBodyCreateConeBody (const Ogre::Real &radius, const Ogre::Real &height, const Ogre::Vector3 &offset, const Ogre::Quaternion &quat)
 
SBodyCreateEllipsoidBody (const Ogre::Vector3 &size)
 
SBodyCreateEllipsoidBody (const Ogre::Vector3 &size, const Ogre::Vector3 &offset, const Ogre::Quaternion &quat)
 
SBodyCreateCapsuleBody (const Ogre::Real &radius, const Ogre::Real &height)
 
SBodyCreateCapsuleBody (const Ogre::Real &radius, const Ogre::Real &height, const Ogre::Vector3 &offset, const Ogre::Quaternion &quat)
 
SBodyCreateCylinderBody (const Ogre::Real &radius, const Ogre::Real &height)
 
SBodyCreateCylinderBody (const Ogre::Real &radius, const Ogre::Real &height, const Ogre::Vector3 &offset, const Ogre::Quaternion &quat)
 
SBodyCreateChamferCylinderBody (const Ogre::Real &radius, const Ogre::Real &height)
 
SBodyCreateChamferCylinderBody (const Ogre::Real &radius, const Ogre::Real &height, const Ogre::Vector3 &offset, const Ogre::Quaternion &quat)
 
SBodyCreatePyramidBody (const Ogre::Vector3 &size)
 
SBodyCreatePyramidBody (const Ogre::Vector3 &size, const Ogre::Vector3 &offset, const Ogre::Quaternion &quat)
 
SBodyCreateConvexHullBody (const Ogre::Real &tolerance)
 
SBodyCreateConcaveHullBody (const Ogre::Real &tolerance)
 
SBodyCreateTreeBody (const bool &optimize)
 
bool IsDirty ()
 
void SetDirty (bool state)
 
void UpdateNodeFromBody ()
 
void ResetNode ()
 
- Public Member Functions inherited from SO3::SData
 SData (const std::string &dataName)
 
virtual ~SData ()
 
std::string GetName () const
 
SUserObjectBindingsGetUserObjectBindings ()
 
const SUserObjectBindingsGetUserObjectBindings () const
 

Protected Member Functions

 SNode (SScene *parent, const std::string &nodeName, const NodeType &nodeType)
 
void AddAnimation (SAnim *existingAnimation)
 
void RemoveAnimation (SAnim *existingAnimation)
 
void RemoveAnimation (const std::string &animationName)
 
Ogre::Vector3 GetSonsBoundingBox ()
 
Ogre::Vector3 GetSonsWorldBoundingBox ()
 

Protected Attributes

SScenecurrentScene
 
Ogre::SceneNode * O3SceneNode
 
Ogre::MovableObject * ogreMovableObject
 
SBodynodeBody
 
unsigned short animationCounter
 
Ogre::Vector3 initialPosition
 
Ogre::Quaternion initialOrientation
 
Ogre::Vector3 initialScale
 
- Protected Attributes inherited from SO3::SData
std::string name
 

Detailed Description

Definition at line 42 of file SO3NodeScol.h.

Member Enumeration Documentation

◆ NodeTransformSpace

Enumerator
SO3_LOCAL_TS 
SO3_PARENT_TS 
SO3_WORLD_TS 

Definition at line 60 of file SO3NodeScol.h.

◆ NodeType

Enumerator
NODE_TYPE_ID 
ENTITY_TYPE_ID 
CAMERA_TYPE_ID 
LIGHT_TYPE_ID 
SKELETON_TYPE_ID 
BONE_TYPE_ID 
PARTICLE_SYSTEM_TYPE_ID 
DYNAMIC_CUBE_MAP_ID 
DYNAMIC_REFLECTION_MAP_ID 
RENDER_TO_TEXTURE_ID 
LINE_ENTITY_TYPE_ID 
VIRTUAL_POINTER_TYPE_ID 

Definition at line 45 of file SO3NodeScol.h.

Constructor & Destructor Documentation

◆ SNode() [1/2]

SO3::SNode::SNode ( SScene parent,
const std::string &  nodeName,
const bool &  isRootNode = false 
)

Definition at line 37 of file SO3NodeScol.cpp.

◆ ~SNode()

SO3::SNode::~SNode ( )
virtual

Definition at line 120 of file SO3NodeScol.cpp.

◆ SNode() [2/2]

SO3::SNode::SNode ( SScene parent,
const std::string &  nodeName,
const NodeType nodeType 
)
protected

Protected constructor for child classes

Definition at line 79 of file SO3NodeScol.cpp.

Member Function Documentation

◆ AddAnimation()

void SO3::SNode::AddAnimation ( SAnim existingAnimation)
protected

Add a SAnim object to the list of handled animations.

Definition at line 1127 of file SO3NodeScol.cpp.

◆ AddOrientation()

void SO3::SNode::AddOrientation ( const Ogre::Quaternion &  quat)
virtual

Add a rotation to the node in local space terms.

Reimplemented in SO3::SBone.

Definition at line 617 of file SO3NodeScol.cpp.

◆ AttachToParent()

void SO3::SNode::AttachToParent ( SNode newParentNode)

Definition at line 308 of file SO3NodeScol.cpp.

◆ CreateBoxBody() [1/2]

SBody * SO3::SNode::CreateBoxBody ( const Ogre::Vector3 &  boxsetting)

Definition at line 1234 of file SO3NodeScol.cpp.

◆ CreateBoxBody() [2/2]

SBody * SO3::SNode::CreateBoxBody ( const Ogre::Vector3 &  boxsetting,
const Ogre::Vector3 &  offset,
const Ogre::Quaternion &  quat 
)

Definition at line 1249 of file SO3NodeScol.cpp.

◆ CreateCapsuleBody() [1/2]

SBody * SO3::SNode::CreateCapsuleBody ( const Ogre::Real &  radius,
const Ogre::Real &  height 
)

Definition at line 1324 of file SO3NodeScol.cpp.

◆ CreateCapsuleBody() [2/2]

SBody * SO3::SNode::CreateCapsuleBody ( const Ogre::Real &  radius,
const Ogre::Real &  height,
const Ogre::Vector3 &  offset,
const Ogre::Quaternion &  quat 
)

Definition at line 1339 of file SO3NodeScol.cpp.

◆ CreateChamferCylinderBody() [1/2]

SBody * SO3::SNode::CreateChamferCylinderBody ( const Ogre::Real &  radius,
const Ogre::Real &  height 
)

Definition at line 1384 of file SO3NodeScol.cpp.

◆ CreateChamferCylinderBody() [2/2]

SBody * SO3::SNode::CreateChamferCylinderBody ( const Ogre::Real &  radius,
const Ogre::Real &  height,
const Ogre::Vector3 &  offset,
const Ogre::Quaternion &  quat 
)

Definition at line 1399 of file SO3NodeScol.cpp.

◆ CreateConcaveHullBody()

SBody * SO3::SNode::CreateConcaveHullBody ( const Ogre::Real &  tolerance)

Definition at line 1486 of file SO3NodeScol.cpp.

◆ CreateConeBody() [1/2]

SBody * SO3::SNode::CreateConeBody ( const Ogre::Real &  radius,
const Ogre::Real &  height 
)

Definition at line 1264 of file SO3NodeScol.cpp.

◆ CreateConeBody() [2/2]

SBody * SO3::SNode::CreateConeBody ( const Ogre::Real &  radius,
const Ogre::Real &  height,
const Ogre::Vector3 &  offset,
const Ogre::Quaternion &  quat 
)

Definition at line 1279 of file SO3NodeScol.cpp.

◆ CreateConvexHullBody()

SBody * SO3::SNode::CreateConvexHullBody ( const Ogre::Real &  tolerance)

Definition at line 1444 of file SO3NodeScol.cpp.

◆ CreateCylinderBody() [1/2]

SBody * SO3::SNode::CreateCylinderBody ( const Ogre::Real &  radius,
const Ogre::Real &  height 
)

Definition at line 1354 of file SO3NodeScol.cpp.

◆ CreateCylinderBody() [2/2]

SBody * SO3::SNode::CreateCylinderBody ( const Ogre::Real &  radius,
const Ogre::Real &  height,
const Ogre::Vector3 &  offset,
const Ogre::Quaternion &  quat 
)

Definition at line 1369 of file SO3NodeScol.cpp.

◆ CreateEllipsoidBody() [1/2]

SBody * SO3::SNode::CreateEllipsoidBody ( const Ogre::Vector3 &  size)

Definition at line 1294 of file SO3NodeScol.cpp.

◆ CreateEllipsoidBody() [2/2]

SBody * SO3::SNode::CreateEllipsoidBody ( const Ogre::Vector3 &  size,
const Ogre::Vector3 &  offset,
const Ogre::Quaternion &  quat 
)

Definition at line 1309 of file SO3NodeScol.cpp.

◆ CreateNodeAnimation()

SNodeAnimation * SO3::SNode::CreateNodeAnimation ( const std::string &  animationName,
const float &  animationLength 
)

Create manually (by the user) a new SNodeAnimation.

Remarks
: if more animation type are needed, (vertex, skeleton)

Definition at line 1051 of file SO3NodeScol.cpp.

◆ CreatePyramidBody() [1/2]

SBody * SO3::SNode::CreatePyramidBody ( const Ogre::Vector3 &  size)

Definition at line 1414 of file SO3NodeScol.cpp.

◆ CreatePyramidBody() [2/2]

SBody * SO3::SNode::CreatePyramidBody ( const Ogre::Vector3 &  size,
const Ogre::Vector3 &  offset,
const Ogre::Quaternion &  quat 
)

Definition at line 1429 of file SO3NodeScol.cpp.

◆ CreateTreeBody()

SBody * SO3::SNode::CreateTreeBody ( const bool &  optimize)

Definition at line 1528 of file SO3NodeScol.cpp.

◆ DeleteAnimation()

void SO3::SNode::DeleteAnimation ( SAnim existingAnimation)

Delete manually an animation.

Remarks
: every type of animation can be deleted, so, if you delete an SSkeletonAnimation (that was created automatically by SO3) you will loose all information concerning it without possibility to reload it.

Definition at line 1058 of file SO3NodeScol.cpp.

◆ DeleteBody()

void SO3::SNode::DeleteBody ( )

Definition at line 1229 of file SO3NodeScol.cpp.

◆ DetachAllChildren()

void SO3::SNode::DetachAllChildren ( )

Definition at line 367 of file SO3NodeScol.cpp.

◆ DetachFromParent()

void SO3::SNode::DetachFromParent ( )

Definition at line 337 of file SO3NodeScol.cpp.

◆ DisableAutoTarget()

void SO3::SNode::DisableAutoTarget ( )

Definition at line 276 of file SO3NodeScol.cpp.

◆ GetAnimation() [1/2]

SAnim * SO3::SNode::GetAnimation ( const std::string &  animationName)

Definition at line 1075 of file SO3NodeScol.cpp.

◆ GetAnimation() [2/2]

SAnim * SO3::SNode::GetAnimation ( const unsigned short &  animationIndex)

Definition at line 1084 of file SO3NodeScol.cpp.

◆ GetAnimations()

SAnimMap SO3::SNode::GetAnimations ( ) const

Definition at line 1093 of file SO3NodeScol.cpp.

◆ GetAsStaticGeometry()

bool SO3::SNode::GetAsStaticGeometry ( )

Definition at line 1661 of file SO3NodeScol.cpp.

◆ GetAutoTrackingTarget()

SNode * SO3::SNode::GetAutoTrackingTarget ( )

Definition at line 852 of file SO3NodeScol.cpp.

◆ GetBoundingBoxCenter()

Ogre::Vector3 SO3::SNode::GetBoundingBoxCenter ( const bool &  childs = false)
virtual
Remarks
: the SNode implementation throws an exception, you must re-define this function in child classes that manage a bounding box.

Reimplemented in SO3::SCamera, SO3::SEntity, SO3::SLight, and SO3::SLineEntity.

Definition at line 456 of file SO3NodeScol.cpp.

◆ GetBoundingBoxSize()

Ogre::Vector3 SO3::SNode::GetBoundingBoxSize ( const bool &  childs = false)
virtual
Remarks
: the SNode implementation throws an exception, you must re-define this function in child classes that manage a bounding box.

Reimplemented in SO3::SCamera, SO3::SEntity, SO3::SLight, and SO3::SLineEntity.

Definition at line 447 of file SO3NodeScol.cpp.

◆ GetCastShadows()

bool SO3::SNode::GetCastShadows ( )
virtual
Remarks
: the SNode implementation throws an exception, you must re-define this function in child classes that manage Shadow Casting.

Reimplemented in SO3::SEntity, SO3::SLight, and SO3::SLineEntity.

Definition at line 430 of file SO3NodeScol.cpp.

◆ GetChildrenNodes()

const SNodeMap SO3::SNode::GetChildrenNodes ( ) const

Definition at line 357 of file SO3NodeScol.cpp.

◆ GetDirection()

Ogre::Vector3 SO3::SNode::GetDirection ( bool  derived = false,
Ogre::Vector3  axis = Ogre::Vector3::NEGATIVE_UNIT_Z 
)

Definition at line 899 of file SO3NodeScol.cpp.

◆ GetFlags()

int SO3::SNode::GetFlags ( )

Definition at line 178 of file SO3NodeScol.cpp.

◆ GetGlobalOrientation()

Ogre::Quaternion SO3::SNode::GetGlobalOrientation ( )
virtual

Get the node orientation in global space terms.

Reimplemented in SO3::SBone, and SO3::SSkeleton.

Definition at line 709 of file SO3NodeScol.cpp.

◆ GetGlobalPosition()

Ogre::Vector3 SO3::SNode::GetGlobalPosition ( )
virtual

Get the node position in global space terms.

Reimplemented in SO3::SBone, and SO3::SSkeleton.

Definition at line 649 of file SO3NodeScol.cpp.

◆ GetGlobalScale()

Ogre::Vector3 SO3::SNode::GetGlobalScale ( )
virtual

Get the node scale in global space terms.

Reimplemented in SO3::SBone, and SO3::SSkeleton.

Definition at line 784 of file SO3NodeScol.cpp.

◆ GetInheritOrientation()

bool SO3::SNode::GetInheritOrientation ( )
virtual

Reimplemented in SO3::SBone.

Definition at line 1218 of file SO3NodeScol.cpp.

◆ GetInitialOrientation()

Ogre::Quaternion SO3::SNode::GetInitialOrientation ( )
virtual

Get the node orientation before "play".

Reimplemented in SO3::SBone.

Definition at line 1041 of file SO3NodeScol.cpp.

◆ GetInitialPosition()

Ogre::Vector3 SO3::SNode::GetInitialPosition ( )
virtual

Get the node position before "play".

Reimplemented in SO3::SBone.

Definition at line 1036 of file SO3NodeScol.cpp.

◆ GetInitialScale()

Ogre::Vector3 SO3::SNode::GetInitialScale ( )
virtual

Get the node scale before "play".

Reimplemented in SO3::SBone.

Definition at line 1046 of file SO3NodeScol.cpp.

◆ GetMovableObjectPointer()

Ogre::MovableObject * SO3::SNode::GetMovableObjectPointer ( )

Definition at line 168 of file SO3NodeScol.cpp.

◆ GetNodeType()

SNode::NodeType SO3::SNode::GetNodeType ( )

Definition at line 303 of file SO3NodeScol.cpp.

◆ GetNumAnimations()

size_t SO3::SNode::GetNumAnimations ( )

Definition at line 1070 of file SO3NodeScol.cpp.

◆ GetNumChildren()

int SO3::SNode::GetNumChildren ( )
virtual

Reimplemented in SO3::SBone.

Definition at line 362 of file SO3NodeScol.cpp.

◆ GetOgreSceneNodePointer()

Ogre::SceneNode * SO3::SNode::GetOgreSceneNodePointer ( )

Definition at line 163 of file SO3NodeScol.cpp.

◆ GetOrientation()

Ogre::Quaternion SO3::SNode::GetOrientation ( )
virtual

Get the node orientation in local space terms.

Reimplemented in SO3::SBone.

Definition at line 581 of file SO3NodeScol.cpp.

◆ GetOrientationFromNode()

Ogre::Quaternion SO3::SNode::GetOrientationFromNode ( SNode nodeRef)

Get the node orientation in another node reference

Definition at line 1186 of file SO3NodeScol.cpp.

◆ GetParentScene()

SScene * SO3::SNode::GetParentScene ( )

Definition at line 298 of file SO3NodeScol.cpp.

◆ GetParentSceneNode()

SNode * SO3::SNode::GetParentSceneNode ( )

Definition at line 352 of file SO3NodeScol.cpp.

◆ GetPhysicsOverride()

bool SO3::SNode::GetPhysicsOverride ( )

Definition at line 1751 of file SO3NodeScol.cpp.

◆ GetPosition()

Ogre::Vector3 SO3::SNode::GetPosition ( )
virtual

Get the node position in local space terms.

Reimplemented in SO3::SBone.

Definition at line 543 of file SO3NodeScol.cpp.

◆ GetPositionFromNode()

Ogre::Vector3 SO3::SNode::GetPositionFromNode ( SNode nodeRef)

Get the node position in another node reference

Definition at line 1171 of file SO3NodeScol.cpp.

◆ GetRenderingDistance()

float SO3::SNode::GetRenderingDistance ( )
virtual
Remarks
: the SNode implementation throws an exception, you must re-define this function in child classes that manage Rendering Distance.

Reimplemented in SO3::SCamera, SO3::SEntity, SO3::SLight, SO3::SLineEntity, and SO3::SParticleSystem.

Definition at line 441 of file SO3NodeScol.cpp.

◆ GetScale()

Ogre::Vector3 SO3::SNode::GetScale ( )
virtual

Get the node scale in local space terms.

Reimplemented in SO3::SBone.

Definition at line 625 of file SO3NodeScol.cpp.

◆ GetScaleFromNode()

Ogre::Vector3 SO3::SNode::GetScaleFromNode ( SNode nodeRef)

Get the node scale in another node reference

Definition at line 1200 of file SO3NodeScol.cpp.

◆ GetSceneNodeBody()

SBody * SO3::SNode::GetSceneNodeBody ( )

Definition at line 218 of file SO3NodeScol.cpp.

◆ GetSceneNodeHasBody()

bool SO3::SNode::GetSceneNodeHasBody ( )

Definition at line 213 of file SO3NodeScol.cpp.

◆ GetSceneNodeIsMouseClick()

bool SO3::SNode::GetSceneNodeIsMouseClick ( )

Definition at line 193 of file SO3NodeScol.cpp.

◆ GetSceneNodeIsMouseForeground()

bool SO3::SNode::GetSceneNodeIsMouseForeground ( )

Definition at line 183 of file SO3NodeScol.cpp.

◆ GetSceneNodeMouseFlags()

int SO3::SNode::GetSceneNodeMouseFlags ( )

Definition at line 203 of file SO3NodeScol.cpp.

◆ GetShowBoundingBox()

bool SO3::SNode::GetShowBoundingBox ( )

Definition at line 833 of file SO3NodeScol.cpp.

◆ GetSonsBoundingBox()

Ogre::Vector3 SO3::SNode::GetSonsBoundingBox ( )
protected

get sons bounding box.

Definition at line 477 of file SO3NodeScol.cpp.

◆ GetSonsWorldBoundingBox()

Ogre::Vector3 SO3::SNode::GetSonsWorldBoundingBox ( )
protected

get sons world bounding box.

Definition at line 508 of file SO3NodeScol.cpp.

◆ GetStaticGeometry()

Ogre::StaticGeometry * SO3::SNode::GetStaticGeometry ( )

Definition at line 1669 of file SO3NodeScol.cpp.

◆ GetTransformationMatrix()

Ogre::Matrix4 SO3::SNode::GetTransformationMatrix ( )
virtual

Reimplemented in SO3::SBone.

Definition at line 538 of file SO3NodeScol.cpp.

◆ GetVisible()

bool SO3::SNode::GetVisible ( )

Definition at line 914 of file SO3NodeScol.cpp.

◆ GetWorldBoundingBoxCenter()

Ogre::Vector3 SO3::SNode::GetWorldBoundingBoxCenter ( const bool &  childs = false)
virtual
Remarks
: the SNode implementation throws an exception, you must re-define this function in child classes that manage a bounding box.

Reimplemented in SO3::SCamera, SO3::SEntity, SO3::SLight, and SO3::SLineEntity.

Definition at line 471 of file SO3NodeScol.cpp.

◆ GetWorldBoundingBoxSize()

Ogre::Vector3 SO3::SNode::GetWorldBoundingBoxSize ( const bool &  childs = false)
virtual
Remarks
: the SNode implementation throws an exception, you must re-define this function in child classes that manage a bounding box.

Reimplemented in SO3::SCamera, SO3::SEntity, SO3::SLight, and SO3::SLineEntity.

Definition at line 462 of file SO3NodeScol.cpp.

◆ IsAnimated()

bool SO3::SNode::IsAnimated ( )

Definition at line 1098 of file SO3NodeScol.cpp.

◆ IsDirty()

bool SO3::SNode::IsDirty ( )

Definition at line 1674 of file SO3NodeScol.cpp.

◆ LookAt()

void SO3::SNode::LookAt ( const Ogre::Vector3 &  targetPoint,
const SNode::NodeTransformSpace relativeTo,
const Ogre::Vector3 &  localDirectionVector = Ogre::Vector3::NEGATIVE_UNIT_Z 
)

Definition at line 907 of file SO3NodeScol.cpp.

◆ Pitch()

void SO3::SNode::Pitch ( const float &  radianAngle,
const SNode::NodeTransformSpace relativeTo = SNode::SO3_LOCAL_TS 
)
virtual

Reimplemented in SO3::SBone.

Definition at line 857 of file SO3NodeScol.cpp.

◆ RemoveAnimation() [1/2]

void SO3::SNode::RemoveAnimation ( const std::string &  animationName)
protected

Remove a SAnim object from the list of handled animations.

Definition at line 1152 of file SO3NodeScol.cpp.

◆ RemoveAnimation() [2/2]

void SO3::SNode::RemoveAnimation ( SAnim existingAnimation)
protected

Remove a SAnim object from the list of handled animations.

Definition at line 1146 of file SO3NodeScol.cpp.

◆ ResetNode()

void SO3::SNode::ResetNode ( )

Definition at line 1005 of file SO3NodeScol.cpp.

◆ ResetOrientation()

void SO3::SNode::ResetOrientation ( )
virtual

Reimplemented in SO3::SBone.

Definition at line 1223 of file SO3NodeScol.cpp.

◆ ResetToInitialOrientation()

void SO3::SNode::ResetToInitialOrientation ( )
virtual

Reset the node Orientation as it was before "play" (as it was when "StoreInitialPRS" was called).

Reimplemented in SO3::SBone.

Definition at line 993 of file SO3NodeScol.cpp.

◆ ResetToInitialPosition()

void SO3::SNode::ResetToInitialPosition ( )

Reset the node Position as it was before "play" (as it was when "StoreInitialPRS" was called).

Definition at line 987 of file SO3NodeScol.cpp.

◆ ResetToInitialPRS()

void SO3::SNode::ResetToInitialPRS ( )
virtual

Reset the node Position, Rotation and Scale as it was before "play" (as it was when "StoreInitialPRS" was called).

Reimplemented in SO3::SBone.

Definition at line 978 of file SO3NodeScol.cpp.

◆ ResetToInitialScale()

void SO3::SNode::ResetToInitialScale ( )

Reset the node Scale as it was before "play" (as it was when "StoreInitialPRS" was called).

Definition at line 999 of file SO3NodeScol.cpp.

◆ RestoreStaticGraph()

void SO3::SNode::RestoreStaticGraph ( )

Definition at line 1579 of file SO3NodeScol.cpp.

◆ Roll()

void SO3::SNode::Roll ( const float &  radianAngle,
const SNode::NodeTransformSpace relativeTo = SNode::SO3_LOCAL_TS 
)
virtual

Reimplemented in SO3::SBone.

Definition at line 871 of file SO3NodeScol.cpp.

◆ Rotate()

void SO3::SNode::Rotate ( const Ogre::Vector3 &  axis,
const float &  radianAngle,
const SNode::NodeTransformSpace relativeTo = SNode::SO3_LOCAL_TS 
)
virtual

Reimplemented in SO3::SBone.

Definition at line 878 of file SO3NodeScol.cpp.

◆ SetAsStaticGeometry()

void SO3::SNode::SetAsStaticGeometry ( const bool &  state)

Definition at line 1601 of file SO3NodeScol.cpp.

◆ SetAutoTracking()

void SO3::SNode::SetAutoTracking ( const bool &  autoTrack,
SNode targetNode = 0,
const Ogre::Vector3 &  localDirectionVector = Ogre::Vector3::NEGATIVE_UNIT_Z,
const Ogre::Vector3 &  offset = Ogre::Vector3::ZERO 
)

Definition at line 843 of file SO3NodeScol.cpp.

◆ SetCastShadows()

void SO3::SNode::SetCastShadows ( const bool &  castShadows)
virtual
Remarks
: the SNode implementation throws an exception, you must re-define this function in child classes that manage Shadow Casting.

Reimplemented in SO3::SEntity, SO3::SLight, and SO3::SLineEntity.

Definition at line 425 of file SO3NodeScol.cpp.

◆ SetDirection()

void SO3::SNode::SetDirection ( const Ogre::Vector3 &  vec,
const SNode::NodeTransformSpace relativeTo = SNode::SO3_LOCAL_TS,
const Ogre::Vector3 &  localDirectionVector = Ogre::Vector3::NEGATIVE_UNIT_Z 
)

Definition at line 892 of file SO3NodeScol.cpp.

◆ SetDirty()

void SO3::SNode::SetDirty ( bool  state)

Definition at line 1679 of file SO3NodeScol.cpp.

◆ SetFlags()

void SO3::SNode::SetFlags ( const int &  flags)

Definition at line 173 of file SO3NodeScol.cpp.

◆ SetGlobalOrientation()

void SO3::SNode::SetGlobalOrientation ( const Ogre::Quaternion &  quat,
bool  updateBody = true 
)
virtual

Set the node orientation in global space terms.

Reimplemented in SO3::SBone, and SO3::SSkeleton.

Definition at line 723 of file SO3NodeScol.cpp.

◆ SetGlobalPosition()

void SO3::SNode::SetGlobalPosition ( const Ogre::Vector3 &  pos,
bool  updateBody = true 
)
virtual

Set the node position in global space terms.

Reimplemented in SO3::SBone, and SO3::SSkeleton.

Definition at line 660 of file SO3NodeScol.cpp.

◆ SetGlobalScale()

void SO3::SNode::SetGlobalScale ( const Ogre::Vector3 &  scale,
bool  updateBody = true 
)
virtual

Set the node scale in global space terms.

Reimplemented in SO3::SBone.

Definition at line 795 of file SO3NodeScol.cpp.

◆ SetInheritOrientation()

void SO3::SNode::SetInheritOrientation ( const bool &  state)
virtual

Reimplemented in SO3::SBone.

Definition at line 1213 of file SO3NodeScol.cpp.

◆ SetOrientation()

void SO3::SNode::SetOrientation ( const Ogre::Quaternion &  quat)
virtual

Set the node orientation in local space terms.

Reimplemented in SO3::SBone.

Definition at line 589 of file SO3NodeScol.cpp.

◆ SetPhysicsOverride()

void SO3::SNode::SetPhysicsOverride ( bool  state)

Definition at line 1745 of file SO3NodeScol.cpp.

◆ SetPosition()

void SO3::SNode::SetPosition ( const Ogre::Vector3 &  pos)
virtual

Set the node position in local space terms.

Reimplemented in SO3::SBone.

Definition at line 548 of file SO3NodeScol.cpp.

◆ SetRenderingDistance()

void SO3::SNode::SetRenderingDistance ( const float &  distance)
virtual
Remarks
: the SNode implementation throws an exception, you must re-define this function in child classes that manage Rendering Distance.

Reimplemented in SO3::SCamera, SO3::SEntity, SO3::SLight, SO3::SLineEntity, and SO3::SParticleSystem.

Definition at line 436 of file SO3NodeScol.cpp.

◆ SetScale()

void SO3::SNode::SetScale ( const Ogre::Vector3 &  scale)
virtual

Set the node scale in local space terms.

Reimplemented in SO3::SBone, and SO3::SParticleSystem.

Definition at line 630 of file SO3NodeScol.cpp.

◆ SetSceneNodeIsMouseClick()

void SO3::SNode::SetSceneNodeIsMouseClick ( const bool &  mClickable)

Definition at line 198 of file SO3NodeScol.cpp.

◆ SetSceneNodeIsMouseForeground()

void SO3::SNode::SetSceneNodeIsMouseForeground ( const bool &  mForeground)

Definition at line 188 of file SO3NodeScol.cpp.

◆ SetSceneNodeMouseFlags()

void SO3::SNode::SetSceneNodeMouseFlags ( const int &  flags)

Definition at line 208 of file SO3NodeScol.cpp.

◆ SetShowBoundingBox()

void SO3::SNode::SetShowBoundingBox ( const bool &  showBounding)

Definition at line 838 of file SO3NodeScol.cpp.

◆ SetVisible()

void SO3::SNode::SetVisible ( const bool &  visible,
const bool &  cascade = true 
)

Definition at line 934 of file SO3NodeScol.cpp.

◆ StoreInitialPRS()

void SO3::SNode::StoreInitialPRS ( )
virtual

Store the node actual Position, Rotation and Scale before "play".

Reimplemented in SO3::SBone.

Definition at line 971 of file SO3NodeScol.cpp.

◆ Translate()

void SO3::SNode::Translate ( const Ogre::Vector3 &  d,
const SNode::NodeTransformSpace relativeTo = SNode::SO3_PARENT_TS 
)
virtual

Reimplemented in SO3::SBone.

Definition at line 885 of file SO3NodeScol.cpp.

◆ UpdateNodeBody()

void SO3::SNode::UpdateNodeBody ( const bool &  bScale)

Definition at line 224 of file SO3NodeScol.cpp.

◆ UpdateNodeFromBody()

void SO3::SNode::UpdateNodeFromBody ( )

Definition at line 1694 of file SO3NodeScol.cpp.

◆ Yaw()

void SO3::SNode::Yaw ( const float &  radianAngle,
const SNode::NodeTransformSpace relativeTo = SNode::SO3_LOCAL_TS 
)
virtual

Reimplemented in SO3::SBone.

Definition at line 864 of file SO3NodeScol.cpp.

Member Data Documentation

◆ animationCounter

unsigned short SO3::SNode::animationCounter
protected

Definition at line 72 of file SO3NodeScol.h.

◆ currentScene

SScene* SO3::SNode::currentScene
protected

Definition at line 68 of file SO3NodeScol.h.

◆ initialOrientation

Ogre::Quaternion SO3::SNode::initialOrientation
protected

Definition at line 76 of file SO3NodeScol.h.

◆ initialPosition

Ogre::Vector3 SO3::SNode::initialPosition
protected

Definition at line 75 of file SO3NodeScol.h.

◆ initialScale

Ogre::Vector3 SO3::SNode::initialScale
protected

Definition at line 77 of file SO3NodeScol.h.

◆ nodeBody

SBody* SO3::SNode::nodeBody
protected

Definition at line 71 of file SO3NodeScol.h.

◆ O3SceneNode

Ogre::SceneNode* SO3::SNode::O3SceneNode
protected

Definition at line 69 of file SO3NodeScol.h.

◆ ogreMovableObject

Ogre::MovableObject* SO3::SNode::ogreMovableObject
protected

Definition at line 70 of file SO3NodeScol.h.


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