/***** implicit.h */ /* header file for implicit surface polygonizer, implicit.c */ #ifndef IMPLICIT_HDR #define IMPLICIT_HDR #include typedef struct { /* surface vertex */ R3Pt position; R3Vec normal; /* position and surface normal */ } VERTEX; typedef struct { /* list of vertices in polygonization */ int count, max; /* # vertices, max # allowed */ VERTEX *ptr; /* dynamically allocated */ } VERTICES; #ifdef __cplusplus extern "C" { #endif bool polygonize ( double (*function)(const R3Pt &in_pt), double size, int bounds, const R3Pt &in_ptStart, int (*triproc)(int i1, int i2, int i3, VERTICES vertices), void (*vertproc)(VERTICES vertices) ); /* see implicit.c for explanation of arguments */ #ifdef __cplusplus } #endif #endif