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

a definition of a skeleton. More...

#include <skeleton_shape.h>

Inheritance diagram for NL3D::CSkeletonShape:

NL3D::IShape NLMISC::CRefCount NLMISC::IStreamable NLMISC::IClassable List of all members.

Public Methods

 CSkeletonShape ()
 Constructor. More...

void build (const std::vector< CBoneBase > &bones)
 Build a skeletonShape, replacing old. More...

void retrieve (std::vector< CBoneBase > &bones) const
 Retrieve Bones Information. More...

sint32 getBoneIdByName (const std::string &name) const
 Return the id of a bone, from it's name. -1 if not present. More...

uint getLodForDistance (float dist) const
 retrieve the lod to use for a given distance (log(n)). More...

const CLodgetLod (uint lod) const
 get lod information. More...

uint getNumLods () const
From IShape
virtual CTransformShapecreateInstance (CScene &scene)
 Create a CSkeletonModel, which contains bones. More...

virtual bool clip (const std::vector< CPlane > &pyramid, const CMatrix &worldMatrix)
 clip this skeleton. More...

virtual void render (IDriver *drv, CTransformShape *trans, bool opaquePass)
 render() this skeletonshape in a driver (no-op). More...

virtual void getAABBox (NLMISC::CAABBox &bbox) const
 return the bounding box of the shape. More...

virtual float getNumTriangles (float distance)
 get an approximation of the number of triangles this instance will render for a fixed distance. More...

virtual void serial (NLMISC::IStream &f) throw (NLMISC::EStream)
 serial this skeletonshape. More...

 NLMISC_DECLARE_CLASS (CSkeletonShape)
virtual void flushTextures (IDriver &driver)
 flush textures used by this shape. More...


Private Attributes

std::vector< CBoneBase_Bones
std::map< std::string, uint32_BoneMap
NLMISC::CAABBox _BBox
std::vector< CLod_Lods

Detailed Description

a definition of a skeleton.

can be instanciated into a CSkeletonModel.

Author:
Lionel Berenguier , Nevrax France
Date:
2001

Definition at line 48 of file skeleton_shape.h.


Constructor & Destructor Documentation

NL3D::CSkeletonShape::CSkeletonShape  
 

Constructor.

Definition at line 51 of file skeleton_shape.cpp.

References _BBox, NLMISC::CAABBox::setCenter, and NLMISC::CAABBox::setSize.


Member Function Documentation

void NL3D::CSkeletonShape::build const std::vector< CBoneBase > &    bones
 

Build a skeletonShape, replacing old.

WARNING: bones must be organized in Depth-first order (this is not checked). Bone.LodDisableDistance are minimized such sons have always a distance <= father distance.

Definition at line 72 of file skeleton_shape.cpp.

References _BoneMap, _Bones, _Lods, and min.

bool NL3D::CSkeletonShape::clip const std::vector< CPlane > &    pyramid,
const CMatrix &    worldMatrix
[virtual]
 

clip this skeleton.

Reimplemented from NL3D::IShape.

Definition at line 216 of file skeleton_shape.cpp.

References _BBox, NLMISC::CAABBox::getCenter, and NLMISC::CAABBox::getRadius.

CTransformShape * NL3D::CSkeletonShape::createInstance CScene   scene [virtual]
 

Create a CSkeletonModel, which contains bones.

Reimplemented from NL3D::IShape.

Definition at line 154 of file skeleton_shape.cpp.

References _Bones.

virtual void NL3D::CSkeletonShape::flushTextures IDriver   driver [inline, virtual]
 

flush textures used by this shape.

Implements NL3D::IShape.

Definition at line 110 of file skeleton_shape.h.

void NL3D::CSkeletonShape::getAABBox NLMISC::CAABBox   bbox const [virtual]
 

return the bounding box of the shape.

Default is to return Null bbox.

Reimplemented from NL3D::IShape.

Definition at line 240 of file skeleton_shape.cpp.

References _BBox.

sint32 NL3D::CSkeletonShape::getBoneIdByName const std::string &    name const
 

Return the id of a bone, from it's name. -1 if not present.

Definition at line 61 of file skeleton_shape.cpp.

References _BoneMap.

const CLod& NL3D::CSkeletonShape::getLod uint    lod const [inline]
 

get lod information.

Definition at line 119 of file skeleton_shape.h.

References _Lods.

uint NL3D::CSkeletonShape::getLodForDistance float    dist const
 

retrieve the lod to use for a given distance (log(n)).

Definition at line 247 of file skeleton_shape.cpp.

References _Lods.

uint NL3D::CSkeletonShape::getNumLods   const [inline]
 

Definition at line 120 of file skeleton_shape.h.

References _Lods.

float NL3D::CSkeletonShape::getNumTriangles float    distance [virtual]
 

get an approximation of the number of triangles this instance will render for a fixed distance.

Implements NL3D::IShape.

Definition at line 208 of file skeleton_shape.cpp.

NL3D::CSkeletonShape::NLMISC_DECLARE_CLASS CSkeletonShape   
 

virtual void NL3D::CSkeletonShape::render IDriver   drv,
CTransformShape   trans,
bool    opaquePass
[inline, virtual]
 

render() this skeletonshape in a driver (no-op).

Implements NL3D::IShape.

Definition at line 94 of file skeleton_shape.h.

void NL3D::CSkeletonShape::retrieve std::vector< CBoneBase > &    bones const
 

Retrieve Bones Information.

Definition at line 147 of file skeleton_shape.cpp.

References _Bones.

void NL3D::CSkeletonShape::serial NLMISC::IStream   f throw (NLMISC::EStream) [virtual]
 

serial this skeletonshape.

Implements NLMISC::IStreamable.

Definition at line 183 of file skeleton_shape.cpp.


Member Data Documentation

NLMISC::CAABBox NL3D::CSkeletonShape::_BBox [private]
 

Definition at line 126 of file skeleton_shape.h.

Referenced by clip, CSkeletonShape, and getAABBox.

std::map<std::string, uint32> NL3D::CSkeletonShape::_BoneMap [private]
 

Definition at line 125 of file skeleton_shape.h.

Referenced by build, and getBoneIdByName.

std::vector<CBoneBase> NL3D::CSkeletonShape::_Bones [private]
 

Definition at line 124 of file skeleton_shape.h.

Referenced by build, createInstance, and retrieve.

std::vector<CLod> NL3D::CSkeletonShape::_Lods [private]
 

Definition at line 128 of file skeleton_shape.h.

Referenced by build, getLod, getLodForDistance, and getNumLods.


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