NL3D::CMRMFaceBuild Struct Reference

#include <mrm_internal.h>

Inheritance diagram for NL3D::CMRMFaceBuild:

NL3D::CMRMFace

Detailed Description

An internal mesh extended face representation for MRM building.
Author:
Lionel Berenguier

Nevrax France

Date:
2000

Definition at line 217 of file mrm_internal.h.

Public Member Functions

 CMRMFaceBuild ()
sint getAssociatedEdge (const CMRMEdge &edge) const
sint getAssociatedWedge (sint attribId, sint numvertex)
CMRMEdge getEdge (sint eId) const
bool hasEdge (const CMRMEdge &edge) const
bool hasVertex (sint numvertex)
bool hasWedge (sint attribId, sint numwedge)
void invalidAllIts (TEdgeMap &edgeMap)
void invalidEdgeIt (const CMRMEdge &e, TEdgeMap &edgeMap)
CMRMFaceBuildoperator= (const CMRMFace &f)
bool validEdgeIt (const CMRMEdge &e)

Data Fields

std::vector< CVectorHBSInterpolated
CMRMCorner Corner [3]
bool Deleted
CVectorH InterpolatedAttribute
ItEdgeMap It0
ItEdgeMap It1
ItEdgeMap It2
sint MaterialId
bool ValidIt0
bool ValidIt1
bool ValidIt2


Constructor & Destructor Documentation

NL3D::CMRMFaceBuild::CMRMFaceBuild  )  [inline]
 

Definition at line 234 of file mrm_internal.h.

References Deleted, ValidIt0, ValidIt1, and ValidIt2.

00235         {
00236                 Deleted=false;
00237                 ValidIt0= ValidIt1= ValidIt2= false;
00238         }


Member Function Documentation

sint NL3D::CMRMFaceBuild::getAssociatedEdge const CMRMEdge edge  )  const [inline]
 

Definition at line 247 of file mrm_internal.h.

References sint, NL3D::CMRMEdge::v0, NL3D::CMRMEdge::v1, and NL3D::CMRMCorner::Vertex.

Referenced by hasEdge().

00248         {
00249                 sint v0= edge.v0;
00250                 sint v1= edge.v1;
00251                 if(Corner[0].Vertex==v0 && Corner[1].Vertex==v1)        return 0;
00252                 if(Corner[0].Vertex==v1 && Corner[1].Vertex==v0)        return 0;
00253                 if(Corner[1].Vertex==v0 && Corner[2].Vertex==v1)        return 1;
00254                 if(Corner[1].Vertex==v1 && Corner[2].Vertex==v0)        return 1;
00255                 if(Corner[0].Vertex==v0 && Corner[2].Vertex==v1)        return 2;
00256                 if(Corner[0].Vertex==v1 && Corner[2].Vertex==v0)        return 2;
00257                 return -1;
00258         }

sint NL3D::CMRMFaceBuild::getAssociatedWedge sint  attribId,
sint  numvertex
[inline]
 

Definition at line 313 of file mrm_internal.h.

References NL3D::CMRMCorner::Attributes, sint, and NL3D::CMRMCorner::Vertex.

Referenced by NL3D::CMRMBuilder::collapseEdge(), and NL3D::CMRMBuilder::faceShareWedges().

00314         {
00315                 if(Corner[0].Vertex==numvertex) return Corner[0].Attributes[attribId];
00316                 if(Corner[1].Vertex==numvertex) return Corner[1].Attributes[attribId];
00317                 if(Corner[2].Vertex==numvertex) return Corner[2].Attributes[attribId];
00318                 return -1;
00319         }

CMRMEdge NL3D::CMRMFaceBuild::getEdge sint  eId  )  const [inline]
 

Definition at line 263 of file mrm_internal.h.

References nlstop, and sint.

Referenced by NL3D::CMRMBuilder::edgeNearUniqueMatFace(), NL3D::CMRMBuilder::insertFaceIntoEdgeList(), invalidEdgeIt(), validEdgeIt(), and NL3D::CMRMBuilder::vertexClosed().

00264         {
00265                 if(eId==0) return CMRMEdge(Corner[0].Vertex, Corner[1].Vertex);
00266                 if(eId==1) return CMRMEdge(Corner[1].Vertex, Corner[2].Vertex);
00267                 if(eId==2) return CMRMEdge(Corner[2].Vertex, Corner[0].Vertex);
00268                 nlstop;
00269                 return CMRMEdge(-1,-1);
00270         }

bool NL3D::CMRMFaceBuild::hasEdge const CMRMEdge edge  )  const [inline]
 

Definition at line 259 of file mrm_internal.h.

References getAssociatedEdge().

00260         {
00261                 return getAssociatedEdge(edge)!=-1;
00262         }

bool NL3D::CMRMFaceBuild::hasVertex sint  numvertex  )  [inline]
 

Definition at line 299 of file mrm_internal.h.

References sint, and NL3D::CMRMCorner::Vertex.

00300         {
00301                 return Corner[0].Vertex==numvertex || Corner[1].Vertex==numvertex || Corner[2].Vertex==numvertex;
00302         }

bool NL3D::CMRMFaceBuild::hasWedge sint  attribId,
sint  numwedge
[inline]
 

Definition at line 307 of file mrm_internal.h.

References NL3D::CMRMCorner::Attributes, and sint.

00308         {
00309                 return Corner[0].Attributes[attribId]==numwedge ||
00310                         Corner[1].Attributes[attribId]==numwedge ||
00311                         Corner[2].Attributes[attribId]==numwedge;
00312         }

void NL3D::CMRMFaceBuild::invalidAllIts TEdgeMap edgeMap  )  [inline]
 

Definition at line 271 of file mrm_internal.h.

References It0, It1, It2, NL3D::TEdgeMap, ValidIt0, ValidIt1, and ValidIt2.

00272         {
00273                 ValidIt0= ValidIt1= ValidIt2= false;
00274                 It0= edgeMap.end();
00275                 It1= edgeMap.end();
00276                 It2= edgeMap.end();
00277         }

void NL3D::CMRMFaceBuild::invalidEdgeIt const CMRMEdge e,
TEdgeMap edgeMap
[inline]
 

Definition at line 278 of file mrm_internal.h.

References getEdge(), It0, It1, It2, nlstop, NL3D::TEdgeMap, ValidIt0, ValidIt1, and ValidIt2.

Referenced by NL3D::CMRMBuilder::collapseEdges().

00279         {
00280                 if(e== getEdge(0))
00281                         It0= edgeMap.end(), ValidIt0= false;
00282                 else if(e== getEdge(1))
00283                         It1= edgeMap.end(), ValidIt1= false;
00284                 else if(e== getEdge(2))
00285                         It2= edgeMap.end(), ValidIt2= false;
00286                 else nlstop;
00287         }

CMRMFaceBuild& NL3D::CMRMFaceBuild::operator= const CMRMFace f  )  [inline]
 

Definition at line 239 of file mrm_internal.h.

00240         {
00241                 (CMRMFace &)(*this)=f;
00242                 return *this;
00243         }

bool NL3D::CMRMFaceBuild::validEdgeIt const CMRMEdge e  )  [inline]
 

Definition at line 288 of file mrm_internal.h.

References getEdge(), nlstop, ValidIt0, ValidIt1, and ValidIt2.

Referenced by NL3D::CMRMBuilder::collapseEdges().

00289         {
00290                 if(e== getEdge(0)) return ValidIt0;
00291                 if(e== getEdge(1)) return ValidIt1;
00292                 if(e== getEdge(2)) return ValidIt2;
00293                 nlstop;
00294                 return false;
00295         }


Field Documentation

std::vector<CVectorH> NL3D::CMRMFaceBuild::BSInterpolated
 

Definition at line 223 of file mrm_internal.h.

Referenced by NL3D::CMRMBuilder::collapseEdge().

CMRMCorner NL3D::CMRMFace::Corner[3] [inherited]
 

Definition at line 81 of file mrm_mesh.h.

Referenced by NL3D::CMRMBuilder::buildFinalMRM(), NL3D::CMRMBuilder::collapseEdge(), NL3D::CMRMBuilder::init(), NL3D::CMRMBuilder::makeLODMesh(), NL3D::CMRMBuilder::saveCoarserMesh(), and NL3D::CMRMBuilder::vertexClosed().

bool NL3D::CMRMFaceBuild::Deleted
 

Definition at line 226 of file mrm_internal.h.

Referenced by CMRMFaceBuild(), and NL3D::CMRMBuilder::saveCoarserMesh().

CVectorH NL3D::CMRMFaceBuild::InterpolatedAttribute
 

Definition at line 222 of file mrm_internal.h.

Referenced by NL3D::CMRMBuilder::collapseEdge().

ItEdgeMap NL3D::CMRMFaceBuild::It0
 

Definition at line 228 of file mrm_internal.h.

Referenced by invalidAllIts(), invalidEdgeIt(), and NL3D::CMRMBuilder::removeFaceFromEdgeList().

ItEdgeMap NL3D::CMRMFaceBuild::It1
 

Definition at line 228 of file mrm_internal.h.

Referenced by invalidAllIts(), invalidEdgeIt(), and NL3D::CMRMBuilder::removeFaceFromEdgeList().

ItEdgeMap NL3D::CMRMFaceBuild::It2
 

Definition at line 228 of file mrm_internal.h.

Referenced by invalidAllIts(), invalidEdgeIt(), and NL3D::CMRMBuilder::removeFaceFromEdgeList().

sint NL3D::CMRMFace::MaterialId [inherited]
 

Definition at line 83 of file mrm_mesh.h.

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

bool NL3D::CMRMFaceBuild::ValidIt0
 

Definition at line 230 of file mrm_internal.h.

Referenced by CMRMFaceBuild(), NL3D::CMRMBuilder::insertFaceIntoEdgeList(), invalidAllIts(), invalidEdgeIt(), NL3D::CMRMBuilder::removeFaceFromEdgeList(), and validEdgeIt().

bool NL3D::CMRMFaceBuild::ValidIt1
 

Definition at line 230 of file mrm_internal.h.

Referenced by CMRMFaceBuild(), NL3D::CMRMBuilder::insertFaceIntoEdgeList(), invalidAllIts(), invalidEdgeIt(), NL3D::CMRMBuilder::removeFaceFromEdgeList(), and validEdgeIt().

bool NL3D::CMRMFaceBuild::ValidIt2
 

Definition at line 230 of file mrm_internal.h.

Referenced by CMRMFaceBuild(), NL3D::CMRMBuilder::insertFaceIntoEdgeList(), invalidAllIts(), invalidEdgeIt(), NL3D::CMRMBuilder::removeFaceFromEdgeList(), and validEdgeIt().


The documentation for this struct was generated from the following file:
Generated on Tue Mar 16 06:56:53 2004 for NeL by doxygen 1.3.6