40 #ifndef _graphicsbone_cpp
41 #define _graphicsbone_cpp
43 #include "Graphics/skeleton.h"
44 #include "Graphics/bone.h"
64 return Ogre::Node::TS_WORLD;
69 : GraphicsBone(InternalBone),
72 Ogre::Any OgreRef(
this);
84 {
return this->
Host; }
108 {
return Ogre::any_cast<
Bone*>( this->
GraphicsBone->getChild(Index)->getUserAny() ); }
111 {
return Ogre::any_cast<
Bone*>( this->
GraphicsBone->getChild(Name)->getUserAny() ); }
156 { this->
GraphicsBone->translate( X, Y, Z, ConvertTransformSpace(Space) ); }
159 { this->
GraphicsBone->yaw( Ogre::Radian(Angle), ConvertTransformSpace(Space) ); }
162 { this->
GraphicsBone->pitch( Ogre::Radian(Angle), ConvertTransformSpace(Space) ); }
165 { this->
GraphicsBone->roll( Ogre::Radian(Angle), ConvertTransformSpace(Space) ); }
Ogre::Bone * _GetInternalBone() const
Gets the internal bone pointer.
UInt16 GetNumChildren() const
Gets the number of child bones contained by this bone.
bool Boole
Generally acts a single bit, true or false.
Vector3 GetScale() const
Gets the scaling currently being applied to this object.
UInt16 GetHandle() const
Gets the unique identifying number belonging to this bone.
void Roll(const Real Angle, const Mezzanine::TransformSpace Space=Mezzanine::TS_Parent)
Rotate the object around the Z axis.
Skeleton * GetHost() const
Gets the host skeleton this bone belongs to.
void SetManuallyControlled(Boole Manual)
Sets whether or not this bone is to be manually controlled.
Local space, aka the object in questions world position is used as origin.
Quaternion GetOrientation() const
Gets this objects current orientation.
void Yaw(const Real Angle, const Mezzanine::TransformSpace Space=Mezzanine::TS_Parent)
Rotate the object around the Y axis.
float Real
A Datatype used to represent a real floating point number.
const String & GetName() const
Gets the name of this Bone.
uint16_t UInt16
An 16-bit unsigned integer.
Bone * _CreateBoneWrapper(Ogre::Bone *InternalBone)
Creates a bone wrapper for a pre-made internal bone.
Ogre::Quaternion GetOgreQuaternion(Boole normalize=false) const
Gets a Ogre quaternion.
Bone * CreateChild(const UInt16 Handle, const Vector3 &Trans, const Quaternion &Rot)
Creates a new bone in the parent skeleton as a child of this bone.
void Scale(const Vector3 &Scale)
Scales the object from it's current size.
void SetScale(const Vector3 &Sc)
Sets the scaling to be applied to this object.
void SetLocation(const Vector3 &Loc)
Sets the location of this object in parent space.
Ogre::Vector3 GetOgreVector3() const
Gets a Ogre vector3.
Ogre::Bone * GraphicsBone
The pointer to the internal Bone this is based on.
void Rotate(const Vector3 &Axis, const Real Angle, const Mezzanine::TransformSpace Space=Mezzanine::TS_Parent)
Rotates the object from it's existing rotation.
Bone * GetChild(const UInt16 Index) const
Gets a child bone by it's index.
This class encapsulates the bones contained in a skeleton used for animation.
void RemoveChild(Bone *ToBeRemoved)
Removes a bone from this bone.
This class encapsulates the Skeletal animation functionality of a Mesh.
Bone(Skeleton *HostSkel, Ogre::Bone *InternalBone)
Internal constructor.
This is used to represent a point in space, or a vector through space.
Mostly reserved for rotations, means a rotation to occur around the parent instead of self...
The bulk of the engine components go in this namspace.
TransformSpace
Used to define what frame of reference is to be used when positioning or rotating objects...
void Pitch(const Real Angle, const Mezzanine::TransformSpace Space=Mezzanine::TS_Parent)
Rotate the object around the X axis.
void SetOrientation(const Quaternion &Ori)
Sets the orientation of this object in parent space.
This is used to store information about rotation in 3d space.
Vector3 GetLocation() const
Gets this objects current location.
Skeleton * Host
The host skeleton this bone belongs to.
std::string String
A datatype used to a series of characters.
Boole GetManuallyControlled() const
Gets whether or not this bone is being manually controlled.
void Translate(const Vector3 &Trans, const Mezzanine::TransformSpace Space=Mezzanine::TS_Parent)
Moves this object from it's current location.