#include <volume_io/internal_volume_io.h>
#include <bicpl/data_structures.h>
Include dependency graph for bintree.c:
Go to the source code of this file.
Functions | |
private Status | io_range (FILE *file, IO_types direction, File_formats format, range_struct *range) |
private Status | output_bintree_node (FILE *file, File_formats format, bintree_node_struct *node) |
private Status | input_bintree_node (FILE *file, File_formats format, bintree_node_struct **node) |
public void | initialize_bintree (Real x_min, Real x_max, Real y_min, Real y_max, Real z_min, Real z_max, bintree_struct_ptr bintree) |
public void | delete_bintree_node (bintree_node_struct *node) |
private void | recursive_delete_bintree (bintree_node_struct *node) |
public void | delete_bintree (bintree_struct_ptr bintree) |
public void | get_bintree_limits (bintree_struct_ptr bintree, range_struct *limits) |
private void | set_bintree_child (bintree_node_struct *node, int which, bintree_node_struct *child) |
public bintree_node_struct * | create_bintree_internal_node (int split_coord, Real split_position, bintree_node_struct *left, bintree_node_struct *right) |
public bintree_node_struct * | create_bintree_leaf (Real split_position, int n_objects, int object_list[]) |
public BOOLEAN | bintree_node_is_leaf (bintree_node_struct *node) |
public int | get_bintree_leaf_objects (bintree_node_struct *node, int *object_list[]) |
public BOOLEAN | get_bintree_left_child_ptr (bintree_node_struct *node, bintree_node_struct ***ptr_to_left_child) |
public BOOLEAN | get_bintree_left_child (bintree_node_struct *node, bintree_node_struct **left_child) |
public BOOLEAN | get_bintree_right_child_ptr (bintree_node_struct *node, bintree_node_struct ***ptr_to_right_child) |
public BOOLEAN | get_bintree_right_child (bintree_node_struct *node, bintree_node_struct **right_child) |
public int | get_node_split_axis (bintree_node_struct *node) |
public Real | get_node_split_position (bintree_node_struct *node) |
public BOOLEAN | point_within_range (Point *point, range_struct *range) |
public Real | range_volume (range_struct *range) |
public Real | range_surface_area (range_struct *range) |
public Status | io_bintree (FILE *file, IO_types direction, File_formats format, bintree_struct_ptr bintree) |
private Status | output_leaf_node (FILE *file, File_formats format, bintree_node_struct *node) |
|
Definition at line 324 of file bintree.c. References LEAF_SIGNAL, bintree_node_struct::node_info, and SUBDIVISION_AXIS_BITS. Referenced by get_bintree_left_child_ptr(), get_bintree_right_child_ptr(), output_bintree_node(), recursive_efficiency_count(), recursive_find_closest_point(), recursive_find_closest_vertex(), and recursive_intersect_ray(). |
|
Definition at line 210 of file bintree.c. References LEFT_CHILD, LEFT_CHILD_EXISTS, bintree_node_struct::node_info, RIGHT_CHILD, RIGHT_CHILD_EXISTS, set_bintree_child(), and bintree_node_struct::split_position. Referenced by input_bintree_node(), and split_node(). |
|
Definition at line 271 of file bintree.c. References bintree_node_struct::data, LEAF_SIGNAL, MAX_NODE_INFO_OBJECTS, bintree_node_struct::node_info, NODE_INFO_OBJECTS_SHIFT, and bintree_node_struct::split_position. Referenced by input_bintree_node(), split_node(), and subdivide_bintree(). |
|
Definition at line 135 of file bintree.c. References recursive_delete_bintree(), and bintree_struct::root. Referenced by delete_the_bintree(). |
|
Definition at line 90 of file bintree.c. Referenced by recursive_delete_bintree(), and split_node(). |
|
Definition at line 344 of file bintree.c. References bintree_node_struct::data, bintree_node_struct::node_info, and NODE_INFO_OBJECTS_SHIFT. Referenced by output_leaf_node(), recursive_efficiency_count(), recursive_find_closest_point(), recursive_find_closest_vertex(), recursive_intersect_ray(), and split_node(). |
|
Definition at line 409 of file bintree.c. References get_bintree_left_child_ptr(). Referenced by output_bintree_node(), recursive_delete_bintree(), recursive_efficiency_count(), recursive_find_closest_point(), recursive_find_closest_vertex(), and recursive_intersect_ray(). |
|
Definition at line 380 of file bintree.c. References bintree_node_is_leaf(), bintree_node_struct::data, LEFT_CHILD_EXISTS, and bintree_node_struct::node_info. Referenced by get_bintree_left_child(), and subdivide_bintree(). |
|
Definition at line 155 of file bintree.c. References bintree_struct::range. Referenced by subdivide_bintree(). |
|
Definition at line 475 of file bintree.c. References get_bintree_right_child_ptr(). Referenced by output_bintree_node(), recursive_delete_bintree(), recursive_efficiency_count(), recursive_find_closest_point(), recursive_find_closest_vertex(), and recursive_intersect_ray(). |
|
Definition at line 438 of file bintree.c. References bintree_node_is_leaf(), bintree_node_struct::data, LEFT_CHILD_EXISTS, bintree_node_struct::node_info, and RIGHT_CHILD_EXISTS. Referenced by get_bintree_right_child(), and subdivide_bintree(). |
|
Definition at line 504 of file bintree.c. References bintree_node_struct::node_info, and SUBDIVISION_AXIS_BITS. Referenced by recursive_efficiency_count(), recursive_find_closest_point(), recursive_find_closest_vertex(), and recursive_intersect_ray(). |
|
Definition at line 523 of file bintree.c. References bintree_node_struct::split_position. Referenced by recursive_efficiency_count(), recursive_find_closest_point(), recursive_find_closest_vertex(), recursive_intersect_ray(), and split_node(). |
|
Definition at line 57 of file bintree.c. References bintree_struct_ptr, range_struct::limits, bintree_struct::n_nodes, bintree_struct::range, and bintree_struct::root. Referenced by PRIORITY_QUEUE_STRUCT(). |
|
Definition at line 779 of file bintree.c. References create_bintree_internal_node(), create_bintree_leaf(), LEAF_SIGNAL, NODE_INFO_OBJECTS_SHIFT, node_info_type, and SUBDIVISION_AXIS_BITS. Referenced by io_bintree(). |
|
Definition at line 622 of file bintree.c. References input_bintree_node(), io_range(), output_bintree_node(), bintree_struct::range, and bintree_struct::root. |
|
Definition at line 656 of file bintree.c. References range_struct::limits. Referenced by io_bintree(). |
|
Definition at line 733 of file bintree.c. References bintree_node_is_leaf(), get_bintree_left_child(), get_bintree_right_child(), bintree_node_struct::node_info, output_leaf_node(), and bintree_node_struct::split_position. Referenced by io_bintree(). |
|
Definition at line 697 of file bintree.c. References get_bintree_leaf_objects(), and MAX_NODE_INFO_OBJECTS. Referenced by output_bintree_node(). |
|
Definition at line 543 of file bintree.c. References range_struct::limits. |
|
Definition at line 593 of file bintree.c. References range_struct::limits. Referenced by node_visit_estimation(). |
|
Definition at line 572 of file bintree.c. References range_struct::limits. Referenced by node_visit_estimation(). |
|
Definition at line 109 of file bintree.c. References delete_bintree_node(), get_bintree_left_child(), and get_bintree_right_child(). Referenced by delete_bintree(). |
|
Definition at line 177 of file bintree.c. References bintree_node_struct::data, LEFT_CHILD, LEFT_CHILD_EXISTS, and bintree_node_struct::node_info. Referenced by create_bintree_internal_node(). |