bool isManuallyControlled() const
Getter for mManuallyControlled Flag.
Vector3 mBindDerivedInverseScale
The inversed derived scale of the bone in the binding pose.
void reset(void)
Resets the position and orientation of this Bone to the original binding position.
unsigned short mHandle
The numeric handle of this bone.
void needUpdate(bool forceParentUpdate=false)
Vector3 mBindDerivedInversePosition
The inversed derived position of the bone in the binding pose.
Bone(unsigned short handle, Skeleton *creator)
Constructor, not to be used directly (use Bone::createChild or Skeleton::createBone)
Skeleton * mCreator
Pointer back to creator, for child creation (not smart ptr so child does not preserve parent)
void setBindingPose(void)
Sets the current position / orientation to be the 'binding pose' ie the layout in which bones were or...
const Vector3 & _getBindingPoseInversePosition(void) const
Gets the inverted binding pose position.
Node * createChildImpl(void)
See Node.
const Quaternion & _getBindingPoseInverseOrientation(void) const
Gets the inverted binding pose orientation.
Bone * createChild(unsigned short handle, const Vector3 &translate=Vector3::ZERO, const Quaternion &rotate=Quaternion::IDENTITY)
Creates a new Bone as a child of this bone.
unsigned short getHandle(void) const
Gets the numeric handle for this bone (unique within the skeleton).
bool mManuallyControlled
Bones set as manuallyControlled are not reseted in Skeleton::reset()
const Vector3 & _getBindingPoseInverseScale(void) const
Gets the inverted binding pose scale.
Quaternion mBindDerivedInverseOrientation
The inversed derived orientation of the bone in the binding pose.
void _getOffsetTransform(Matrix4 &m) const
Gets the transform which takes bone space to current from the binding pose.
Node * createChildImpl(const String &name)
See Node.
Bone(const String &name, unsigned short handle, Skeleton *creator)
Constructor, not to be used directly (use Bone::createChild or Skeleton::createBone)
void setManuallyControlled(bool manuallyControlled)
Sets whether or not this bone is manually controlled.
Class encapsulating a standard 4x4 homogeneous matrix.
virtual void translate(const Vector3 &d, TransformSpace relativeTo=TS_PARENT)
Moves the node along the Cartesian axes.
virtual void rotate(const Vector3 &axis, const Radian &angle, TransformSpace relativeTo=TS_LOCAL)
Rotate the node around an arbitrary axis.
Node()
Constructor, should only be called by parent, not directly.
Implementation of a Quaternion, i.e.
static const Quaternion IDENTITY
A collection of Bone objects used to animate a skinned mesh.
Standard 3-dimensional vector.
static const Vector3 ZERO