NL3D::CMRMMeshFinal::CWedge Struct Reference

#include <mrm_mesh.h>


Public Member Functions

 CWedge ()
bool operator< (const CWedge &o) const

Data Fields

CVectorH Attributes [12]
uint NSkinMatUsed
CVector Vertex
CMesh::CSkinWeight VertexSkin

Static Public Attributes

bool CompareSkinning = false
uint NumAttributesToCompare = 0


Constructor & Destructor Documentation

NL3D::CMRMMeshFinal::CWedge::CWedge  ) 
 

Definition at line 75 of file mrm_mesh.cpp.

References NL3D_MRM_MAX_ATTRIB, NSkinMatUsed, NLMISC::CVectorH::set(), and uint.

00076 {
00077         Vertex = NLMISC::CVector::Null;
00078         NSkinMatUsed = 0;
00079         for (uint k = 0; k < NL3D_MRM_MAX_ATTRIB; ++k)
00080         {
00081                 Attributes[k].set(0, 0, 0, 0);
00082         }
00083 }


Member Function Documentation

bool NL3D::CMRMMeshFinal::CWedge::operator< const CWedge o  )  const [inline]
 

Definition at line 219 of file mrm_mesh.h.

References Attributes, CompareSkinning, NL3D::CMesh::CSkinWeight::MatrixId, NL3D_MESH_SKINNING_MAX_MATRIX, NL3D_MRM_MAX_ATTRIB, nlassert, NumAttributesToCompare, uint, Vertex, VertexSkin, and NL3D::CMesh::CSkinWeight::Weights.

00220                 {
00221                         if(Vertex!=o.Vertex)
00222                                 return Vertex<o.Vertex;
00223                         else
00224                         {
00225                                 nlassert(NumAttributesToCompare<=NL3D_MRM_MAX_ATTRIB);
00226                                 for(uint i=0; i<NumAttributesToCompare; i++)
00227                                 {
00228                                         if(Attributes[i]!=o.Attributes[i])
00229                                                 return Attributes[i]<o.Attributes[i];
00230                                 }
00231                         }
00232 
00233                         // They may be different by their skin Weight.
00234                         if(CompareSkinning)
00235                         {
00236                                 for(uint i=0; i<NL3D_MESH_SKINNING_MAX_MATRIX; i++)
00237                                 {
00238                                         if( VertexSkin.MatrixId[i] != o.VertexSkin.MatrixId[i] )
00239                                                 return VertexSkin.MatrixId[i] < o.VertexSkin.MatrixId[i];
00240                                         if( VertexSkin.Weights[i] != o.VertexSkin.Weights[i] )
00241                                                 return VertexSkin.Weights[i] < o.VertexSkin.Weights[i];
00242                                 }
00243                         }
00244 
00245                         // else they are equal.
00246                         return false;
00247                 }


Field Documentation

CVectorH NL3D::CMRMMeshFinal::CWedge::Attributes[ 12 ]
 

Definition at line 215 of file mrm_mesh.h.

Referenced by NL3D::CMRMBuilder::buildFinalMRM(), NL3D::CMRMBuilder::buildMeshBuildMrm(), and operator<().

bool NL3D::CMRMMeshFinal::CWedge::CompareSkinning = false [static]
 

Definition at line 39 of file mrm_mesh.cpp.

Referenced by operator<().

uint NL3D::CMRMMeshFinal::CWedge::NSkinMatUsed
 

Definition at line 213 of file mrm_mesh.h.

Referenced by NL3D::CMRMBuilder::buildFinalMRM(), and CWedge().

uint NL3D::CMRMMeshFinal::CWedge::NumAttributesToCompare = 0 [static]
 

Definition at line 38 of file mrm_mesh.cpp.

Referenced by operator<().

CVector NL3D::CMRMMeshFinal::CWedge::Vertex
 

Definition at line 214 of file mrm_mesh.h.

Referenced by NL3D::CMRMBuilder::buildFinalMRM(), NL3D::CMRMBuilder::buildMeshBuildMrm(), and operator<().

CMesh::CSkinWeight NL3D::CMRMMeshFinal::CWedge::VertexSkin
 

Definition at line 211 of file mrm_mesh.h.

Referenced by NL3D::CMRMBuilder::buildFinalMRM(), NL3D::CMRMBuilder::buildMeshBuildMrm(), and operator<().


The documentation for this struct was generated from the following files:
Generated on Tue Mar 16 06:57:01 2004 for NeL by doxygen 1.3.6