#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(). |