# 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

Inheritance graph
[legend]
List of all members.

Public Types

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

Public Methods

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

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

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

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

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).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Protected Methods

 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(s):
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.


Constructor & Destructor Documentation

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

Constructor. By default, RotQuat mode.

Definition at line 58 of file u_transformable.h.

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

Definition at line 59 of file u_transformable.h.


Member Function Documentation

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

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

Reimplemented in NL3D::CTransformableUser.

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

Work only in Rot* mode (nlassert).

Reimplemented in NL3D::CTransformableUser.

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

Work only in Rot* mode (nlassert).

Reimplemented in NL3D::CTransformableUser.

CVector NL3D::UTransformable::getPos ( void ) [pure virtual]
 

Work only in Rot* mode(nlassert).

Reimplemented in NL3D::CTransformableUser.

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

Work only in Rot* mode(nlassert).

Reimplemented in NL3D::CTransformableUser.

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

Work only in RotEuler mode(nlassert).

Reimplemented in NL3D::CTransformableUser.

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

Work only in RotEuler mode(nlassert).

Reimplemented in NL3D::CTransformableUser.

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

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

Reimplemented in NL3D::CTransformableUser.

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

Work only in RotQuat mode (nlassert).

Reimplemented in NL3D::CTransformableUser.

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

Work only in RotQuat mode (nlassert).

Reimplemented in NL3D::CTransformableUser.

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

Work only in Rot* mode (nlassert).

Reimplemented in NL3D::CTransformableUser.

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

Work only in Rot* mode (nlassert).

Reimplemented in NL3D::CTransformableUser.

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

get the current transform mode.

Reimplemented in NL3D::CTransformableUser.

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.

Reimplemented in NL3D::CTransformableUser.

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

Work only in DirecTMatrix mode (nlassert).

Reimplemented in NL3D::CTransformableUser.

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

Work only in Rot* mode (nlassert).

Reimplemented in NL3D::CTransformableUser.

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

Work only in Rot* mode(nlassert).

Reimplemented in NL3D::CTransformableUser.

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

Work only in RotEuler mode(nlassert).

Reimplemented in NL3D::CTransformableUser.

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.

Reimplemented in NL3D::CTransformableUser.

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.

Reimplemented in NL3D::CTransformableUser.

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

Work only in RotQuat mode (nlassert).

Reimplemented in NL3D::CTransformableUser.

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

Work only in Rot* mode (nlassert).

Reimplemented in NL3D::CTransformableUser.

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

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

Reimplemented in NL3D::CTransformableUser.


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