GMap3d::CCorefine3dFF Class Reference

#include <corefine-3d-face-face.hh>

Inherits GMap3d::CCorefine.

Collaboration diagram for GMap3d::CCorefine3dFF:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 CCorefine3dFF (CGMapVertex *AMap, bool ACalculateOrientation=true, TCoordinate AEpsilon=1E-4, int AVertexDI=-1)
virtual ~CCorefine3dFF ()
void calculateOrientation (bool AState)
void optimizeSearch (bool AState)
void setOptimizationGridResolution (int ARes)
void setDisplayMessagesLevel (int ALevel)
const CTimegetInitialisationTime () const
const CTimegetFaceListCreationTime () const
const CTimegetFaceListReductionTime () const
const CTimegetSplitTime () const
const CTimegetMergeTime () const
virtual int corefine (CDart *&AMesh1, CDart *&AMesh2, std::bitset< NB_MARKS > ACopyMarks=0)
virtual int corefine (int AMark1, int AMark2, std::bitset< NB_MARKS > ACopyMarks=0)
virtual void splitMeshes (CDart *AMesh1, CDart *AMesh2, std::bitset< NB_MARKS > ACopyMarks=0)
virtual void splitMeshes (int AMark1, int AMark2, std::bitset< NB_MARKS > ACopyMarks=0)
virtual void mergeMeshes ()
virtual void removeDoubleFaces (CDart **ADarts=NULL, int ANbDarts=0)
virtual void linkCompounds (CDart *AMesh1, CDart *AMesh2, std::bitset< NB_MARKS > ACopyMarks=0)
virtual void markIntersectionEdges (int AMark, int AObjectsToMark=3)
virtual void markDoubleFaces (int AMark)
virtual void spreadMarksWithoutMerging (std::bitset< NB_MARKS > AMarks)
virtual void clear ()
const std::list< CDart * > & getInterEdgesList () const
const std::list< CDart * > & getDoubleFacesList () const

Protected Member Functions

virtual void splitMeshes (std::bitset< NB_MARKS > ACopyMarks=0)
bool checkEdges ()
void pointDirectInfoToData (int ADirectInfo, CDart *ADart, TOrbit AOrbit, void *AData)
virtual CBoundingBox initMesh (CDart *AMesh)
virtual void cleanMesh (CDart *AMesh)
virtual CBoundingBox initFaces (int AMark)
SCorefFace computeFaceInfos (CDart *AFace, int AMark)
TCorefFaceListbuildFaceList (CDart *AMesh)
TCorefFaceListbuildFaceList (int AMark)
void reduceFaceLists (TCorefFaceList *AList1, TCorefFaceList *AList2, const CBoundingBox &ABox)
void updateFaceInList (TCorefFaceList *AList, TCorefFaceList::iterator AElt, std::list< CDart * > *AFaces)
bool isVertexLinkedWithFace (CDart *AVertex, int AFaceMark)
void markFaceVertex (CDart *AVertex, int AFaceMark, int AMark)
CDartgetTwinDartOnFace (CDart *ADart, int AFaceMark)
CDartfindFaceSector (CDart *AFaceVertex, const CPlane &AFacePlane, int AFaceMark, const CVertex &AVector)
CDartfindNearestFaceVertex (CDart *AFace, const CPlane &ARefPlane, const CPlane &AClipPlane1, const CPlane &AClipPlane2)
CVertex edgeInsideVector (CDart *AEdge, const CPlane &AFacePlane)
CVertex vertexInsideVector (CDart *AVertex, const CPlane &AFacePlane)
void classifyFaceVertices (CDart *AFace, const CPlane &APlane, int APositiveMark, int ANegativeMark, int AFacesMark, bool AUseVerticesLinks=true, int *ANbVertices=NULL, int *ANbPositiveVertices=NULL, int *ANbNegativeVertices=NULL)
void getFaceFictiveElements (CDart *AFace, int AFaceMark, std::list< CDart * > *AFictVertices, std::list< CDart * > *AFictEdges)
void testPointInside (CDart *AVertex, TInterPt *APoint, int AFaceMark, const CVertex &AInterLine, const CPlane &AFacePlane)
void testPointBorder (CDart *AVertex, TInterPt *ANewPoint, TInterPt *AOldPoint, const TInterPtCmp &AComparator)
TInterPtSetfindIntersectionPoints (CDart *AFace, const CPlane &AFacePlane, const CPlane &AInterPlane, const CVertex &AInterLine, int APositiveMark, int ANegativeMark, int AFacesMark, const TInterPtCmp &AComparator)
virtual CDartcreateEdge ()
virtual CDartinsertVertexInFace (CDart *AFace, const CVertex &APoint)
virtual CDartinsertEdgeInFace (CDart *AVertex1, const CVertex &AVertex2)
virtual CDartsplitEdge (CDart *AEdge, const CVertex &APoint, std::list< CDart * > *AFictiveEdges=NULL)
virtual CDartsplitFace (CDart *AVertex1, CDart *AVertex2)
bool isUselessFictiveVertex (CDart *AVertex)
bool isUselessFictiveEdge (CDart *AEdge)
bool isWholeFaceMarked (CDart *AFace, int AMark)
virtual CDartcopyDoubleFaceData (CDart *AFace)
virtual CDartremoveFictiveVertex (CDart *AVertex, int ADeleteMark=-1)
virtual CDartremoveFictiveEdge (CDart *AEdge, int ADeleteMark=-1)
virtual CDartremoveDoubleFace (CDart *AFace)
void linkVertices (CDart *AVertex1, CDart *AVertex2)
void addIntersectionPoint (CDart *AVertices[2], int AFaceNumber, int AFacesMark, int AInterMark, std::list< CDart * > *AInterList)
virtual bool intersectFaces (CDart *AFace1, CDart *AFace2, const CPlane &APlane1, const CPlane &APlane2, std::list< CDart * > *AFaceList1, std::list< CDart * > *AFaceList2)
virtual void intersectSecantFaces (CDart *AFace1, CDart *AFace2, const CPlane &APlane1, const CPlane &APlane2, int APositiveMark, int ANegativeMark, int AFacesMark, std::list< CDart * > *AFictiveVertices, std::list< CDart * > *AFictiveEdges)
virtual void intersectCoplanarFaces (CDart *AFace1, CDart *AFace2, const CPlane &APlane1, const CPlane &APlane2, int APositiveMark, int ANegativeMark, int AFacesMark, std::list< CDart * > *AFictiveVertices, std::list< CDart * > *AFictiveEdges)
void assignFacesPlaneInfo (int ADirectInfo, int ANegativeMark, TCorefFaceList *AList)
void removeFacesPlaneInfo (int ADirectInfo, int ANegativeMark, TCorefFaceList *AList)
void sortFacesAroundEdges (int AFacePlaneDI, int ANegativeMark)
TFaceSetsortFacesAroundEdges (CDart *AEdge1, CDart *AEdge2, int AFacePlaneDI, int ANegativeMark)
void linkSortedFaces (TFaceSet *AFaceSet)
void spreadMarksAroundEdges (TFaceSet *AFaceSet, std::bitset< NB_MARKS > AMarks)
bool isPointInFace (const CVertex &APoint, CDart *AFace, const CPlane &APlane)

Protected Attributes

CCorefine3dToolsFTools
bool FCalculateOrientation
bool FLocalVertexDI
bool FOptimizeSearch
int FGridResolution
int FDisplayMessages
CTime FInitialisationTime
CTime FFaceListCreationTime
CTime FFaceListReductionTime
CTime FSplitTime
CTime FMergeTime
int FVertexDI
int FInterPointDI
int FLinkedVertexDI
int FInterEdgeMark
int FFictiveVertexMark
int FFictiveEdgeMark
int FFaceMark
int FDoubleFaceMark
TCorefFaceListFMesh1
TCorefFaceListFMesh2
std::list< CDart * > FInterEdges
std::list< CDart * > FDoubleFaces


Detailed Description

Definition at line 59 of file corefine-3d-face-face.hh.


Constructor & Destructor Documentation

CCorefine3dFF::CCorefine3dFF ( CGMapVertex AMap,
bool  ACalculateOrientation = true,
TCoordinate  AEpsilon = 1E-4,
int  AVertexDI = -1 
)

Definition at line 68 of file corefine-3d-face-face.cc.

CCorefine3dFF::~CCorefine3dFF (  )  [virtual]

Definition at line 89 of file corefine-3d-face-face.cc.


Member Function Documentation

void CCorefine3dFF::addIntersectionPoint ( CDart AVertices[2],
int  AFaceNumber,
int  AFacesMark,
int  AInterMark,
std::list< CDart * > *  AInterList 
) [protected]

Definition at line 1930 of file corefine-3d-face-face.cc.

void CCorefine3dFF::assignFacesPlaneInfo ( int  ADirectInfo,
int  ANegativeMark,
TCorefFaceList AList 
) [protected]

Definition at line 2823 of file corefine-3d-face-face.cc.

TCorefFaceList * CCorefine3dFF::buildFaceList ( int  AMark  )  [protected]

Definition at line 1002 of file corefine-3d-face-face.cc.

TCorefFaceList * CCorefine3dFF::buildFaceList ( CDart AMesh  )  [protected]

Definition at line 984 of file corefine-3d-face-face.cc.

void GMap3d::CCorefine3dFF::calculateOrientation ( bool  AState  )  [inline]

Definition at line 66 of file corefine-3d-face-face.hh.

bool CCorefine3dFF::checkEdges (  )  [protected]

Definition at line 758 of file corefine-3d-face-face.cc.

void CCorefine3dFF::classifyFaceVertices ( CDart AFace,
const CPlane APlane,
int  APositiveMark,
int  ANegativeMark,
int  AFacesMark,
bool  AUseVerticesLinks = true,
int *  ANbVertices = NULL,
int *  ANbPositiveVertices = NULL,
int *  ANbNegativeVertices = NULL 
) [protected]

Definition at line 1263 of file corefine-3d-face-face.cc.

void CCorefine3dFF::cleanMesh ( CDart AMesh  )  [protected, virtual]

Definition at line 882 of file corefine-3d-face-face.cc.

void CCorefine3dFF::clear (  )  [virtual]

Definition at line 643 of file corefine-3d-face-face.cc.

SCorefFace CCorefine3dFF::computeFaceInfos ( CDart AFace,
int  AMark 
) [protected]

Definition at line 935 of file corefine-3d-face-face.cc.

CDart * CCorefine3dFF::copyDoubleFaceData ( CDart AFace  )  [protected, virtual]

Definition at line 1754 of file corefine-3d-face-face.cc.

virtual int GMap3d::CCorefine3dFF::corefine ( int  AMark1,
int  AMark2,
std::bitset< NB_MARKS >  ACopyMarks = 0 
) [virtual]

virtual int GMap3d::CCorefine3dFF::corefine ( CDart *&  AMesh1,
CDart *&  AMesh2,
std::bitset< NB_MARKS >  ACopyMarks = 0 
) [virtual]

Implements GMap3d::CCorefine.

CDart * CCorefine3dFF::createEdge (  )  [protected, virtual]

Definition at line 1548 of file corefine-3d-face-face.cc.

CVertex CCorefine3dFF::edgeInsideVector ( CDart AEdge,
const CPlane AFacePlane 
) [protected]

Definition at line 1246 of file corefine-3d-face-face.cc.

CDart * CCorefine3dFF::findFaceSector ( CDart AFaceVertex,
const CPlane AFacePlane,
int  AFaceMark,
const CVertex AVector 
) [protected]

Definition at line 1178 of file corefine-3d-face-face.cc.

TInterPtSet * CCorefine3dFF::findIntersectionPoints ( CDart AFace,
const CPlane AFacePlane,
const CPlane AInterPlane,
const CVertex AInterLine,
int  APositiveMark,
int  ANegativeMark,
int  AFacesMark,
const TInterPtCmp AComparator 
) [protected]

Definition at line 1413 of file corefine-3d-face-face.cc.

CDart * CCorefine3dFF::findNearestFaceVertex ( CDart AFace,
const CPlane ARefPlane,
const CPlane AClipPlane1,
const CPlane AClipPlane2 
) [protected]

Definition at line 1215 of file corefine-3d-face-face.cc.

const std::list<CDart*>& GMap3d::CCorefine3dFF::getDoubleFacesList (  )  const [inline]

Definition at line 98 of file corefine-3d-face-face.hh.

void CCorefine3dFF::getFaceFictiveElements ( CDart AFace,
int  AFaceMark,
std::list< CDart * > *  AFictVertices,
std::list< CDart * > *  AFictEdges 
) [protected]

Definition at line 1319 of file corefine-3d-face-face.cc.

const CTime& GMap3d::CCorefine3dFF::getFaceListCreationTime (  )  const [inline]

Definition at line 72 of file corefine-3d-face-face.hh.

const CTime& GMap3d::CCorefine3dFF::getFaceListReductionTime (  )  const [inline]

Definition at line 73 of file corefine-3d-face-face.hh.

const CTime& GMap3d::CCorefine3dFF::getInitialisationTime (  )  const [inline]

Definition at line 71 of file corefine-3d-face-face.hh.

const std::list<CDart*>& GMap3d::CCorefine3dFF::getInterEdgesList (  )  const [inline]

Definition at line 97 of file corefine-3d-face-face.hh.

const CTime& GMap3d::CCorefine3dFF::getMergeTime (  )  const [inline]

Definition at line 75 of file corefine-3d-face-face.hh.

const CTime& GMap3d::CCorefine3dFF::getSplitTime (  )  const [inline]

Definition at line 74 of file corefine-3d-face-face.hh.

CDart * CCorefine3dFF::getTwinDartOnFace ( CDart ADart,
int  AFaceMark 
) [protected]

Definition at line 1168 of file corefine-3d-face-face.cc.

CBoundingBox CCorefine3dFF::initFaces ( int  AMark  )  [protected, virtual]

Definition at line 841 of file corefine-3d-face-face.cc.

CBoundingBox CCorefine3dFF::initMesh ( CDart AMesh  )  [protected, virtual]

Definition at line 791 of file corefine-3d-face-face.cc.

CDart * CCorefine3dFF::insertEdgeInFace ( CDart AVertex1,
const CVertex AVertex2 
) [protected, virtual]

Definition at line 1590 of file corefine-3d-face-face.cc.

CDart * CCorefine3dFF::insertVertexInFace ( CDart AFace,
const CVertex APoint 
) [protected, virtual]

Definition at line 1578 of file corefine-3d-face-face.cc.

virtual void GMap3d::CCorefine3dFF::intersectCoplanarFaces ( CDart AFace1,
CDart AFace2,
const CPlane APlane1,
const CPlane APlane2,
int  APositiveMark,
int  ANegativeMark,
int  AFacesMark,
std::list< CDart * > *  AFictiveVertices,
std::list< CDart * > *  AFictiveEdges 
) [protected, virtual]

virtual bool GMap3d::CCorefine3dFF::intersectFaces ( CDart AFace1,
CDart AFace2,
const CPlane APlane1,
const CPlane APlane2,
std::list< CDart * > *  AFaceList1,
std::list< CDart * > *  AFaceList2 
) [protected, virtual]

virtual void GMap3d::CCorefine3dFF::intersectSecantFaces ( CDart AFace1,
CDart AFace2,
const CPlane APlane1,
const CPlane APlane2,
int  APositiveMark,
int  ANegativeMark,
int  AFacesMark,
std::list< CDart * > *  AFictiveVertices,
std::list< CDart * > *  AFictiveEdges 
) [protected, virtual]

bool CCorefine3dFF::isPointInFace ( const CVertex APoint,
CDart AFace,
const CPlane APlane 
) [protected]

Definition at line 3056 of file corefine-3d-face-face.cc.

bool CCorefine3dFF::isUselessFictiveEdge ( CDart AEdge  )  [protected]

Definition at line 1735 of file corefine-3d-face-face.cc.

bool CCorefine3dFF::isUselessFictiveVertex ( CDart AVertex  )  [protected]

Definition at line 1722 of file corefine-3d-face-face.cc.

bool CCorefine3dFF::isVertexLinkedWithFace ( CDart AVertex,
int  AFaceMark 
) [protected]

Definition at line 1142 of file corefine-3d-face-face.cc.

bool CCorefine3dFF::isWholeFaceMarked ( CDart AFace,
int  AMark 
) [protected]

Definition at line 1743 of file corefine-3d-face-face.cc.

void CCorefine3dFF::linkCompounds ( CDart AMesh1,
CDart AMesh2,
std::bitset< NB_MARKS >  ACopyMarks = 0 
) [virtual]

Definition at line 456 of file corefine-3d-face-face.cc.

void CCorefine3dFF::linkSortedFaces ( TFaceSet AFaceSet  )  [protected]

Definition at line 3008 of file corefine-3d-face-face.cc.

void CCorefine3dFF::linkVertices ( CDart AVertex1,
CDart AVertex2 
) [protected]

Definition at line 1916 of file corefine-3d-face-face.cc.

void CCorefine3dFF::markDoubleFaces ( int  AMark  )  [virtual]

Definition at line 602 of file corefine-3d-face-face.cc.

void CCorefine3dFF::markFaceVertex ( CDart AVertex,
int  AFaceMark,
int  AMark 
) [protected]

Definition at line 1159 of file corefine-3d-face-face.cc.

void CCorefine3dFF::markIntersectionEdges ( int  AMark,
int  AObjectsToMark = 3 
) [virtual]

Definition at line 586 of file corefine-3d-face-face.cc.

void CCorefine3dFF::mergeMeshes (  )  [virtual]

Definition at line 265 of file corefine-3d-face-face.cc.

void GMap3d::CCorefine3dFF::optimizeSearch ( bool  AState  )  [inline]

Definition at line 67 of file corefine-3d-face-face.hh.

void CCorefine3dFF::pointDirectInfoToData ( int  ADirectInfo,
CDart ADart,
TOrbit  AOrbit,
void *  AData 
) [protected]

Definition at line 780 of file corefine-3d-face-face.cc.

void CCorefine3dFF::reduceFaceLists ( TCorefFaceList AList1,
TCorefFaceList AList2,
const CBoundingBox ABox 
) [protected]

Definition at line 1021 of file corefine-3d-face-face.cc.

CDart * CCorefine3dFF::removeDoubleFace ( CDart AFace  )  [protected, virtual]

Definition at line 1894 of file corefine-3d-face-face.cc.

void CCorefine3dFF::removeDoubleFaces ( CDart **  ADarts = NULL,
int  ANbDarts = 0 
) [virtual]

Definition at line 299 of file corefine-3d-face-face.cc.

void CCorefine3dFF::removeFacesPlaneInfo ( int  ADirectInfo,
int  ANegativeMark,
TCorefFaceList AList 
) [protected]

Definition at line 2838 of file corefine-3d-face-face.cc.

CDart * CCorefine3dFF::removeFictiveEdge ( CDart AEdge,
int  ADeleteMark = -1 
) [protected, virtual]

Definition at line 1837 of file corefine-3d-face-face.cc.

CDart * CCorefine3dFF::removeFictiveVertex ( CDart AVertex,
int  ADeleteMark = -1 
) [protected, virtual]

Definition at line 1816 of file corefine-3d-face-face.cc.

void GMap3d::CCorefine3dFF::setDisplayMessagesLevel ( int  ALevel  )  [inline]

Definition at line 69 of file corefine-3d-face-face.hh.

void GMap3d::CCorefine3dFF::setOptimizationGridResolution ( int  ARes  )  [inline]

Definition at line 68 of file corefine-3d-face-face.hh.

TFaceSet * CCorefine3dFF::sortFacesAroundEdges ( CDart AEdge1,
CDart AEdge2,
int  AFacePlaneDI,
int  ANegativeMark 
) [protected]

Definition at line 2875 of file corefine-3d-face-face.cc.

void CCorefine3dFF::sortFacesAroundEdges ( int  AFacePlaneDI,
int  ANegativeMark 
) [protected]

Definition at line 2850 of file corefine-3d-face-face.cc.

virtual CDart* GMap3d::CCorefine3dFF::splitEdge ( CDart AEdge,
const CVertex APoint,
std::list< CDart * > *  AFictiveEdges = NULL 
) [protected, virtual]

CDart * CCorefine3dFF::splitFace ( CDart AVertex1,
CDart AVertex2 
) [protected, virtual]

Definition at line 1675 of file corefine-3d-face-face.cc.

virtual void GMap3d::CCorefine3dFF::splitMeshes ( std::bitset< NB_MARKS >  ACopyMarks = 0  )  [protected, virtual]

virtual void GMap3d::CCorefine3dFF::splitMeshes ( int  AMark1,
int  AMark2,
std::bitset< NB_MARKS >  ACopyMarks = 0 
) [virtual]

virtual void GMap3d::CCorefine3dFF::splitMeshes ( CDart AMesh1,
CDart AMesh2,
std::bitset< NB_MARKS >  ACopyMarks = 0 
) [virtual]

void GMap3d::CCorefine3dFF::spreadMarksAroundEdges ( TFaceSet AFaceSet,
std::bitset< NB_MARKS >  AMarks 
) [protected]

virtual void GMap3d::CCorefine3dFF::spreadMarksWithoutMerging ( std::bitset< NB_MARKS >  AMarks  )  [virtual]

void CCorefine3dFF::testPointBorder ( CDart AVertex,
TInterPt ANewPoint,
TInterPt AOldPoint,
const TInterPtCmp AComparator 
) [protected]

Definition at line 1386 of file corefine-3d-face-face.cc.

void CCorefine3dFF::testPointInside ( CDart AVertex,
TInterPt APoint,
int  AFaceMark,
const CVertex AInterLine,
const CPlane AFacePlane 
) [protected]

Definition at line 1356 of file corefine-3d-face-face.cc.

void GMap3d::CCorefine3dFF::updateFaceInList ( TCorefFaceList AList,
TCorefFaceList::iterator  AElt,
std::list< CDart * > *  AFaces 
) [protected]

CVertex CCorefine3dFF::vertexInsideVector ( CDart AVertex,
const CPlane AFacePlane 
) [protected]

Definition at line 1254 of file corefine-3d-face-face.cc.


Member Data Documentation

Definition at line 232 of file corefine-3d-face-face.hh.

Definition at line 236 of file corefine-3d-face-face.hh.

Definition at line 252 of file corefine-3d-face-face.hh.

std::list<CDart*> GMap3d::CCorefine3dFF::FDoubleFaces [protected]

Definition at line 256 of file corefine-3d-face-face.hh.

Definition at line 239 of file corefine-3d-face-face.hh.

Definition at line 240 of file corefine-3d-face-face.hh.

Definition at line 251 of file corefine-3d-face-face.hh.

Definition at line 250 of file corefine-3d-face-face.hh.

Definition at line 249 of file corefine-3d-face-face.hh.

Definition at line 235 of file corefine-3d-face-face.hh.

Definition at line 238 of file corefine-3d-face-face.hh.

Definition at line 248 of file corefine-3d-face-face.hh.

std::list<CDart*> GMap3d::CCorefine3dFF::FInterEdges [protected]

Definition at line 255 of file corefine-3d-face-face.hh.

Definition at line 245 of file corefine-3d-face-face.hh.

Definition at line 246 of file corefine-3d-face-face.hh.

Definition at line 233 of file corefine-3d-face-face.hh.

Definition at line 242 of file corefine-3d-face-face.hh.

Definition at line 254 of file corefine-3d-face-face.hh.

Definition at line 254 of file corefine-3d-face-face.hh.

Definition at line 234 of file corefine-3d-face-face.hh.

Definition at line 241 of file corefine-3d-face-face.hh.

Definition at line 231 of file corefine-3d-face-face.hh.

Definition at line 244 of file corefine-3d-face-face.hh.


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

Generated on Tue Jul 7 15:21:03 2009 for Moka libraries by  doxygen 1.5.8