24 #ifndef COREFINE_3D_HH
25 #define COREFINE_3D_HH
27 #include "inline-macro.hh"
29 #include "attribute-bounding-box.hh"
33 #include "grid-tree-3d.hh"
45 CCorefine3d(CGMapVertex * AMap,
bool ACalculateOrientation =
true,
46 TCoordinate AEpsilon = 1E-4,
int AVertexDI = -1);
52 virtual int corefine(CDart *& AMesh1, CDart *& AMesh2,
53 std::bitset<NB_MARKS> ACopyMarks = 0);
63 virtual unsigned long initMesh(CDart * AMesh);
66 void createGrid(CDart * AMesh,
unsigned long ANbFaces);
76 unsigned int * AResZ);
78 unsigned long ANbFaces,
79 TCoordinate ANbFacesPerCell,
83 unsigned int AMinRes = 1,
84 unsigned int AMaxRes = 512);
85 unsigned int refineGrid(
unsigned int AMaxSubDiv,
86 unsigned int AMaxNumberOfFaces);
101 virtual CDart *
insertEdgeInFace(CDart * AVertex1,
const CVertex & AVertex2);
102 virtual CDart *
splitFace(CDart * AVertex1, CDart * AVertex2);
103 virtual CDart *
splitEdge(CDart * AVertex,
const CVertex & APoint);
104 virtual CDart *
removeEdge(CDart * AEdge,
int ADeleteMark = -1);
112 const CVertex & AVertex2);
119 CDart * AFace2,
const CPlane & APlane2,
120 int AMark, std::list<CDart*> * AList);
123 const CPlane & APlane1,
124 const CPlane & APlane2,
127 int AMark, std::list<CDart*> * AList);
142 int FIntersectionMark;
144 int FNumberOfIntersectionLines;
145 int FNumberOfIntersectionEdges;
147 bool FLocalVertexDirectInfo;
148 bool FCalculateOrientation;
149 bool FComputeOnlyFirstIntersection;
152 CTime FInitialisationTime;
153 CTime FGridCreationTime;
155 CTime FLineCreationTime;
165 #include INCLUDE_INLINE("corefine-3d.icc")