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

A Skeleton model, instance of CSkeletonShape. More...

#include <skeleton_model.h>

Inheritance diagram for NL3D::CSkeletonModel

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

Collaboration graph
[legend]
List of all members.

Public Types

enum  TAnimValues {
  OwnerBit = CTransformShape::AnimValueLast,
  AnimValueLast
}
 Added values. More...


Public Methods

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

void bindSkin (CMeshInstance *mi)
 bind a MeshInstance skin to the skeleton. More...

void stickObject (CTransform *mi, uint boneId)
 parent a CTransform to a bone of the skeleton. More...

void detachSkeletonSon (CTransform *mi)
 unparent a CTransform from a bone of the skeleton, or unbind a skin. More...

sint32 getBoneIdByName (const std::string &name) const
 return, from skeleton shape, the BoneIdByName. -1 if not here. More...


Public Attributes

std::vector<CBoneBones
 The list of CBone, created from the CSkeletonShape. More...


Static Public Methods

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


Protected Methods

 CSkeletonModel ()
 Constructor. More...

virtual ~CSkeletonModel ()
 Destructor. More...


Private Types

typedef std::set<CMeshInstance*> TMeshInstanceSet
 The skins. More...

typedef TMeshInstanceSet::iterator ItMeshInstanceSet
typedef std::set<CStickObjectTStickObjectSet
 The StickedObjects. More...

typedef TStickObjectSet::iterator ItStickObjectSet

Private Methods

void cacheTravs ()

Private Attributes

TMeshInstanceSet _Skins
TStickObjectSet _StickedObjects
CHrcTravHrcTrav
CClipTravClipTrav

Static Private Methods

IModelcreator ()

Friends

class  CSkeletonShape
class  CSkeletonModelAnimDetailObs

Detailed Description

A Skeleton model, instance of CSkeletonShape.

Skeletons sons are added with bindSkin(), stickObject(). They are removed auto at dtor.

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

Definition at line 57 of file skeleton_model.h.


Member Typedef Documentation

typedef TMeshInstanceSet::iterator NL3D::CSkeletonModel::ItMeshInstanceSet [private]
 

Definition at line 149 of file skeleton_model.h.

typedef TStickObjectSet::iterator NL3D::CSkeletonModel::ItStickObjectSet [private]
 

Definition at line 153 of file skeleton_model.h.

typedef std::set<CMeshInstance*> NL3D::CSkeletonModel::TMeshInstanceSet [private]
 

The skins.

Definition at line 148 of file skeleton_model.h.

typedef std::set<CStickObject> NL3D::CSkeletonModel::TStickObjectSet [private]
 

The StickedObjects.

Definition at line 152 of file skeleton_model.h.


Member Enumeration Documentation

enum NL3D::CSkeletonModel::TAnimValues
 

Added values.

Enumeration values:
OwnerBit  
AnimValueLast  

Reimplemented from NL3D::ITransformable.

Definition at line 74 of file skeleton_model.h.


Constructor & Destructor Documentation

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

Constructor.

Definition at line 119 of file skeleton_model.h.

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

Destructor.

Definition at line 61 of file skeleton_model.cpp.


Member Function Documentation

void NL3D::CSkeletonModel::bindSkin ( CMeshInstance * mi )
 

bind a MeshInstance skin to the skeleton.

NB: ~CTransform() calls detachSkeletonSon(). NB: an object can't be skinned and sticked at same time :) NB: replaced if already here. NB: mi is made son of skeleton model in Traversals Hrc and Clip.

Definition at line 81 of file skeleton_model.cpp.

void NL3D::CSkeletonModel::cacheTravs ( ) [private]
 

Definition at line 154 of file skeleton_model.cpp.

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

Reimplemented from NL3D::CTransformShape.

Definition at line 130 of file skeleton_model.h.

void NL3D::CSkeletonModel::detachSkeletonSon ( CTransform * tr )
 

unparent a CTransform from a bone of the skeleton, or unbind a skin.

No-op if not here. NB: mi is made son of Root in Traversals Hrc and Clip.

Definition at line 126 of file skeleton_model.cpp.

sint32 NL3D::CSkeletonModel::getBoneIdByName ( const std::string & name ) const
 

return, from skeleton shape, the BoneIdByName. -1 if not here.

Definition at line 165 of file skeleton_model.cpp.

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

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

Reimplemented from NL3D::CTransformShape.

Definition at line 38 of file skeleton_model.cpp.

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

register transform channels (in global anim mode).

Reimplemented from NL3D::CTransform.

Definition at line 46 of file skeleton_model.cpp.

void NL3D::CSkeletonModel::stickObject ( CTransform * mi,
uint boneId )
 

parent a CTransform to a bone of the skeleton.

NB: ~CTransform() calls detachSkeletonSon(). NB: an object can't be skinned and sticked at same time :) NB: replaced if already here. NB: mi is made son of skeleton model in Traversals Hrc and Clip.

Definition at line 102 of file skeleton_model.cpp.


Friends And Related Function Documentation

class CSkeletonModelAnimDetailObs [friend]
 

Reimplemented from NL3D::CTransform.

Definition at line 132 of file skeleton_model.h.

class CSkeletonShape [friend]
 

Definition at line 131 of file skeleton_model.h.


Member Data Documentation

std::vector< CBone > NL3D::CSkeletonModel::Bones
 

The list of CBone, created from the CSkeletonShape.

They are odered in depth-first order.

Definition at line 68 of file skeleton_model.h.

CClipTrav * NL3D::CSkeletonModel::ClipTrav [private]
 

Definition at line 159 of file skeleton_model.h.

CHrcTrav * NL3D::CSkeletonModel::HrcTrav [private]
 

Definition at line 158 of file skeleton_model.h.

TMeshInstanceSet NL3D::CSkeletonModel::_Skins [private]
 

Definition at line 150 of file skeleton_model.h.

TStickObjectSet NL3D::CSkeletonModel::_StickedObjects [private]
 

Definition at line 154 of file skeleton_model.h.


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