#include <volume_io/internal_volume_io.h>#include <bicpl/marching.h>Include dependency graph for marching_no_holes.c:

Go to the source code of this file.
| Data Structures | |
| struct | polygons_list | 
| struct | face_struct | 
| struct | case_struct | 
| struct | edges_struct | 
| Defines | |
| #define | MAX_POLYGONS_PER_VOXEL 4 | 
| #define | MAX_INDICES_PER_VOXEL 12 | 
| Enumerations | |
| enum | Case_types { PLUS_FLAG, MINUS_FLAG, MAX_CASES } | 
| Functions | |
| private void | create_marching_cubes_lookup (void) | 
| private void | create_case (Case_types case_flags[2][2][2], case_struct *case_info) | 
| private void | get_face_axes (int c, int face, int *a1, int *a2) | 
| private void | create_face_indices (int c, int face, face_struct *face_indices) | 
| private void | get_face_flags (Case_types case_flags[2][2][2], int c, int face, Case_types face_flags[4]) | 
| private BOOLEAN | ambiguous_face_case (Case_types face_flags[4]) | 
| private BOOLEAN | face_is_ambiguous (Case_types case_flags[2][2][2], int c, int face) | 
| private BOOLEAN | surface_edge (Case_types face_flags[4], int edge) | 
| private void | get_edge_point (voxel_point_type *edge_point, int c, int face, int edge) | 
| private void | find_neighbour_face (int c, int face, int edge, int *new_c, int *new_face, int *new_edge) | 
| private void | delete_case (case_struct *case_info) | 
| private void | create_case_polygons (Case_types case_flags[2][2][2], BOOLEAN face_ambiguity_flags[3][2], polygons_list *polygons) | 
| private void | check_initialized (void) | 
| private void | follow_edge (polygons_list *polygons, int *ind, edges_struct edges[3][2], int c, int face, int edge_index) | 
| private void | find_voxel_edge_index (int c, int face, int edge, edges_struct edges[3][2], int *edge_index) | 
| private void | create_edges (Case_types case_flags[2][2][2], BOOLEAN face_ambiguity_flags[3][2], edges_struct edges[3][2]) | 
| private void | create_edge_for_face (Case_types face_flags[4], BOOLEAN face_ambiguity_flag, edges_struct *edges) | 
| public int | get_holeless_isosurface_polygons (Real corners[2][2][2], Real isovalue, int *sizes[], voxel_point_type *points[]) | 
| public void | delete_marching_cubes_table (void) | 
| Variables | |
| private case_struct | cases [2][2][2][2][2][2][2][2] | 
| private BOOLEAN | initialized = FALSE | 
| 
 | 
| 
 Definition at line 6 of file marching_no_holes.c. Referenced by create_case(), and create_case_polygons(). | 
| 
 | 
| 
 Definition at line 5 of file marching_no_holes.c. Referenced by create_case(), and create_case_polygons(). | 
| 
 | 
| 
 Definition at line 28 of file marching_no_holes.c. Referenced by create_case(), create_edges(), create_marching_cubes_lookup(), delete_marching_cubes_table(), delete_tetra_marching_cubes_table(), face_is_ambiguous(), get_tetra_case(), get_tetra_isosurface_polygons(), and surface_edge(). | 
| 
 | 
| 
 Definition at line 322 of file marching_no_holes.c. References MINUS_FLAG, and PLUS_FLAG. Referenced by create_edge_for_face(), and face_is_ambiguous(). | 
| 
 | 
| 
 Definition at line 81 of file marching_no_holes.c. References create_marching_cubes_lookup(), initialized, and TRUE. Referenced by convert_mm_to_talairach(), convert_talairach_to_mm(), convert_talairach_to_voxel(), convert_voxel_to_talairach(), get_holeless_isosurface_polygons(), get_random(), and get_tetra_isosurface_polygons(). | 
| 
 | ||||||||||||
| 
 Definition at line 188 of file marching_no_holes.c. References case_struct::ambiguity_faces, create_case_polygons(), create_face_indices(), face_is_ambiguous(), FALSE, case_struct::n_ambiguities, case_struct::polygons, and TRUE. | 
| 
 | ||||||||||||||||
| 
 Definition at line 383 of file marching_no_holes.c. References create_edges(), edges_struct::edge_used, follow_edge(), MAX_INDICES_PER_VOXEL, MAX_POLYGONS_PER_VOXEL, polygons_list::n_polygons, and polygons_list::sizes. Referenced by create_case(). | 
| 
 | ||||||||||||||||
| 
 Definition at line 451 of file marching_no_holes.c. References ambiguous_face_case(), edges_struct::edge_points, edges_struct::edge_used, FALSE, edges_struct::n_edges, PLUS_FLAG, and surface_edge(). Referenced by create_edges(). | 
| 
 | ||||||||||||||||
| 
 Definition at line 431 of file marching_no_holes.c. References Case_types, create_edge_for_face(), and get_face_flags(). Referenced by create_case_polygons(). | 
| 
 | ||||||||||||||||
| 
 Definition at line 277 of file marching_no_holes.c. References get_face_axes(), and face_struct::offsets. Referenced by create_case(), find_neighbour_face(), get_edge_point(), and get_face_flags(). | 
| 
 | 
| 
 Definition at line 126 of file marching_no_holes.c. References Case_types, cases, create_case(), and MAX_CASES. Referenced by check_initialized(). | 
| 
 | 
| 
 Definition at line 829 of file marching_no_holes.c. References case_struct::ambiguity_faces, case_struct::n_ambiguities, and case_struct::polygons. | 
| 
 | 
| 
 Definition at line 802 of file marching_no_holes.c. References Case_types, cases, delete_case(), initialized, and MAX_CASES. | 
| 
 | ||||||||||||||||
| 
 Definition at line 335 of file marching_no_holes.c. References ambiguous_face_case(), Case_types, and get_face_flags(). Referenced by create_case(). | 
| 
 | ||||||||||||||||||||||||||||
| 
 Definition at line 613 of file marching_no_holes.c. References create_face_indices(), FALSE, initialized, face_struct::offsets, and TRUE. Referenced by follow_edge(). | 
| 
 | ||||||||||||||||||||||||
| 
 Definition at line 687 of file marching_no_holes.c. References edges_struct::edge_points, FALSE, and TRUE. Referenced by follow_edge(). | 
| 
 | ||||||||||||||||||||||||||||
| 
 Definition at line 548 of file marching_no_holes.c. References edges_struct::edge_points, edges_struct::edge_used, find_neighbour_face(), find_voxel_edge_index(), get_edge_point(), polygons_list::indices, and TRUE. Referenced by create_case_polygons(). | 
| 
 | ||||||||||||||||||||
| 
 Definition at line 574 of file marching_no_holes.c. References voxel_point_type::coord, create_face_indices(), voxel_point_type::edge_intersected, and get_face_axes(). Referenced by follow_edge(). | 
| 
 | ||||||||||||||||||||
| 
 Definition at line 259 of file marching_no_holes.c. Referenced by create_face_indices(), and get_edge_point(). | 
| 
 | ||||||||||||||||||||
| 
 Definition at line 303 of file marching_no_holes.c. References create_face_indices(), and face_struct::offsets. Referenced by create_edges(), and face_is_ambiguous(). | 
| 
 | ||||||||||||||||||||
| 
 Definition at line 713 of file marching_no_holes.c. References case_struct::ambiguity_faces, cases, check_initialized(), polygons_list::indices, case_struct::n_ambiguities, polygons_list::n_polygons, face_struct::offsets, case_struct::polygons, and polygons_list::sizes. Referenced by get_polygons(). | 
| 
 | ||||||||||||
| 
 Definition at line 535 of file marching_no_holes.c. References Case_types, MINUS_FLAG, and PLUS_FLAG. Referenced by create_edge_for_face(). | 
| 
 | 
| 
 Definition at line 31 of file marching_no_holes.c. Referenced by create_marching_cubes_lookup(), delete_marching_cubes_table(), delete_tetra_marching_cubes_table(), get_holeless_isosurface_polygons(), and get_tetra_isosurface_polygons(). | 
| 
 | 
| 
 Definition at line 33 of file marching_no_holes.c. Referenced by check_initialized(), delete_marching_cubes_table(), delete_tetra_marching_cubes_table(), find_neighbour_face(), get_8bit_rgb_pixel_lookup(), get_polygon_vertex_curvatures(), and set_random_seed(). | 
 1.3.7
 1.3.7