29 if (0 <= entry && entry < 256)
44 for (
int i = 0; i < numV; ++i, vpair += 2)
46 topology.
vpair[i][0] = std::min(vpair[0], vpair[1]);
47 topology.
vpair[i][1] = std::max(vpair[0], vpair[1]);
51 for (
int i = 0; i < numT; ++i, itriple += 3)
53 topology.
itriple[i] = { itriple[0], itriple[1], itriple[2] };
73 int itriple[3 * numT] =
78 SetTable(numV, vpair, numT, itriple);
92 int itriple[3 * numT] =
97 SetTable(numV, vpair, numT, itriple);
103 int vpair[2 * numV] =
112 int itriple[3 * numT] =
118 SetTable(numV, vpair, numT, itriple);
124 int vpair[2 * numV] =
133 int itriple[3 * numT] =
139 SetTable(numV, vpair, numT, itriple);
145 int vpair[2 * numV] =
156 int itriple[3 * numT] =
162 SetTable(numV, vpair, numT, itriple);
168 int vpair[2 * numV] =
181 int itriple[3 * numT] =
189 SetTable(numV, vpair, numT, itriple);
195 int vpair[2 * numV] =
206 int itriple[3 * numT] =
212 SetTable(numV, vpair, numT, itriple);
218 int vpair[2 * numV] =
229 int itriple[3 * numT] =
235 SetTable(numV, vpair, numT, itriple);
241 int vpair[2 * numV] =
251 int itriple[3 * numT] =
258 SetTable(numV, vpair, numT, itriple);
264 int vpair[2 * numV] =
274 int itriple[3 * numT] =
281 SetTable(numV, vpair, numT, itriple);
287 int vpair[2 * numV] =
299 int itriple[3 * numT] =
306 SetTable(numV, vpair, numT, itriple);
312 int vpair[2 * numV] =
326 int itriple[3 * numT] =
335 SetTable(numV, vpair, numT, itriple);
341 int vpair[2 * numV] =
355 int itriple[3 * numT] =
362 SetTable(numV, vpair, numT, itriple);
368 int vpair[2 * numV] =
384 int itriple[3 * numT] =
393 SetTable(numV, vpair, numT, itriple);
399 int vpair[2 * numV] =
408 int itriple[3 * numT] =
414 SetTable(numV, vpair, numT, itriple);
420 int vpair[2 * numV] =
431 int itriple[3 * numT] =
439 SetTable(numV, vpair, numT, itriple);
445 int vpair[2 * numV] =
456 int itriple[3 * numT] =
464 SetTable(numV, vpair, numT, itriple);
470 int vpair[2 * numV] =
481 int itriple[3 * numT] =
489 SetTable(numV, vpair, numT, itriple);
495 int vpair[2 * numV] =
508 int itriple[3 * numT] =
516 SetTable(numV, vpair, numT, itriple);
522 int vpair[2 * numV] =
535 int itriple[3 * numT] =
543 SetTable(numV, vpair, numT, itriple);
549 int vpair[2 * numV] =
566 int itriple[3 * numT] =
574 SetTable(numV, vpair, numT, itriple);
583 std::fill(
vpair.begin(),
vpair.end(), std::array<int, 2>{ 0, 0 });
584 std::fill(
itriple.begin(),
itriple.end(), std::array<int, 3>{ 0, 0, 0 });
587 #define MC_ENTRY(name) CT_##name, &MarchingCubes::name 864 "Bits3FaceDiagFaceDiag",
865 "Bits5FaceDiagFaceDiag",
868 "Bits4FaceFaceDiagL",
869 "Bits4FaceFaceDiagR",
void Bits2Edge(int index[8])
void Bits2BoxDiag(int index[8])
static Configuration msConfiguration[256]
void Bits4FaceFaceDiagR(int index[8])
void Bits4FaceEdge(int index[8])
void Bits5FaceDiagFaceDiag(int index[8])
void Bits4FaceBoxDiag(int index[8])
void Bits3EdgeFaceDiag(int index[8])
GLsizei const GLchar *const * string
void Bits6BoxDiag(int index[8])
void Bits4SameFace(int index[8])
void Bits6FaceDiag(int index[8])
static std::string msConfigurationString[CT_NUM_TYPES]
void Bits5EdgeFaceDiag(int index[8])
void Bits3FaceDiagFaceDiag(int index[8])
static std::string GetConfigurationType(int entry)
void Bits3SameFace(int index[8])
void Bits4EdgeEdgePerp(int index[8])
void Bits4EdgeEdgePara(int index[8])
std::array< std::array< int, 3 >, MAX_TRIANGLES > itriple
void Bits5SameFace(int index[8])
void SetTable(int numV, int const *vpair, int numT, int const *itriple)
void Bits6Edge(int index[8])
void Bits4FaceFaceDiagL(int index[8])
void Bits2FaceDiag(int index[8])
std::array< std::array< int, 2 >, MAX_VERTICES > vpair