|
|
|
|
Documentation |
|
Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages Search
NL3D::CBone Class ReferenceThis is a bone, for skeleton animation, with information for result WorldMatrix.
More...
#include <bone.h>
Inheritance diagram for NL3D::CBone:
List of all members.
Detailed Description
This is a bone, for skeleton animation, with information for result WorldMatrix.
-
Author:
-
Lionel Berenguier , Nevrax France
-
Date:
-
2001
Definition at line 89 of file bone.h.
Constructor & Destructor Documentation
|
Constructor.
build a bone from a CBoneBase*. By defautl, a bone is in RotQuat transform mode. This ctor:
- store a RefPtr on the bonebase (for getDefaultTracks() method). the refptr is just for nlassert.
- copy the bonebase default track value into Animated Values Pos/Rot etc....
Definition at line 91 of file bone.cpp.
References _BoneBase, _PivotChannelId, _PosChannelId, _RotEulerChannelId, _RotQuatChannelId, _ScaleChannelId, NL3D::ITransformable::AnimValueLast, NL3D::CAnimatedValueQuat, NL3D::CAnimatedValueVector, and nlassert. |
Member Function Documentation
void NL3D::CBone::compute |
( |
CBone * |
parent, |
|
|
const CMatrix & |
rootMatrix |
|
) |
|
|
|
Compute the LocalSkeletonMatrix, the WorldMatrix, and the BoneSkinMatrix (for skinning).
NB: the result localSkeletonMatrix depends on BoneBase::UnheritScale.
NB: the result worldMatrix depends on BoneBase::UnheritScale.
NB: the result boneSkinMatrix depends on BoneBase::InvBindPos.
-
Parameters:
-
parent |
the parent of this bone (maybe NULL if root). his WorldMatrix is used, so it should be computed before. |
rootMatrix |
is used as father worldmatrix if parent==NULL. Usefull for computing WorldMatrix. |
Definition at line 150 of file bone.cpp.
References _BoneBase, _BoneSkinMatrix, _LocalSkeletonMatrix, _WorldMatrix, NL3D::ITransformable::getMatrix, NL3D::ITransformable::getPos, NL3D::ITransformable::getTransformMode, and nlassert. |
const std::string& NL3D::CBone::getBoneName |
( |
|
) |
const [inline] |
|
const CMatrix& NL3D::CBone::getBoneSkinMatrix |
( |
|
) |
const [inline] |
|
ITrack * NL3D::CBone::getDefaultTrack |
( |
uint |
valueId |
) |
[virtual] |
|
sint32 NL3D::CBone::getFatherId |
( |
|
) |
const [inline] |
|
const CMatrix& NL3D::CBone::getLocalSkeletonMatrix |
( |
|
) |
const [inline] |
|
const CMatrix& NL3D::CBone::getWorldMatrix |
( |
|
) |
const [inline] |
|
void NL3D::CBone::interpolateBoneSkinMatrix |
( |
const CMatrix & |
otherMatrix, |
|
|
float |
interp |
|
) |
|
|
|
Interpolate the current result of _BoneSkinMatrix fith otherMatrix.
when interp==0.f, _BoneSkinMatrix= otherMatrix. NB: the interpolation is made on per-vector basis => bad matrix interpolation.
Definition at line 218 of file bone.cpp.
References _BoneSkinMatrix. |
void NL3D::CBone::lodEnableChannels |
( |
CChannelMixer * |
chanMixer, |
|
|
bool |
enable |
|
) |
|
|
void NL3D::CBone::registerToChannelMixer |
( |
CChannelMixer * |
chanMixer, |
|
|
const std::string & |
prefix |
|
) |
[virtual] |
|
|
register the ITransformable channels as detailled channels.
Implements NL3D::ITransformable.
Definition at line 136 of file bone.cpp.
References _PivotChannelId, _PosChannelId, _RotEulerChannelId, _RotQuatChannelId, _ScaleChannelId, NL3D::IAnimatable::addValue, NL3D::ITransformable::OwnerBit, NL3D::ITransformable::PivotValue, NL3D::ITransformable::PosValue, NL3D::ITransformable::RotEulerValue, NL3D::ITransformable::RotQuatValue, and NL3D::ITransformable::ScaleValue. |
Member Data Documentation
CMatrix NL3D::CBone::_BoneSkinMatrix [private]
|
|
CMatrix NL3D::CBone::_LocalSkeletonMatrix [private]
|
|
sint NL3D::CBone::_PivotChannelId [private]
|
|
sint NL3D::CBone::_PosChannelId [private]
|
|
sint NL3D::CBone::_RotEulerChannelId [private]
|
|
sint NL3D::CBone::_RotQuatChannelId [private]
|
|
sint NL3D::CBone::_ScaleChannelId [private]
|
|
CMatrix NL3D::CBone::_WorldMatrix [private]
|
|
The documentation for this class was generated from the following files:
|
|