Main Page | Modules | Data Structures | File List | Data Fields | Globals | Related Pages

marching_cubes.h

Go to the documentation of this file.
00001 #ifndef DEF_MARCHING_CUBES 00002 #define DEF_MARCHING_CUBES 00003 00004 #include <bicpl.h> 00005 00006 typedef enum { ON_FIRST_CORNER, ON_EDGE, ON_SECOND_CORNER } Point_classes; 00007 00008 typedef enum { MARCHING_CUBES, MARCHING_NO_HOLES, MARCHING_TETRA } 00009 Marching_cubes_methods; 00010 00011 #define MAX_TRIANGLES_PER_VOXEL 4 00012 #define MAX_POINTS_PER_VOXEL 3 * MAX_TRIANGLES_PER_VOXEL 00013 00014 #define MAX_POINTS_PER_VOXEL_POLYGON 12 00015 00016 #define N_MARCHING_TETRA_EDGES 11 00017 00018 typedef enum { 00019 USE_VOXEL_VALUES, 00020 TRILINEAR_INTERPOLATION, 00021 TRICUBIC_INTERPOLATION 00022 } evaluation_methods; 00023 00024 typedef struct 00025 { 00026 int coord[3]; 00027 int edge_intersected; 00028 00029 } voxel_point_type; 00030 00031 typedef struct 00032 { 00033 BOOLEAN surface_point_exists; 00034 int point_index; 00035 00036 } axis_struct; 00037 00038 typedef struct 00039 { 00040 Real value; 00041 Vector gradient; 00042 axis_struct edge_info[N_DIMENSIONS]; 00043 00044 } voxel_struct; 00045 00046 #ifndef public 00047 #define public extern 00048 #define public_was_defined_here 00049 #endif 00050 00051 #include <bicpl/march_prototypes.h> 00052 00053 #ifdef public_was_defined_here 00054 #undef public 00055 #undef public_was_defined_here 00056 #endif 00057 00058 #endif

Generated on Wed Jul 28 09:10:57 2004 for BICPL by doxygen 1.3.7