Moka libraries
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
GMap3d::CCorefine3d Class Reference

#include <corefine-3d.hh>

Inheritance diagram for GMap3d::CCorefine3d:
GMap3d::CCorefine

Public Member Functions

 CCorefine3d (CGMapVertex *AMap, bool ACalculateOrientation=true, TCoordinate AEpsilon=1E-4, int AVertexDI=-1)
 
 ~CCorefine3d ()
 
void computeOnlyFirstIntersection (bool ABoolean)
 
void setGridResolution (int ARes)
 
virtual int corefine (CDart *&AMesh1, CDart *&AMesh2, std::bitset< NB_MARKS > ACopyMarks=0)
 
const CTime & getInitialisationTime () const
 
const CTime & getGridCreationTime () const
 
const CTime & getResearchTime () const
 
const CTime & getLineCreationTime () const
 
const CTime & getUpdateTime () const
 
- Public Member Functions inherited from GMap3d::CCorefine
 CCorefine (CGMapVertex *AMap, TCoordinate AEpsilon=1E-4)
 
virtual ~CCorefine ()
 

Protected Member Functions

virtual unsigned long initMesh (CDart *AMesh)
 
virtual void cleanMesh (CDart *AMesh)
 
void createGrid (CDart *AMesh, unsigned long ANbFaces)
 
void destroyGrid ()
 
unsigned int getMaxVerticesDegree (std::list< CDart * > *AList)
 
CVertex normalizeGridSize (const CVertex &AGridSize)
 
void getGridResolution (const CVertex &AGridSize, unsigned int AMinRes, unsigned int AMaxRes, unsigned int *AResX, unsigned int *AResY, unsigned int *AResZ)
 
void computeGridResolution (const CVertex &AGridSize, unsigned long ANbFaces, TCoordinate ANbFacesPerCell, unsigned int *AResX, unsigned int *AResY, unsigned int *AResZ, unsigned int AMinRes=1, unsigned int AMaxRes=512)
 
unsigned int refineGrid (unsigned int AMaxSubDiv, unsigned int AMaxNumberOfFaces)
 
void addFaceToGrid (TFaceGrid *AGrid, CDart *AFace)
 
void removeFaceFromGrid (TFaceGrid *AGrid, CDart *AFace)
 
void updateVertexLinks (CDart *ADart, CAttributeVertex *AVertex)
 
void updateVertexLinks (CDart *ADart)
 
CVertex * getVertex (CDart *ADart)
 
void updateFaceLinks (CDart *AFace)
 
CDart * getFace (CDart *ADart)
 
CDart * createEdge ()
 
virtual CDart * insertVertexInFace (CDart *AFace, const CVertex &APoint)
 
virtual CDart * insertEdgeInFace (CDart *AVertex1, const CVertex &AVertex2)
 
virtual CDart * splitFace (CDart *AVertex1, CDart *AVertex2)
 
virtual CDart * splitEdge (CDart *AVertex, const CVertex &APoint)
 
virtual CDart * removeEdge (CDart *AEdge, int ADeleteMark=-1)
 
CVertex getProjectionOnPlane (CDart *AVertex, const CPlane &APlane)
 
bool isSameEdge_Naive (CDart *AEdge1, CDart *AEdge2)
 
bool isSameEdge_Optimized (CDart *AEdge1, CDart *AEdge2)
 
bool areFacesLinked (CDart *AFace1, CDart *AFace2)
 
CEdgeIntersection findNearestIntersectionInGrid (const CVertex &AVertex1, const CVertex &AVertex2)
 
CDart * findFirstIntersectionInGrid (const CVertex &AVertex, int *ADim)
 
void followIntersection (CDart *AVertex1, CDart *AVertex2, int AMark)
 
bool manageFacesIntersection (CDart *AFace1, const CPlane &APlane1, CDart *AFace2, const CPlane &APlane2, int AMark, std::list< CDart * > *AList)
 
void createIntersectionEdge (CDart *AFace1, CDart *AFace2, const CPlane &APlane1, const CPlane &APlane2, const CEdgeIntersection &AInter1, const CEdgeIntersection &AInter2, int AMark, std::list< CDart * > *AList)
 
void applyModifications (CDart *AMesh)
 
void extractIntersectionLines (CDart *AMesh)
 

Additional Inherited Members

- Protected Attributes inherited from GMap3d::CCorefine
CGMapVertex * FMap
 
TCoordinate FEps
 
std::bitset< NB_MARKS > FCopyMarks
 

Detailed Description

Definition at line 41 of file corefine-3d.hh.

Constructor & Destructor Documentation

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

Definition at line 101 of file corefine-3d.cc.

CCorefine3d::~CCorefine3d ( )

Definition at line 126 of file corefine-3d.cc.

Member Function Documentation

void CCorefine3d::addFaceToGrid ( TFaceGrid AGrid,
CDart *  AFace 
)
protected

Definition at line 833 of file corefine-3d.cc.

void CCorefine3d::applyModifications ( CDart *  AMesh)
protected

Definition at line 1914 of file corefine-3d.cc.

bool CCorefine3d::areFacesLinked ( CDart *  AFace1,
CDart *  AFace2 
)
protected

Definition at line 1287 of file corefine-3d.cc.

void CCorefine3d::cleanMesh ( CDart *  AMesh)
protectedvirtual

Definition at line 497 of file corefine-3d.cc.

void CCorefine3d::computeGridResolution ( const CVertex &  AGridSize,
unsigned long  ANbFaces,
TCoordinate  ANbFacesPerCell,
unsigned int *  AResX,
unsigned int *  AResY,
unsigned int *  AResZ,
unsigned int  AMinRes = 1,
unsigned int  AMaxRes = 512 
)
protected

Definition at line 757 of file corefine-3d.cc.

void CCorefine3d::computeOnlyFirstIntersection ( bool  ABoolean)

Definition at line 138 of file corefine-3d.cc.

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

Implements GMap3d::CCorefine.

Definition at line 152 of file corefine-3d.cc.

CDart * CCorefine3d::createEdge ( )
protected

Definition at line 918 of file corefine-3d.cc.

void CCorefine3d::createGrid ( CDart *  AMesh,
unsigned long  ANbFaces 
)
protected

Definition at line 588 of file corefine-3d.cc.

void CCorefine3d::createIntersectionEdge ( CDart *  AFace1,
CDart *  AFace2,
const CPlane &  APlane1,
const CPlane &  APlane2,
const CEdgeIntersection AInter1,
const CEdgeIntersection AInter2,
int  AMark,
std::list< CDart * > *  AList 
)
protected

Definition at line 1748 of file corefine-3d.cc.

void CCorefine3d::destroyGrid ( )
protected

Definition at line 635 of file corefine-3d.cc.

void CCorefine3d::extractIntersectionLines ( CDart *  AMesh)
protected

Definition at line 1944 of file corefine-3d.cc.

CDart * CCorefine3d::findFirstIntersectionInGrid ( const CVertex &  AVertex,
int *  ADim 
)
protected

Definition at line 1483 of file corefine-3d.cc.

CEdgeIntersection CCorefine3d::findNearestIntersectionInGrid ( const CVertex &  AVertex1,
const CVertex &  AVertex2 
)
protected

Definition at line 1301 of file corefine-3d.cc.

void CCorefine3d::followIntersection ( CDart *  AVertex1,
CDart *  AVertex2,
int  AMark 
)
protected

Definition at line 1569 of file corefine-3d.cc.

INLINE CDart * GMap3d::CCorefine3d::getFace ( CDart *  ADart)
protected

Definition at line 40 of file corefine-3d.icc.

const CTime& GMap3d::CCorefine3d::getGridCreationTime ( ) const
inline

Definition at line 56 of file corefine-3d.hh.

void CCorefine3d::getGridResolution ( const CVertex &  AGridSize,
unsigned int  AMinRes,
unsigned int  AMaxRes,
unsigned int *  AResX,
unsigned int *  AResY,
unsigned int *  AResZ 
)
protected

Definition at line 736 of file corefine-3d.cc.

const CTime& GMap3d::CCorefine3d::getInitialisationTime ( ) const
inline

Definition at line 55 of file corefine-3d.hh.

const CTime& GMap3d::CCorefine3d::getLineCreationTime ( ) const
inline

Definition at line 58 of file corefine-3d.hh.

unsigned int CCorefine3d::getMaxVerticesDegree ( std::list< CDart * > *  AList)
protected

Definition at line 693 of file corefine-3d.cc.

CVertex CCorefine3d::getProjectionOnPlane ( CDart *  AVertex,
const CPlane &  APlane 
)
protected

Definition at line 1213 of file corefine-3d.cc.

const CTime& GMap3d::CCorefine3d::getResearchTime ( ) const
inline

Definition at line 57 of file corefine-3d.hh.

const CTime& GMap3d::CCorefine3d::getUpdateTime ( ) const
inline

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

INLINE CVertex * GMap3d::CCorefine3d::getVertex ( CDart *  ADart)
protected

Definition at line 32 of file corefine-3d.icc.

unsigned long CCorefine3d::initMesh ( CDart *  AMesh)
protectedvirtual

Definition at line 436 of file corefine-3d.cc.

CDart * CCorefine3d::insertEdgeInFace ( CDart *  AVertex1,
const CVertex &  AVertex2 
)
protectedvirtual

Definition at line 975 of file corefine-3d.cc.

CDart * CCorefine3d::insertVertexInFace ( CDart *  AFace,
const CVertex &  APoint 
)
protectedvirtual

Definition at line 958 of file corefine-3d.cc.

bool CCorefine3d::isSameEdge_Naive ( CDart *  AEdge1,
CDart *  AEdge2 
)
protected

Definition at line 1239 of file corefine-3d.cc.

bool CCorefine3d::isSameEdge_Optimized ( CDart *  AEdge1,
CDart *  AEdge2 
)
protected

Definition at line 1259 of file corefine-3d.cc.

bool CCorefine3d::manageFacesIntersection ( CDart *  AFace1,
const CPlane &  APlane1,
CDart *  AFace2,
const CPlane &  APlane2,
int  AMark,
std::list< CDart * > *  AList 
)
protected

Definition at line 1673 of file corefine-3d.cc.

CVertex CCorefine3d::normalizeGridSize ( const CVertex &  AGridSize)
protected

Definition at line 721 of file corefine-3d.cc.

unsigned int CCorefine3d::refineGrid ( unsigned int  AMaxSubDiv,
unsigned int  AMaxNumberOfFaces 
)
protected

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

CDart * CCorefine3d::removeEdge ( CDart *  AEdge,
int  ADeleteMark = -1 
)
protectedvirtual

Definition at line 1193 of file corefine-3d.cc.

void CCorefine3d::removeFaceFromGrid ( TFaceGrid AGrid,
CDart *  AFace 
)
protected

Definition at line 850 of file corefine-3d.cc.

void CCorefine3d::setGridResolution ( int  ARes)

Definition at line 145 of file corefine-3d.cc.

CDart * CCorefine3d::splitEdge ( CDart *  AVertex,
const CVertex &  APoint 
)
protectedvirtual

Definition at line 1151 of file corefine-3d.cc.

CDart * CCorefine3d::splitFace ( CDart *  AVertex1,
CDart *  AVertex2 
)
protectedvirtual

Definition at line 1055 of file corefine-3d.cc.

void CCorefine3d::updateFaceLinks ( CDart *  AFace)
protected

Definition at line 905 of file corefine-3d.cc.

void CCorefine3d::updateVertexLinks ( CDart *  ADart,
CAttributeVertex *  AVertex 
)
protected

Definition at line 877 of file corefine-3d.cc.

void CCorefine3d::updateVertexLinks ( CDart *  ADart)
protected

Definition at line 890 of file corefine-3d.cc.


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