NL3D::CMeshGeom::CMatrixBlock Class Reference


Detailed Description

A block of RdrPasses, sorted by matrix use.

Definition at line 508 of file mesh.h.

Public Member Functions

sint getMatrixIdLocation (uint32 boneId) const
 return the idx of this bone, in MatrixId. -1 if not found.

void serial (NLMISC::IStream &f)

Data Fields

uint32 MatrixId [IDriver::MaxModelMatrix]
 Which matrix we use for this block.

uint32 NumMatrix
 Number of matrix actually used.

std::vector< CRdrPassRdrPass
 List of rdr pass, for this matrix block.


Member Function Documentation

sint NL3D::CMeshGeom::CMatrixBlock::getMatrixIdLocation uint32  boneId  )  const
 

return the idx of this bone, in MatrixId. -1 if not found.

Definition at line 1415 of file mesh.cpp.

References sint, uint, and uint32.

Referenced by NL3D::CMeshGeom::buildSkin().

01416 {
01417         for(uint i=0;i<NumMatrix;i++)
01418         {
01419                 if(MatrixId[i]==boneId)
01420                         return i;
01421         }
01422 
01423         // not found.
01424         return -1;
01425 }

void NL3D::CMeshGeom::CMatrixBlock::serial NLMISC::IStream f  )  [inline]
 

Definition at line 518 of file mesh.h.

References nlassert, RdrPass, NLMISC::IStream::serial(), NLMISC::IStream::serialCont(), NLMISC::IStream::serialVersion(), and uint.

00519                 {
00520                         (void)f.serialVersion(0);
00521 
00522                         // Code written for IDriver::MaxModelMatrix==16 matrixs.
00523                         nlassert(IDriver::MaxModelMatrix == 16);
00524                         for(uint i=0;i<IDriver::MaxModelMatrix;i++)
00525                                 f.serial(MatrixId[i]);
00526                         f.serial(NumMatrix);
00527                         f.serialCont(RdrPass);
00528                 }


Field Documentation

uint32 NL3D::CMeshGeom::CMatrixBlock::MatrixId[IDriver::MaxModelMatrix]
 

Which matrix we use for this block.

Definition at line 512 of file mesh.h.

Referenced by NL3D::CMeshGeom::build(), NL3D::CMeshGeom::buildBoneUsageVer3(), NL3D::CMeshGeom::buildSkin(), NL3D::CMeshGeom::computeBonesId(), and NL3D::CMeshGeom::computeSkinMatrixes().

uint32 NL3D::CMeshGeom::CMatrixBlock::NumMatrix
 

Number of matrix actually used.

Definition at line 514 of file mesh.h.

Referenced by NL3D::CMeshGeom::build(), NL3D::CMeshGeom::buildBoneUsageVer3(), NL3D::CMeshGeom::buildSkin(), NL3D::CMeshGeom::computeBonesId(), and NL3D::CMeshGeom::computeSkinMatrixes().

std::vector<CRdrPass> NL3D::CMeshGeom::CMatrixBlock::RdrPass
 

List of rdr pass, for this matrix block.

Definition at line 516 of file mesh.h.

Referenced by NL3D::CMeshGeom::computeMeshVBHeap(), NL3D::CMeshGeom::flagSkinVerticesForMatrixBlock(), NL3D::CMeshGeom::getNumTriangles(), NL3D::CMeshGeom::profileSceneRender(), NL3D::CMeshGeom::render(), NL3D::CMeshGeom::renderPass(), NL3D::CMeshGeom::renderSimpleWithMaterial(), NL3D::CMeshGeom::renderSkin(), and serial().


The documentation for this class was generated from the following files:
Generated on Tue Mar 16 06:52:08 2004 for NeL by doxygen 1.3.6