#include <u_bone.h>
Inheritance diagram for NL3D::UBone:
Nevrax France
Definition at line 44 of file u_bone.h.
Public Types | |
enum | TTransformMode { DirectMatrix = 0, RotEuler, RotQuat, TransformModeCount } |
Public Member Functions | |
Special feature | |
virtual const CMatrix & | getLastWorldMatrixComputed () const=0 |
Protected Member Functions | |
Object | |
UBone () | |
Constructor. By default, RotQuat mode. | |
virtual | ~UBone () |
Constructor. By default, RotQuat mode. |
|
Definition at line 66 of file u_transformable.h.
00067 { 00068 DirectMatrix=0, // DirectMatrixMode . 00069 RotEuler, // Matrix is computed from sperated composantes, with euler rotation. 00070 RotQuat, // Matrix is computed from sperated composantes, with quat rotation (default). 00071 00072 TransformModeCount 00073 }; |
|
Constructor. By default, RotQuat mode.
Definition at line 51 of file u_bone.h.
00051 {} |
|
Constructor. By default, RotQuat mode.
Definition at line 52 of file u_bone.h.
00052 {} |
|
get the last world matrix computed in last render(). NB: this WM is computed in last render() only if the object was not clipped. So use it wisely. NB: this WM may also not be computed in last render() for "Lod skeleton" reason. ie if the skeleton is too far, the engine may not compute a bone (for speed). To avoid problem, you should ask the artist what bones have such a scheme, or you could stickObject() a dummy (eg a UTransform) onto this bone, because in this case, this bone will always be computed. Implemented in NL3D::CBoneUser. |
|
Get the matrix, compute her if necessary (work in all modes).
Implemented in NL3D::CTransformableUser. Referenced by NL3D::CDriverUser::setMatrixMode3D(). |
|
Work only in Rot* mode (nlassert).
Implemented in NL3D::CTransformableUser. |
|
Work only in Rot* mode (nlassert).
Implemented in NL3D::CTransformableUser. |
|
Definition at line 55 of file transformable_user.cpp. References NL3D_MEM_TRANSFORMABLE.
00056 { 00057 NL3D_MEM_TRANSFORMABLE 00058 return ITransformable::getPivotValueName(); 00059 } |
|
Work only in Rot* mode(nlassert).
Implemented in NL3D::CTransformableUser. |
|
Work only in Rot* mode(nlassert).
Implemented in NL3D::CTransformableUser. |
|
Definition at line 35 of file transformable_user.cpp. References NL3D_MEM_TRANSFORMABLE.
00036 { 00037 NL3D_MEM_TRANSFORMABLE 00038 return ITransformable::getPosValueName (); 00039 } |
|
Work only in RotEuler mode(nlassert).
Implemented in NL3D::CTransformableUser. |
|
Work only in RotEuler mode(nlassert).
Implemented in NL3D::CTransformableUser. |
|
Definition at line 40 of file transformable_user.cpp. References NL3D_MEM_TRANSFORMABLE.
00041 { 00042 NL3D_MEM_TRANSFORMABLE 00043 return ITransformable::getRotEulerValueName(); 00044 } |
|
get the current rotorder (information vlaid only when RotEuler mode).
Implemented in NL3D::CTransformableUser. |
|
Work only in RotQuat mode (nlassert).
Implemented in NL3D::CTransformableUser. |
|
Work only in RotQuat mode (nlassert).
Implemented in NL3D::CTransformableUser. |
|
Definition at line 45 of file transformable_user.cpp. References NL3D_MEM_TRANSFORMABLE.
00046 { 00047 NL3D_MEM_TRANSFORMABLE 00048 return ITransformable::getRotQuatValueName(); 00049 } |
|
Work only in Rot* mode (nlassert).
Implemented in NL3D::CTransformableUser. |
|
Work only in Rot* mode (nlassert).
Implemented in NL3D::CTransformableUser. |
|
Definition at line 50 of file transformable_user.cpp. References NL3D_MEM_TRANSFORMABLE.
00051 { 00052 NL3D_MEM_TRANSFORMABLE 00053 return ITransformable::getScaleValueName(); 00054 } |
|
get the current transform mode.
Implemented in NL3D::CTransformableUser. |
|
Setup Matrix by the lookAt method. Work only in DirectMatrix mode and RotQuat mode (not euler...).
Implemented in NL3D::CTransformableUser. |
|
Work only in DirecTMatrix mode (nlassert).
Implemented in NL3D::CTransformableUser. |
|
Work only in Rot* mode (nlassert).
Definition at line 108 of file u_transformable.h. References NL3D::UTransformable::setPivot().
00108 {setPivot(CVector(px, py, pz));} |
|
Work only in Rot* mode (nlassert).
Implemented in NL3D::CTransformableUser. Referenced by NL3D::UTransformable::setPivot(). |
|
Work only in Rot* mode(nlassert).
Definition at line 86 of file u_transformable.h. References NL3D::UTransformable::setPos().
00086 {setPos(CVector(px, py, pz));} |
|
Work only in Rot* mode(nlassert).
Implemented in NL3D::CTransformableUser. Referenced by NL3D::UTransformable::setPos(). |
|
Work only in RotEuler mode(nlassert).
Definition at line 90 of file u_transformable.h. References NL3D::UTransformable::setRotEuler().
00090 {setRotEuler(CVector(rx, ry, rz));} |
|
Work only in RotEuler mode(nlassert).
Implemented in NL3D::CTransformableUser. Referenced by NL3D::UTransformable::setRotEuler(). |
|
Work only in RotQuat mode (nlassert). Build a quaternion from a forward direction (a J vector). the roll is determined with help of the vector up vup... vectors do not need to be noramlized. Implemented in NL3D::CTransformableUser. |
|
Work only in RotQuat mode (nlassert). Build a quaternion from a forward direction (a J vector). there is no roll... jdir do not need to be noramlized. Implemented in NL3D::CTransformableUser. |
|
Work only in RotQuat mode (nlassert).
Implemented in NL3D::CTransformableUser. |
|
Work only in Rot* mode (nlassert).
Definition at line 104 of file u_transformable.h. References NL3D::UTransformable::setScale().
00104 {setScale(CVector(sx, sy, sz));} |
|
Work only in Rot* mode (nlassert).
Implemented in NL3D::CTransformableUser. Referenced by NL3D::UTransformable::setScale(). |
|
Change the transform mode. Components or matrix are not reseted.
Implemented in NL3D::CTransformableUser. |