nuclear@0: #ifndef METASURF_H_ nuclear@0: #define METASURF_H_ nuclear@0: nuclear@0: struct metasurface; nuclear@0: nuclear@0: typedef float (*msurf_eval_func_t)(float, float, float); nuclear@0: typedef void (*msurf_vertex_func_t)(float, float, float); nuclear@0: typedef void (*msurf_normal_func_t)(float, float, float); nuclear@0: nuclear@0: #ifdef __cplusplus nuclear@0: extern "C" { nuclear@0: #endif nuclear@0: nuclear@0: struct metasurface *msurf_create(void); nuclear@0: void msurf_free(struct metasurface *ms); nuclear@0: nuclear@0: void msurf_eval_func(struct metasurface *ms, msurf_eval_func_t func); nuclear@0: void msurf_vertex_func(struct metasurface *ms, msurf_vertex_func_t func); nuclear@0: void msurf_normal_func(struct metasurface *ms, msurf_normal_func_t func); nuclear@0: nuclear@0: void msurf_bounds(struct metasurface *ms, float xmin, float ymin, float zmin, float xmax, float ymax, float zmax); nuclear@0: void msurf_resolution(struct metasurface *ms, int xres, int yres, int zres); nuclear@0: void msurf_threshold(struct metasurface *ms, float thres); nuclear@0: nuclear@0: void msurf_polygonize(struct metasurface *ms); nuclear@0: nuclear@0: #ifdef __cplusplus nuclear@0: } nuclear@0: #endif nuclear@0: nuclear@0: #endif /* METASURF_H_ */