RMenum rmvK3MarchingCubes (RMvertex3D (*appgridfunc)(int i, int j, int k, int isize, int jsize, int ksize, float *baseX, float *baseY, float *baseZ),
float (*appdatafunc)(int i, int j, int k, float *data),
float (*appdata2func)(int i, int j, int k, float *data),
const RMvisMap *vmap,
int iusize,
int ivsize,
int iwsize,
float isolevel,
RMnode *n,
float *baseX,
float *baseY,
float *baseZ,
float *baseData)
RMvertex3D (*appgridfunc)(int i, int j, int k) - a handle to a
caller-supplied function that returns an RMvertex3D (x, y, z)
corresponding to the grid point (i, j, k) (input). float (*appdatafunc)(int i, int j, int k) - a handle to a
caller-supplied function that returns a float which is the scalar
value at the grid point (i, j, k) (input). float (*appdata2func)(int i, int j, int k) - a handle to a
caller-supplied function that returns a float which is the scalar
value at the grid point (i). This value is used in conjunction
with the RMvismap to compute vertex color (input). const RMvisMap *vmap - a handle to an RMvisMap object (input). int iusize, ivsize, iwsize - int specifying the (u, v, w) dimensions
of the data grid (input). float isolevel - a float specifying the isosurface scalar value
(input). RMnode *n - a handle to an RMnode (modified). float *baseX, *baseY, *baseZ, *baseData (input) - these are caller-supplied
pointers to arrays corresponding to the x, y, and z coordinates, and
the scalar field being isocontoured. These arrays are not modified
by rmv3KMarchingCubes, but instead are passed to the application-
supplied callback routines. The objective of these pointers is to
help alleviate the burden of requiring the application to maintain
static pointers to data and coordinates.
librmv library source file: rmviso.c