00001
00002 #ifndef _math_isosurf_implicit_h
00003 #define _math_isosurf_implicit_h
00004
00005 typedef struct point {
00006 double x, y, z;
00007 } POINT;
00008
00009 typedef struct vertex {
00010 POINT position, normal;
00011 } VERTEX;
00012
00013 typedef struct vertices {
00014 int count, max;
00015 VERTEX *ptr;
00016 } VERTICES;
00017
00018 #define TET 0
00019 #define NOTET 1
00020
00021 extern "C" {
00022 char * polygonize(double(*function)(double,double,double),
00023 double size, int bounds,
00024 double x, double y, double z,
00025 int(*triproc)(int,int,int,VERTICES), int mode);
00026 };
00027
00028 #endif