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

An instanciable mesh. More...

#include <mesh.h>

Inheritance diagram for NL3D::CMesh

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

Collaboration graph
[legend]
List of all members.

Public Methods

 CMesh ()
 Constructor. More...

 ~CMesh ()
 dtor. More...

 CMesh (const CMesh &mesh)
CMesh& operator= (const CMesh &mesh)
void build (CMeshBase::CMeshBaseBuild &mbase, CMeshBuild &mbuild)
 Build a mesh, replacing old. WARNING: This has a side effect of deleting AnimatedMaterials. More...

void build (CMeshBase::CMeshBaseBuild &mbuild, CMeshGeom &meshGeom)
 Build a mesh from material info, and a builded MeshGeom. WARNING: This has a side effect of deleting AnimatedMaterials. More...

virtual CTransformShapecreateInstance (CScene &scene)
 Create a CMeshInstance, which contains materials. More...

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

virtual void render (IDriver *drv, CTransformShape *trans, bool opaquePass)
 render() this mesh in a driver. More...

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

 NLMISC_DECLARE_CLASS (CMesh)
virtual float getNumTriangles (float distance)
 get trinagle count. More...

virtual void getAABBox (NLMISC::CAABBox &bbox) const
 Get bbox. More...

const NLMISC::CAABBoxExtgetBoundingBox () const
 get the extended axis aligned bounding box of the mesh. More...

const CVertexBuffergetVertexBuffer () const
 get the vertex buffer used by the mesh. More...

uint getNbMatrixBlock () const
 get the number of matrix block. More...

uint getNbRdrPass (uint matrixBlockIndex) const
 get the number of rendering pass for a given matrix block. More...

const CPrimitiveBlockgetRdrPassPrimitiveBlock (uint matrixBlockIndex, uint renderingPassIndex) const
 get the primitive block associated with a rendering pass of a matrix block. More...

uint32 getRdrPassMaterial (uint matrixBlockIndex, uint renderingPassIndex) const
 get the material ID associated with a rendering pass of a matrix block. More...


Private Attributes

CMeshGeom_MeshGeom

Detailed Description

An instanciable mesh.

Skinning support: support only palette skinning.

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

Definition at line 70 of file mesh.h.


Constructor & Destructor Documentation

NL3D::CMesh::CMesh ( )
 

Constructor.

Definition at line 979 of file mesh.cpp.

NL3D::CMesh::~CMesh ( )
 

dtor.

Definition at line 985 of file mesh.cpp.

NL3D::CMesh::CMesh ( const CMesh & mesh )
 

Definition at line 993 of file mesh.cpp.


Member Function Documentation

NL3D::CMesh::NLMISC_DECLARE_CLASS ( CMesh )
 

void NL3D::CMesh::build ( CMeshBase::CMeshBaseBuild & mbuild,
CMeshGeom & meshGeom )
 

Build a mesh from material info, and a builded MeshGeom. WARNING: This has a side effect of deleting AnimatedMaterials.

Definition at line 1027 of file mesh.cpp.

void NL3D::CMesh::build ( CMeshBase::CMeshBaseBuild & mbuild,
CMeshBuild & mbuild )
 

Build a mesh, replacing old. WARNING: This has a side effect of deleting AnimatedMaterials.

Definition at line 1016 of file mesh.cpp.

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

clip this mesh in a driver.

Reimplemented from NL3D::IShape.

Definition at line 1055 of file mesh.cpp.

CTransformShape * NL3D::CMesh::createInstance ( CScene & scene ) [virtual]
 

Create a CMeshInstance, which contains materials.

Reimplemented from NL3D::IShape.

Definition at line 1038 of file mesh.cpp.

void NL3D::CMesh::getAABBox ( NLMISC::CAABBox & bbox ) const [inline, virtual]
 

Get bbox.

Reimplemented from NL3D::IShape.

Definition at line 188 of file mesh.h.

const NLMISC::CAABBoxExt & NL3D::CMesh::getBoundingBox ( ) const
 

get the extended axis aligned bounding box of the mesh.

Definition at line 1096 of file mesh.cpp.

uint NL3D::CMesh::getNbMatrixBlock ( ) const
 

get the number of matrix block.

Definition at line 1106 of file mesh.cpp.

uint NL3D::CMesh::getNbRdrPass ( uint matrixBlockIndex ) const
 

get the number of rendering pass for a given matrix block.

Parameters:
matrixBlockIndex   the index of the matrix block the rendering passes belong to

Definition at line 1111 of file mesh.cpp.

float NL3D::CMesh::getNumTriangles ( float distance ) [virtual]
 

get trinagle count.

Reimplemented from NL3D::IShape.

Definition at line 1126 of file mesh.cpp.

uint32 NL3D::CMesh::getRdrPassMaterial ( uint matrixBlockIndex,
uint renderingPassIndex ) const
 

get the material ID associated with a rendering pass of a matrix block.

Parameters:
matrixBlockIndex   the index of the matrix block the renderin pass belong to
renderingPassIndex   the index of the rendering pass in the matrix block

Definition at line 1121 of file mesh.cpp.

const CPrimitiveBlock & NL3D::CMesh::getRdrPassPrimitiveBlock ( uint matrixBlockIndex,
uint renderingPassIndex ) const
 

get the primitive block associated with a rendering pass of a matrix block.

Parameters:
matrixBlockIndex   the index of the matrix block the renderin pass belong to
renderingPassIndex   the index of the rendering pass in the matrix block

Definition at line 1116 of file mesh.cpp.

const CVertexBuffer & NL3D::CMesh::getVertexBuffer ( ) const
 

get the vertex buffer used by the mesh.

Definition at line 1101 of file mesh.cpp.

CMesh & NL3D::CMesh::operator= ( const CMesh & mesh )
 

Definition at line 1001 of file mesh.cpp.

void NL3D::CMesh::render ( IDriver * drv,
CTransformShape * trans,
bool opaquePass ) [virtual]
 

render() this mesh in a driver.

Reimplemented from NL3D::IShape.

Definition at line 1062 of file mesh.cpp.

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

serial this mesh.

Reimplemented from NLMISC::IStreamable.

Definition at line 1069 of file mesh.cpp.


Member Data Documentation

CMeshGeom * NL3D::CMesh::_MeshGeom [private]
 

Definition at line 226 of file mesh.h.


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