# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

NL3D::UTransformable Class Reference

Base interface for manipulating Movable Objects: camera, bones, lights, instances etc... More...

#include <u_transformable.h>

Inheritance diagram for NL3D::UTransformable:

NL3D::CTransformableUser NL3D::UBone NL3D::UTransform NL3D::CBoneUser NL3D::CTransformUser NL3D::CBoneUser NL3D::CTransformUser NL3D::UCamera NL3D::UInstance NL3D::UPointLight NL3D::USkeleton List of all members.

Public Types

enum  TTransformMode { DirectMatrix = 0, RotEuler, RotQuat, TransformModeCount }

Public Methods

Position set
virtual void setTransformMode (TTransformMode mode, CMatrix::TRotOrder ro=CMatrix::ZXY)=0
 Change the transform mode. Components or matrix are not reseted. More...

virtual void setPos (const CVector &pos)=0
 Work only in Rot* mode(nlassert). More...

void setPos (float px, float py, float pz)
 Work only in Rot* mode(nlassert). More...

virtual void setRotEuler (const CVector &rot)=0
 Work only in RotEuler mode(nlassert). More...

void setRotEuler (float rx, float ry, float rz)
 Work only in RotEuler mode(nlassert). More...

virtual void setRotQuat (const CQuat &quat)=0
 Work only in RotQuat mode (nlassert). More...

virtual void setRotQuat (const CVector &jdir)=0
 Work only in RotQuat mode (nlassert). More...

virtual void setRotQuat (const CVector &jdir, const CVector &vup)=0
 Work only in RotQuat mode (nlassert). More...

virtual void setScale (const CVector &scale)=0
 Work only in Rot* mode (nlassert). More...

void setScale (float sx, float sy, float sz)
 Work only in Rot* mode (nlassert). More...

virtual void setPivot (const CVector &pivot)=0
 Work only in Rot* mode (nlassert). More...

void setPivot (float px, float py, float pz)
 Work only in Rot* mode (nlassert). More...

virtual void setMatrix (const CMatrix &mat)=0
 Work only in DirecTMatrix mode (nlassert). More...

Position get
virtual TTransformMode getTransformMode ()=0
 get the current transform mode. More...

virtual CMatrix::TRotOrder getRotOrder ()=0
 get the current rotorder (information vlaid only when RotEuler mode). More...

virtual const CMatrix & getMatrix () const=0
 Get the matrix, compute her if necessary (work in all modes). More...

virtual void getPos (CVector &pos)=0
 Work only in Rot* mode(nlassert). More...

virtual void getRotEuler (CVector &rot)=0
 Work only in RotEuler mode(nlassert). More...

virtual void getRotQuat (CQuat &quat)=0
 Work only in RotQuat mode (nlassert). More...

virtual void getScale (CVector &scale)=0
 Work only in Rot* mode (nlassert). More...

virtual void getPivot (CVector &pivot)=0
 Work only in Rot* mode (nlassert). More...

virtual CVector getPos ()=0
 Work only in Rot* mode(nlassert). More...

virtual CVector getRotEuler ()=0
 Work only in RotEuler mode(nlassert). More...

virtual CQuat getRotQuat ()=0
 Work only in RotQuat mode (nlassert). More...

virtual CVector getScale ()=0
 Work only in Rot* mode (nlassert). More...

virtual CVector getPivot ()=0
 Work only in Rot* mode (nlassert). More...

Misc
virtual void lookAt (const CVector &eye, const CVector &target, float roll=0.f)=0
 Setup Matrix by the lookAt method. More...


Static Public Methods

Channel name
const char * getPosValueName ()
const char * getRotEulerValueName ()
const char * getRotQuatValueName ()
const char * getScaleValueName ()
const char * getPivotValueName ()

Protected Methods

Object
 UTransformable ()
 Constructor. By default, RotQuat mode. More...

virtual ~UTransformable ()

Detailed Description

Base interface for manipulating Movable Objects: camera, bones, lights, instances etc...

By default Transformmode is RotQuat.

Author:
Lionel Berenguier , Nevrax France
Date:
2001

Definition at line 51 of file u_transformable.h.


Member Enumeration Documentation

enum NL3D::UTransformable::TTransformMode
 

Enumeration values:
DirectMatrix 
RotEuler 
RotQuat 
TransformModeCount 

Definition at line 66 of file u_transformable.h.

Referenced by NL3D::CTransformableUser::getTransformMode, and NL3D::CTransformableUser::setTransformMode.


Constructor & Destructor Documentation

NL3D::UTransformable::UTransformable   [inline, protected]
 

Constructor. By default, RotQuat mode.

Definition at line 58 of file u_transformable.h.

virtual NL3D::UTransformable::~UTransformable   [inline, protected, virtual]
 

Definition at line 59 of file u_transformable.h.


Member Function Documentation

virtual const CMatrix& NL3D::UTransformable::getMatrix   const [pure virtual]
 

Get the matrix, compute her if necessary (work in all modes).

Implemented in NL3D::CTransformableUser.

virtual CVector NL3D::UTransformable::getPivot   [pure virtual]
 

Work only in Rot* mode (nlassert).

Implemented in NL3D::CTransformableUser.

virtual void NL3D::UTransformable::getPivot CVector &    pivot [pure virtual]
 

Work only in Rot* mode (nlassert).

Implemented in NL3D::CTransformableUser.

const char * NL3D::UTransformable::getPivotValueName   [static]
 

Definition at line 55 of file transformable_user.cpp.

References NL3D_MEM_TRANSFORMABLE.

virtual CVector NL3D::UTransformable::getPos   [pure virtual]
 

Work only in Rot* mode(nlassert).

Implemented in NL3D::CTransformableUser.

virtual void NL3D::UTransformable::getPos CVector &    pos [pure virtual]
 

Work only in Rot* mode(nlassert).

Implemented in NL3D::CTransformableUser.

const char * NL3D::UTransformable::getPosValueName   [static]
 

Definition at line 35 of file transformable_user.cpp.

References NL3D_MEM_TRANSFORMABLE.

virtual CVector NL3D::UTransformable::getRotEuler   [pure virtual]
 

Work only in RotEuler mode(nlassert).

Implemented in NL3D::CTransformableUser.

virtual void NL3D::UTransformable::getRotEuler CVector &    rot [pure virtual]
 

Work only in RotEuler mode(nlassert).

Implemented in NL3D::CTransformableUser.

const char * NL3D::UTransformable::getRotEulerValueName   [static]
 

Definition at line 40 of file transformable_user.cpp.

References NL3D_MEM_TRANSFORMABLE.

virtual CMatrix::TRotOrder NL3D::UTransformable::getRotOrder   [pure virtual]
 

get the current rotorder (information vlaid only when RotEuler mode).

Implemented in NL3D::CTransformableUser.

virtual CQuat NL3D::UTransformable::getRotQuat   [pure virtual]
 

Work only in RotQuat mode (nlassert).

Implemented in NL3D::CTransformableUser.

virtual void NL3D::UTransformable::getRotQuat CQuat &    quat [pure virtual]
 

Work only in RotQuat mode (nlassert).

Implemented in NL3D::CTransformableUser.

const char * NL3D::UTransformable::getRotQuatValueName   [static]
 

Definition at line 45 of file transformable_user.cpp.

References NL3D_MEM_TRANSFORMABLE.

virtual CVector NL3D::UTransformable::getScale   [pure virtual]
 

Work only in Rot* mode (nlassert).

Implemented in NL3D::CTransformableUser.

virtual void NL3D::UTransformable::getScale CVector &    scale [pure virtual]
 

Work only in Rot* mode (nlassert).

Implemented in NL3D::CTransformableUser.

const char * NL3D::UTransformable::getScaleValueName   [static]
 

Definition at line 50 of file transformable_user.cpp.

References NL3D_MEM_TRANSFORMABLE.

virtual TTransformMode NL3D::UTransformable::getTransformMode   [pure virtual]
 

get the current transform mode.

Implemented in NL3D::CTransformableUser.

virtual void NL3D::UTransformable::lookAt const CVector &    eye,
const CVector &    target,
float    roll = 0.f
[pure virtual]
 

Setup Matrix by the lookAt method.

Work only in DirectMatrix mode and RotQuat mode (not euler...).

Parameters:
eye  is the coordinate of the object.
target  is the point the object look at.
roll  is the roll angle in radian along the object's Y axis.

Implemented in NL3D::CTransformableUser.

virtual void NL3D::UTransformable::setMatrix const CMatrix &    mat [pure virtual]
 

Work only in DirecTMatrix mode (nlassert).

Implemented in NL3D::CTransformableUser.

void NL3D::UTransformable::setPivot float    px,
float    py,
float    pz
[inline]
 

Work only in Rot* mode (nlassert).

Definition at line 108 of file u_transformable.h.

References setPivot.

virtual void NL3D::UTransformable::setPivot const CVector &    pivot [pure virtual]
 

Work only in Rot* mode (nlassert).

Implemented in NL3D::CTransformableUser.

Referenced by setPivot.

void NL3D::UTransformable::setPos float    px,
float    py,
float    pz
[inline]
 

Work only in Rot* mode(nlassert).

Definition at line 86 of file u_transformable.h.

virtual void NL3D::UTransformable::setPos const CVector &    pos [pure virtual]
 

Work only in Rot* mode(nlassert).

Implemented in NL3D::CTransformableUser.

void NL3D::UTransformable::setRotEuler float    rx,
float    ry,
float    rz
[inline]
 

Work only in RotEuler mode(nlassert).

Definition at line 90 of file u_transformable.h.

virtual void NL3D::UTransformable::setRotEuler const CVector &    rot [pure virtual]
 

Work only in RotEuler mode(nlassert).

Implemented in NL3D::CTransformableUser.

virtual void NL3D::UTransformable::setRotQuat const CVector &    jdir,
const CVector &    vup
[pure virtual]
 

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.

virtual void NL3D::UTransformable::setRotQuat const CVector &    jdir [pure virtual]
 

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.

virtual void NL3D::UTransformable::setRotQuat const CQuat &    quat [pure virtual]
 

Work only in RotQuat mode (nlassert).

Implemented in NL3D::CTransformableUser.

void NL3D::UTransformable::setScale float    sx,
float    sy,
float    sz
[inline]
 

Work only in Rot* mode (nlassert).

Definition at line 104 of file u_transformable.h.

References setScale.

virtual void NL3D::UTransformable::setScale const CVector &    scale [pure virtual]
 

Work only in Rot* mode (nlassert).

Implemented in NL3D::CTransformableUser.

Referenced by setScale.

virtual void NL3D::UTransformable::setTransformMode TTransformMode    mode,
CMatrix::TRotOrder    ro = CMatrix::ZXY
[pure virtual]
 

Change the transform mode. Components or matrix are not reseted.

Implemented in NL3D::CTransformableUser.


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