|
|
|
|
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 ReferenceAn instanciable mesh.
More...
#include <mesh.h>
Inheritance diagram for NL3D::CMesh:
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...
|
void | optimizeMaterialUsage (std::vector< sint > &remap) |
| Optimize material use. More...
|
void | setBlendShapes (std::vector< CBlendShape > &bs) |
void | computeBonesId (CSkeletonModel *skeleton) |
| Compute skinning id. More...
|
void | updateSkeletonUsage (CSkeletonModel *sm, bool increment) |
| update Skeleton Usage. increment or decrement. More...
|
|
virtual CTransformShape * | createInstance (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::CAABBoxExt & | getBoundingBox () const |
| get the extended axis aligned bounding box of the mesh. More...
|
const CVertexBuffer & | getVertexBuffer () 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 CPrimitiveBlock & | getRdrPassPrimitiveBlock (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...
|
const CMeshGeom & | getMeshGeom () const |
| Get the geom mesh. More...
|
|
virtual IMeshGeom * | supportMeshBlockRendering (CTransformShape *trans, float &polygonCount) const |
| return !NULL if this shape can support MeshBlock rendering for a special instance. More...
|
Private Attributes |
CMeshGeom * | _MeshGeom |
Detailed Description
An instanciable mesh.
Skinning support: support only palette skinning. -
Author:
-
Lionel Berenguier , Nevrax France
-
Date:
-
2000
Definition at line 76 of file mesh.h.
Constructor & Destructor Documentation
NL3D::CMesh::CMesh |
( |
const CMesh & |
mesh |
) |
|
|
Member Function Documentation
|
Build a mesh from material info, and a builded MeshGeom. WARNING: This has a side effect of deleting AnimatedMaterials.
Definition at line 2214 of file mesh.cpp.
References _MeshGeom. |
|
Build a mesh, replacing old. WARNING: This has a side effect of deleting AnimatedMaterials.
Definition at line 2173 of file mesh.cpp.
References _MeshGeom. |
bool NL3D::CMesh::clip |
( |
const std::vector< CPlane > & |
pyramid, |
|
|
const CMatrix & |
worldMatrix |
|
) |
[virtual] |
|
virtual void NL3D::CMesh::getAABBox |
( |
NLMISC::CAABBox & |
bbox |
) |
const [inline, virtual] |
|
const CMeshGeom & NL3D::CMesh::getMeshGeom |
( |
|
) |
const |
|
uint NL3D::CMesh::getNbMatrixBlock |
( |
|
) |
const |
|
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 2309 of file mesh.cpp.
References _MeshGeom.
Referenced by optimizeMaterialUsage. |
float NL3D::CMesh::getNumTriangles |
( |
float |
distance |
) |
[virtual] |
|
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 2319 of file mesh.cpp.
References _MeshGeom.
Referenced by optimizeMaterialUsage. |
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 2314 of file mesh.cpp.
References _MeshGeom. |
NL3D::CMesh::NLMISC_DECLARE_CLASS |
( |
CMesh |
|
) |
|
|
CMesh & NL3D::CMesh::operator= |
( |
const CMesh & |
mesh |
) |
|
|
void NL3D::CMesh::optimizeMaterialUsage |
( |
std::vector< sint > & |
remap |
) |
|
|
void NL3D::CMesh::setBlendShapes |
( |
std::vector< CBlendShape > & |
bs |
) |
|
|
|
return !NULL if this shape can support MeshBlock rendering for a special instance.
NB: Mesh Block render cannot occurs if the Mesh is Skinned/MeshMorphed. NB: Mesh Block render can occurs only in Opaque pass NB: Mesh block render can occurs only for CMeshBase meshes. -
Parameters:
-
trans |
the instance to take into account (meshMultiLod may return NULL in blend transition). |
polygonCount |
the number of polygons to render for the meshGeom returned |
-
Returns:
-
the meshgeom to render per block if OK, else NULL (default)
Reimplemented from NL3D::IShape.
Definition at line 2350 of file mesh.cpp.
References _MeshGeom. |
void NL3D::CMesh::updateSkeletonUsage |
( |
CSkeletonModel * |
sm, |
|
|
bool |
increment |
|
) |
|
|
Member Data Documentation
|
Definition at line 314 of file mesh.h.
Referenced by build, clip, CMesh, computeBonesId, createInstance, getBoundingBox, getMeshGeom, getNbMatrixBlock, getNbRdrPass, getRdrPassMaterial, getRdrPassPrimitiveBlock, getVertexBuffer, operator=, optimizeMaterialUsage, render, setBlendShapes, supportMeshBlockRendering, updateSkeletonUsage, and ~CMesh. |
The documentation for this class was generated from the following files:
|
|