27 using namespace GMap3d;
29 #define SUCC(DART) ((((CGMapGeneric*) this)->*succ)(DART))
34 assert(1 <= AMeshDimension && AMeshDimension <= 3);
38 switch (AMeshDimension)
46 ADiveBorders==
GMV_NO ?
SUCC(AFirstDart) : AFirstDart;
48 int iMin = ADiveBorders==
GMV_NO ? 1 : 0;
51 for (
int i=iMin; i<=iMax; ++i, currentX =
SUCC(currentX))
65 assert(2 <= AMeshDimension && AMeshDimension <= 3);
69 switch (AMeshDimension)
78 int iMin = ADiveBorders==
GMV_NO ? 1 : 0;
81 int jMin = ADiveBorders==
GMV_NO ? 1 : 0;
84 for (
int j=jMin; j<=jMax;
85 ++j, currentY = j==jMax ?
alpha0(currentY) :
SUCC(currentY))
89 bool borderY = j==0 || j==ADiver.
getSy();
93 for (
int i=iMin; i<=iMax; ++i, currentX =
SUCC(currentX))
97 bool borderX = i==0 || i==ADiver.
getSx();
99 if (ADiveBorders==
GMV_CHECK && (borderX || borderY))
117 int iMin = ADiveBorders==
GMV_NO ? 1 : 0;
120 int jMin = ADiveBorders==
GMV_NO ? 1 : 0;
123 int kMin = ADiveBorders==
GMV_NO ? 1 : 0;
126 for (
int k=kMin; k<=kMax;
131 bool borderZ = k==0 || k==ADiver.
getSz();
135 for (
int j=jMin; j<=jMax;
140 bool borderY = j==0 || j==ADiver.
getSy();
144 for (
int i=iMin; i<=iMax;
149 bool borderX = i==0 || i==ADiver.
getSx();
151 if (ADiveBorders==
GMV_CHECK && (borderX || borderY || borderZ))
163 assert(ASx == ADiver.
getSx());
164 assert(AMesh1Corners!=NULL);
172 CDart * mesh1Corners[2];
176 return mesh1Corners[0];
186 CDart * AMesh2Corners[2][2],
189 assert(ASx == ADiver.
getSx());
190 assert(ASy == ADiver.
getSy());
191 assert(AMesh2Corners!=NULL);
199 CDart * mesh2Corners[2][2];
203 return mesh2Corners[0][0];
213 CDart * AMesh3Corners[2][2][2],
216 assert(ASx == ADiver.
getSx());
217 assert(ASy == ADiver.
getSy());
218 assert(ASz == ADiver.
getSz());
219 assert(AMesh3Corners!=NULL);
222 diveMesh3(AMesh3Corners[0][0][0], ADiver);
227 CDart * mesh3Corners[2][2][2];
231 return mesh3Corners[0][0][0];