# 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::CTransform Class Reference

A basic node which provide an animatable matrix (ITransformable). More...

#include <transform.h>

Inheritance diagram for NL3D::CTransform

Inheritance graph
[legend]
Collaboration diagram for NL3D::CTransform:

Collaboration graph
[legend]
List of all members.

Public Methods

void hide ()
 Hide the object and his sons. More...

void show ()
 Show the objet and his sons. More...

void heritVisibility ()
 herit the visibility from his father. (default behavior). More...

CHrcTrav::TVisibility getVisibility ()
 Get the local visibility state. More...

CSkeletonModelgetSkeletonModel () const
 Get the skeleton model. Returnr NULL in normal mode. More...

virtual ITrackgetDefaultTrack (uint valueId)
 Default Track Values are identity (pos,pivot= 0, scale= 1, rots=0). More...

virtual void registerToChannelMixer (CChannelMixer *chanMixer, const std::string &prefix)
 register transform channels (in global anim mode). More...


Static Public Methods

void registerBasic ()
 Call at the begining of the program, to register the model, and the basic observers. More...


Protected Methods

 CTransform ()
 Constructor. More...

virtual ~CTransform ()
 Destructor. More...

virtual void update ()
 Implement the update method. More...


Protected Attributes

CSkeletonModel_FatherSkeletonModel

Private Types

enum  TDirty {
  TransformDirty = IModel::Last,
  Last
}
 The Dirty states. More...


Private Methods

void foulTransform ()
void updateWorldMatrixFromSkeleton (const CMatrix &parentWM)

Private Attributes

CHrcTrav::TVisibility Visibility
NLMISC::CRefPtr<CChannelMixer_ChannelMixer
uint64 _LastTransformableMatrixDate

Static Private Methods

IModelcreator ()

Static Private Attributes

CTrackDefaultVector DefaultPos
CTrackDefaultVector DefaultPivot
CTrackDefaultVector DefaultRotEuler
CTrackDefaultQuat DefaultRotQuat
CTrackDefaultVector DefaultScale

Friends

class  CTransformHrcObs
class  CTransformClipObs
class  CTransformAnimDetailObs
class  CSkeletonModel
class  CSkeletonModelAnimDetailObs

Detailed Description

A basic node which provide an animatable matrix (ITransformable).

May be derived for each node who want to support such a scheme (CCamera, CLight, CInstance ... )

CTransform ALWAYS herit scale from fathers! (joints skeleton may not...) (nbyoyo: else, this breaks the touch system with observers).

CTransform Default tracks are identity (derived class may change this).

No observer is provided for LightTrav and RenderTrav (not lightable, nor renderable => use default).

Author(s):
Lionel Berenguier , Nevrax France
Date:
2000

Definition at line 74 of file transform.h.


Member Enumeration Documentation

enum NL3D::CTransform::TDirty [private]
 

The Dirty states.

Derived models may add flags with similar enum. The first enum element must begin at CBaseClass::Last (where CBaseClass is the base class), so falg compatibility is maintained.

Enumeration values:
TransformDirty  
Last  

Reimplemented from NL3D::IModel.

Definition at line 108 of file transform.h.


Constructor & Destructor Documentation

NL3D::CTransform::CTransform ( ) [protected]
 

Constructor.

Definition at line 49 of file transform.cpp.

NL3D::CTransform::~CTransform ( ) [protected, virtual]
 

Destructor.

Definition at line 61 of file transform.cpp.


Member Function Documentation

IModel * NL3D::CTransform::creator ( ) [inline, static, private]
 

Reimplemented in NL3D::CCamera, NL3D::CLandscapeModel, NL3D::CMeshInstance, NL3D::CParticleSystemModel, NL3D::CSkeletonModel, and NL3D::CTransformShape.

Definition at line 152 of file transform.h.

void NL3D::CTransform::foulTransform ( ) [inline, private]
 

Definition at line 123 of file transform.h.

ITrack * NL3D::CTransform::getDefaultTrack ( uint valueId ) [virtual]
 

Default Track Values are identity (pos,pivot= 0, scale= 1, rots=0).

Reimplemented from NL3D::ITransformable.

Reimplemented in NL3D::CCamera, and NL3D::CMeshInstance.

Definition at line 111 of file transform.cpp.

CSkeletonModel * NL3D::CTransform::getSkeletonModel ( ) const [inline]
 

Get the skeleton model. Returnr NULL in normal mode.

Definition at line 92 of file transform.h.

CHrcTrav::TVisibility NL3D::CTransform::getVisibility ( ) [inline]
 

Get the local visibility state.

Definition at line 90 of file transform.h.

void NL3D::CTransform::heritVisibility ( )
 

herit the visibility from his father. (default behavior).

Definition at line 93 of file transform.cpp.

void NL3D::CTransform::hide ( )
 

Hide the object and his sons.

Definition at line 73 of file transform.cpp.

void NL3D::CTransform::registerBasic ( ) [static]
 

Call at the begining of the program, to register the model, and the basic observers.

Reimplemented in NL3D::CCamera, NL3D::CLandscapeModel, NL3D::CMeshInstance, NL3D::CParticleSystemModel, NL3D::CSkeletonModel, and NL3D::CTransformShape.

Definition at line 39 of file transform.cpp.

void NL3D::CTransform::registerToChannelMixer ( CChannelMixer * chanMixer,
const std::string & prefix ) [virtual]
 

register transform channels (in global anim mode).

Reimplemented from NL3D::ITransformable.

Reimplemented in NL3D::CCamera, NL3D::CMeshInstance, and NL3D::CSkeletonModel.

Definition at line 134 of file transform.cpp.

Referenced by CObjectViewer::reinitChannels().

void NL3D::CTransform::show ( )
 

Show the objet and his sons.

Definition at line 83 of file transform.cpp.

void NL3D::CTransform::update ( ) [inline, protected, virtual]
 

Implement the update method.

Reimplemented from NL3D::IModel.

Reimplemented in NL3D::CCamera.

Definition at line 135 of file transform.h.

void NL3D::CTransform::updateWorldMatrixFromSkeleton ( const CMatrix & parentWM ) [private]
 

Definition at line 152 of file transform.cpp.


Friends And Related Function Documentation

class CSkeletonModel [friend]
 

Reimplemented in NL3D::CMeshInstance.

Definition at line 156 of file transform.h.

class CSkeletonModelAnimDetailObs [friend]
 

Reimplemented in NL3D::CSkeletonModel.

Definition at line 157 of file transform.h.

class CTransformAnimDetailObs [friend]
 

Definition at line 155 of file transform.h.

class CTransformClipObs [friend]
 

Definition at line 154 of file transform.h.

class CTransformHrcObs [friend]
 

Definition at line 153 of file transform.h.


Member Data Documentation

CTrackDefaultVector NL3D::CTransform::DefaultPivot [static, private]
 

Definition at line 118 of file transform.h.

CTrackDefaultVector NL3D::CTransform::DefaultPos [static, private]
 

Definition at line 117 of file transform.h.

CTrackDefaultVector NL3D::CTransform::DefaultRotEuler [static, private]
 

Definition at line 119 of file transform.h.

CTrackDefaultQuat NL3D::CTransform::DefaultRotQuat [static, private]
 

Definition at line 120 of file transform.h.

CTrackDefaultVector NL3D::CTransform::DefaultScale [static, private]
 

Definition at line 121 of file transform.h.

CHrcTrav::TVisibility NL3D::CTransform::Visibility [private]
 

Definition at line 115 of file transform.h.

NLMISC::CRefPtr< CChannelMixer > NL3D::CTransform::_ChannelMixer [private]
 

Definition at line 164 of file transform.h.

CSkeletonModel * NL3D::CTransform::_FatherSkeletonModel [protected]
 

Definition at line 148 of file transform.h.

uint64 NL3D::CTransform::_LastTransformableMatrixDate [private]
 

Definition at line 167 of file transform.h.


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