16 #ifndef MARCHINGCUBES_H_
17 #define MARCHINGCUBES_H_
19 #include "ObjCryst/wxCryst/mpVector.h"
51 TRIANGLE* MC(
int ncellsX,
int ncellsY,
int ncellsZ,
float gradFactorX,
float gradFactorY,
float gradFactorZ,
52 float minValue,
mp4Vector * points,
int &numTriangles);
62 TRIANGLE* MarchingCubesRec(
int ncellsX,
int ncellsY,
int ncellsZ,
63 float gradFactorX,
float gradFactorY,
float gradFactorZ,
64 int numCubes,
int *ii,
int *jj,
int *kk,
65 float minValue,
mp4Vector * points,
int &numTriangles);
100 TRIANGLE* MCFace0(
int ncellsX,
int ncellsY,
int ncellsZ,
101 float gradFactorX,
float gradFactorY,
float gradFactorZ,
102 int ind,
int i,
int j,
int k,
105 mp4Vector prevGradVerts[4],
mpVector prevGrads[4],
int gradIndex,
bool* marchedCubes);
107 TRIANGLE* MCFace1(
int ncellsX,
int ncellsY,
int ncellsZ,
108 float gradFactorX,
float gradFactorY,
float gradFactorZ,
109 int ind,
int i,
int j,
int k,
112 mp4Vector prevGradVerts[4],
mpVector prevGrads[4],
int gradIndex,
bool* marchedCubes);
114 TRIANGLE* MCFace2(
int ncellsX,
int ncellsY,
int ncellsZ,
115 float gradFactorX,
float gradFactorY,
float gradFactorZ,
116 int ind,
int i,
int j,
int k,
119 mp4Vector prevGradVerts[4],
mpVector prevGrads[4],
int gradIndex,
bool* marchedCubes);
121 TRIANGLE* MCFace3(
int ncellsX,
int ncellsY,
int ncellsZ,
122 float gradFactorX,
float gradFactorY,
float gradFactorZ,
123 int ind,
int i,
int j,
int k,
126 mp4Vector prevGradVerts[4],
mpVector prevGrads[4],
int gradIndex,
bool* marchedCubes);
128 TRIANGLE* MCFace4(
int ncellsX,
int ncellsY,
int ncellsZ,
129 float gradFactorX,
float gradFactorY,
float gradFactorZ,
130 int ind,
int i,
int j,
int k,
133 mp4Vector prevGradVerts[4],
mpVector prevGrads[4],
int gradIndex,
bool* marchedCubes);
135 TRIANGLE* MCFace5(
int ncellsX,
int ncellsY,
int ncellsZ,
136 float gradFactorX,
float gradFactorY,
float gradFactorZ,
137 int ind,
int i,
int j,
int k,
140 mp4Vector prevGradVerts[4],
mpVector prevGrads[4],
int gradIndex,
bool* marchedCubes);
152 TRIANGLE* MarchOneCube(
int ncellsX,
int ncellsY,
int ncellsZ,
153 float gradFactorX,
float gradFactorY,
float gradFactorZ,
154 int ind,
int i,
int j,
int k,
163 float* MCFind(
int ncellsX,
int ncellsY,
int ncellsZ,
float minValue,
mp4Vector * points);
167 TRIANGLE* MCRecFind(
int ncellsX,
int ncellsY,
int ncellsZ,
168 float gradFactorX,
float gradFactorY,
float gradFactorZ,
169 float minValue,
mp4Vector * points,
int &numTriangles);