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

objects.c File Reference

#include <volume_io/internal_volume_io.h>
#include <bicpl/objects.h>
#include <bicpl/geom.h>

Include dependency graph for objects.c:

Include dependency graph

Go to the source code of this file.

Data Structures

struct  object_functions_list

Functions

private void advance_object_traverse (object_traverse_struct *object_traverse)
public object_structcreate_object (Object_types object_type)
public Object_types get_object_type (object_struct *object)
public BOOLEAN get_object_visibility (object_struct *object)
public void set_object_visibility (object_struct *object, BOOLEAN visibility)
public lines_structget_lines_ptr (object_struct *object)
public marker_structget_marker_ptr (object_struct *object)
public model_structget_model_ptr (object_struct *object)
public pixels_structget_pixels_ptr (object_struct *object)
public polygons_structget_polygons_ptr (object_struct *object)
public quadmesh_structget_quadmesh_ptr (object_struct *object)
public text_structget_text_ptr (object_struct *object)
private int get_lines_points (object_struct *object, Point *points[])
private int get_marker_points (object_struct *object, Point *points[])
private int get_object_zero_points (object_struct *object, Point *points[])
private int get_polygons_points (object_struct *object, Point *points[])
private int get_quadmesh_points (object_struct *object, Point *points[])
private int get_text_points (object_struct *object, Point *points[])
private int get_object_zero_normals (object_struct *object, Vector *normals[])
private int get_polygons_normals (object_struct *object, Vector *normals[])
private int get_quadmesh_normals (object_struct *object, Vector *normals[])
private Colour_flagsget_lines_colours (object_struct *object, Colour *colours[])
private Colour_flagsget_marker_colours (object_struct *object, Colour *colours[])
private Colour_flagsget_object_zero_colours (object_struct *object, Colour *colours[])
private Colour_flagsget_polygons_colours (object_struct *object, Colour *colours[])
private Colour_flagsget_quadmesh_colours (object_struct *object, Colour *colours[])
private Colour_flagsget_text_colours (object_struct *object, Colour *colours[])
private void set_lines_colours (object_struct *object, Colour colours[])
private void set_object_no_colours (object_struct *object, Colour colours[])
private void set_polygons_colours (object_struct *object, Colour colours[])
private void set_quadmesh_colours (object_struct *object, Colour colours[])
private Surfprop * get_object_no_surfprop (object_struct *object)
private Surfprop * get_polygons_surfprop (object_struct *object)
private Surfprop * get_quadmesh_surfprop (object_struct *object)
private STRING get_lines_name (object_struct *object)
private STRING get_marker_name (object_struct *object)
private STRING get_model_name (object_struct *object)
private STRING get_pixels_name (object_struct *object)
private STRING get_polygons_name (object_struct *object)
private STRING get_quadmesh_name (object_struct *object)
private STRING get_text_name (object_struct *object)
private void delete_lines_object (object_struct *object)
private void delete_marker_object (object_struct *object)
private void delete_model_object (object_struct *object)
private void delete_pixels_object (object_struct *object)
private void delete_polygons_object (object_struct *object)
private void delete_quadmesh_object (object_struct *object)
private void delete_text_object (object_struct *object)
public void delete_object (object_struct *object)
public int get_object_points (object_struct *object, Point *points[])
public int get_object_normals (object_struct *object, Vector *normals[])
public Colour_flagsget_object_colours (object_struct *object, Colour *colours[])
public void set_object_colours (object_struct *object, Colour colours[])
public Surfprop * get_object_surfprop (object_struct *object)
public STRING get_object_name (object_struct *object)
private void pop_object_stack (object_traverse_struct *object_traverse)
private void push_object_stack (object_traverse_struct *object_traverse, object_stack_struct *entry)
public void initialize_object_traverse (object_traverse_struct *object_traverse, BOOLEAN visible_ones_only, int n_objects, object_struct *object_list[])
public BOOLEAN get_next_object_traverse (object_traverse_struct *object_traverse, object_struct **object)
public void terminate_object_traverse (object_traverse_struct *object_traverse)
public BOOLEAN get_range_of_object (object_struct *object, BOOLEAN visible_ones_only, Point *min_corner, Point *max_corner)
public void reverse_object_normals (object_struct *object)
public BOOLEAN get_object_colour (object_struct *object, Colour *colour)
public void set_object_colour (object_struct *object, Colour col)
public void set_object_surfprop (object_struct *object, Surfprop *spr)
public void free_colours (Colour_flags colour_flag, Colour colours[], int n_points, int n_items)
public BOOLEAN objects_are_same_topology (int n_points1, int n_items1, int *end_indices1, int *indices1, int n_points2, int n_items2, int *end_indices2, int *indices2)
public int get_n_colours (Colour_flags colour_flag, int n_points, int n_items)


Function Documentation

private void advance_object_traverse object_traverse_struct object_traverse  ) 
 

Definition at line 1444 of file objects.c.

References get_model_ptr(), get_object_visibility(), object_stack_struct::index, MODEL, model_struct::n_objects, object_stack_struct::n_objects, object_stack_struct::object_list, object_struct::object_type, model_struct::objects, pop_object_stack(), push_object_stack(), object_traverse_struct::stack, object_traverse_struct::top_of_stack, and object_traverse_struct::visible_ones_only.

Referenced by get_next_object_traverse().

public object_struct* create_object Object_types  object_type  ) 
 

Definition at line 39 of file objects.c.

References object_struct::object_type, TRUE, and object_struct::visibility.

Referenced by check_correct_parametric_lines(), check_correct_parametric_polygons(), check_correct_subsampled_polygons(), create_lsq_hypersurface_float(), input_landmark_file(), input_object(), input_tag_objects_file(), and polygon_transform_points().

private void delete_lines_object object_struct object  ) 
 

Definition at line 972 of file objects.c.

References delete_lines(), and get_lines_ptr().

private void delete_marker_object object_struct object  ) 
 

Definition at line 993 of file objects.c.

References delete_marker(), and get_marker_ptr().

private void delete_model_object object_struct object  ) 
 

Definition at line 1012 of file objects.c.

References delete_model(), and get_model_ptr().

public void delete_object object_struct object  ) 
 

Definition at line 1192 of file objects.c.

References object_functions_list::delete_function, and object_struct::object_type.

Referenced by create_lsq_hypersurface_float(), delete_deform_model(), delete_model(), and delete_object_list().

private void delete_pixels_object object_struct object  ) 
 

Definition at line 1031 of file objects.c.

References delete_pixels(), and get_pixels_ptr().

private void delete_polygons_object object_struct object  ) 
 

Definition at line 1050 of file objects.c.

References delete_polygons(), and get_polygons_ptr().

private void delete_quadmesh_object object_struct object  ) 
 

Definition at line 1071 of file objects.c.

References delete_quadmesh(), and get_quadmesh_ptr().

private void delete_text_object object_struct object  ) 
 

Definition at line 1092 of file objects.c.

References delete_text(), and get_text_ptr().

public void free_colours Colour_flags  colour_flag,
Colour  colours[],
int  n_points,
int  n_items
 

Definition at line 1709 of file objects.c.

References FALSE, ONE_COLOUR, PER_ITEM_COLOURS, PER_VERTEX_COLOURS, and TRUE.

Referenced by delete_lines(), delete_polygons(), and delete_quadmesh().

private Colour_flags* get_lines_colours object_struct object,
Colour *  colours[]
 

Definition at line 508 of file objects.c.

References lines_struct::colour_flag, Colour_flags, lines_struct::colours, and get_lines_ptr().

private STRING get_lines_name object_struct object  ) 
 

Definition at line 792 of file objects.c.

References get_lines_ptr().

private int get_lines_points object_struct object,
Point *  points[]
 

Definition at line 300 of file objects.c.

References get_lines_ptr(), lines_struct::n_points, and lines_struct::points.

public lines_struct* get_lines_ptr object_struct object  ) 
 

Definition at line 124 of file objects.c.

References LINES, object_struct::object_type, and object_struct::specific.

Referenced by check_correct_general_lines(), check_correct_parametric_lines(), colour_code_object(), delete_lines_object(), find_closest_point_on_object(), get_lines_colours(), get_lines_name(), get_lines_points(), get_point_object_distance_sq(), input_object(), input_original_positions(), intersect_ray_object(), intersect_ray_with_object(), output_object(), scan_object_to_volume(), and set_lines_colours().

private Colour_flags* get_marker_colours object_struct object,
Colour *  colours[]
 

Definition at line 531 of file objects.c.

References marker_struct::colour, Colour_flags, and get_marker_ptr().

private STRING get_marker_name object_struct object  ) 
 

Definition at line 817 of file objects.c.

References get_marker_ptr(), and marker_struct::label.

private int get_marker_points object_struct object,
Point *  points[]
 

Definition at line 323 of file objects.c.

References get_marker_ptr(), and marker_struct::position.

public marker_struct* get_marker_ptr object_struct object  ) 
 

Definition at line 149 of file objects.c.

References MARKER, object_struct::object_type, and object_struct::specific.

Referenced by delete_marker_object(), get_marker_colours(), get_marker_name(), get_marker_points(), get_point_object_distance_sq(), input_landmark_file(), input_object(), input_tag_objects_file(), intersect_ray_object(), output_object(), and scan_object_to_volume().

private STRING get_model_name object_struct object  ) 
 

Definition at line 852 of file objects.c.

References get_model_ptr().

public model_struct* get_model_ptr object_struct object  ) 
 

Definition at line 174 of file objects.c.

References MODEL, object_struct::object_type, and object_struct::specific.

Referenced by advance_object_traverse(), delete_model_object(), get_model_name(), input_object(), and output_object().

public int get_n_colours Colour_flags  colour_flag,
int  n_points,
int  n_items
 

Definition at line 1799 of file objects.c.

References ONE_COLOUR, PER_ITEM_COLOURS, and PER_VERTEX_COLOURS.

Referenced by copy_polygons().

public BOOLEAN get_next_object_traverse object_traverse_struct object_traverse,
object_struct **  object
 

Definition at line 1407 of file objects.c.

References advance_object_traverse(), FALSE, object_stack_struct::index, object_stack_struct::object_list, object_traverse_struct::stack, terminate_object_traverse(), object_traverse_struct::top_of_stack, and TRUE.

Referenced by get_range_of_object(), reverse_object_normals(), and scan_object_to_volume().

public BOOLEAN get_object_colour object_struct object,
Colour *  colour
 

Definition at line 1605 of file objects.c.

References Colour_flags, FALSE, get_object_colours(), ONE_COLOUR, and TRUE.

public Colour_flags* get_object_colours object_struct object,
Colour *  colours[]
 

Definition at line 1254 of file objects.c.

References Colour_flags, object_functions_list::get_colours_function, and object_struct::object_type.

Referenced by get_object_colour(), and set_object_colour().

public STRING get_object_name object_struct object  ) 
 

Definition at line 1316 of file objects.c.

References object_functions_list::get_name_function, and object_struct::object_type.

Referenced by print_deform_model().

private Surfprop* get_object_no_surfprop object_struct object  ) 
 

Definition at line 735 of file objects.c.

public int get_object_normals object_struct object,
Vector *  normals[]
 

Definition at line 1233 of file objects.c.

References object_functions_list::get_normals_function, and object_struct::object_type.

Referenced by reverse_object_normals().

public int get_object_points object_struct object,
Point *  points[]
 

Definition at line 1212 of file objects.c.

References object_functions_list::get_points_function, and object_struct::object_type.

Referenced by find_closest_vertex_on_object(), and get_range_of_object().

public Surfprop* get_object_surfprop object_struct object  ) 
 

Definition at line 1296 of file objects.c.

References object_functions_list::get_surfprop_function, and object_struct::object_type.

Referenced by set_object_surfprop().

public Object_types get_object_type object_struct object  ) 
 

Definition at line 65 of file objects.c.

References object_struct::object_type, and Object_types.

Referenced by find_closest_point_on_object(), find_closest_vertex_on_object(), get_point_object_distance_sq(), get_point_object_vertex_distance(), intersect_ray_object(), intersect_ray_with_object(), and scan_object_to_volume().

public BOOLEAN get_object_visibility object_struct object  ) 
 

Definition at line 84 of file objects.c.

References object_struct::visibility.

Referenced by advance_object_traverse(), and initialize_object_traverse().

private Colour_flags* get_object_zero_colours object_struct object,
Colour *  colours[]
 

Definition at line 556 of file objects.c.

References Colour_flags.

private int get_object_zero_normals object_struct object,
Vector *  normals[]
 

Definition at line 440 of file objects.c.

private int get_object_zero_points object_struct object,
Point *  points[]
 

Definition at line 348 of file objects.c.

private STRING get_pixels_name object_struct object  ) 
 

Definition at line 875 of file objects.c.

References get_pixels_ptr().

public pixels_struct* get_pixels_ptr object_struct object  ) 
 

Definition at line 199 of file objects.c.

References object_struct::object_type, PIXELS, and object_struct::specific.

Referenced by delete_pixels_object(), get_pixels_name(), input_object(), and output_object().

private Colour_flags* get_polygons_colours object_struct object,
Colour *  colours[]
 

Definition at line 579 of file objects.c.

References polygons_struct::colour_flag, Colour_flags, polygons_struct::colours, and get_polygons_ptr().

private STRING get_polygons_name object_struct object  ) 
 

Definition at line 900 of file objects.c.

References get_polygons_ptr().

private int get_polygons_normals object_struct object,
Vector *  normals[]
 

Definition at line 462 of file objects.c.

References get_polygons_ptr(), polygons_struct::n_points, and polygons_struct::normals.

private int get_polygons_points object_struct object,
Point *  points[]
 

Definition at line 369 of file objects.c.

References get_polygons_ptr(), polygons_struct::n_points, and polygons_struct::points.

public polygons_struct* get_polygons_ptr object_struct object  ) 
 

Definition at line 224 of file objects.c.

References object_struct::object_type, POLYGONS, and object_struct::specific.

Referenced by check_correct_general_polygons(), check_correct_parametric_polygons(), check_correct_subsampled_polygons(), colour_code_object(), delete_polygons_object(), find_closest_point_on_object(), find_closest_vertex_on_object(), get_point_object_distance_sq(), get_point_object_vertex_distance(), get_polygons_colours(), get_polygons_name(), get_polygons_normals(), get_polygons_points(), get_polygons_surfprop(), get_subsampled_neighbours_of_point(), input_object(), input_original_positions(), intersect_ray_object(), intersect_ray_with_object(), output_object(), polygon_transform_point(), polygon_transform_points(), scan_object_to_volume(), and set_polygons_colours().

private Surfprop* get_polygons_surfprop object_struct object  ) 
 

Definition at line 754 of file objects.c.

References get_polygons_ptr(), and polygons_struct::surfprop.

private Colour_flags* get_quadmesh_colours object_struct object,
Colour *  colours[]
 

Definition at line 602 of file objects.c.

References quadmesh_struct::colour_flag, Colour_flags, quadmesh_struct::colours, and get_quadmesh_ptr().

private STRING get_quadmesh_name object_struct object  ) 
 

Definition at line 925 of file objects.c.

References get_quadmesh_ptr().

private int get_quadmesh_normals object_struct object,
Vector *  normals[]
 

Definition at line 485 of file objects.c.

References get_quadmesh_ptr(), quadmesh_struct::m, quadmesh_struct::n, and quadmesh_struct::normals.

private int get_quadmesh_points object_struct object,
Point *  points[]
 

Definition at line 392 of file objects.c.

References get_quadmesh_ptr(), quadmesh_struct::m, quadmesh_struct::n, and quadmesh_struct::points.

public quadmesh_struct* get_quadmesh_ptr object_struct object  ) 
 

Definition at line 249 of file objects.c.

References object_struct::object_type, QUADMESH, and object_struct::specific.

Referenced by colour_code_object(), create_lsq_hypersurface_float(), delete_quadmesh_object(), find_closest_point_on_object(), get_point_object_distance_sq(), get_quadmesh_colours(), get_quadmesh_name(), get_quadmesh_normals(), get_quadmesh_points(), get_quadmesh_surfprop(), input_object(), intersect_ray_object(), intersect_ray_with_object(), output_object(), scan_object_to_volume(), and set_quadmesh_colours().

private Surfprop* get_quadmesh_surfprop object_struct object  ) 
 

Definition at line 773 of file objects.c.

References get_quadmesh_ptr(), and quadmesh_struct::surfprop.

public BOOLEAN get_range_of_object object_struct object,
BOOLEAN  visible_ones_only,
Point *  min_corner,
Point *  max_corner
 

Definition at line 1521 of file objects.c.

References expand_min_and_max_points(), FALSE, get_next_object_traverse(), get_object_points(), get_range_points(), initialize_object_traverse(), and TRUE.

private Colour_flags* get_text_colours object_struct object,
Colour *  colours[]
 

Definition at line 625 of file objects.c.

References text_struct::colour, Colour_flags, and get_text_ptr().

private STRING get_text_name object_struct object  ) 
 

Definition at line 949 of file objects.c.

References get_text_ptr().

private int get_text_points object_struct object,
Point *  points[]
 

Definition at line 415 of file objects.c.

References get_text_ptr(), and text_struct::origin.

public text_struct* get_text_ptr object_struct object  ) 
 

Definition at line 274 of file objects.c.

References object_struct::object_type, object_struct::specific, and TEXT.

Referenced by delete_text_object(), get_text_colours(), get_text_name(), get_text_points(), input_object(), and output_object().

public void initialize_object_traverse object_traverse_struct object_traverse,
BOOLEAN  visible_ones_only,
int  n_objects,
object_struct object_list[]
 

Definition at line 1365 of file objects.c.

References get_object_visibility(), object_stack_struct::index, MAX_OBJECT_TRAVERSE, object_stack_struct::n_objects, object_traverse_struct::n_stack_alloced, object_stack_struct::object_list, push_object_stack(), object_traverse_struct::stack, object_traverse_struct::static_stack, object_traverse_struct::top_of_stack, and object_traverse_struct::visible_ones_only.

Referenced by get_range_of_object(), reverse_object_normals(), and scan_object_to_volume().

public BOOLEAN objects_are_same_topology int  n_points1,
int  n_items1,
int *  end_indices1,
int *  indices1,
int  n_points2,
int  n_items2,
int *  end_indices2,
int *  indices2
 

Definition at line 1758 of file objects.c.

References FALSE, and TRUE.

Referenced by polygons_are_same_topology().

private void pop_object_stack object_traverse_struct object_traverse  ) 
 

Definition at line 1322 of file objects.c.

References object_traverse_struct::top_of_stack.

Referenced by advance_object_traverse().

private void push_object_stack object_traverse_struct object_traverse,
object_stack_struct entry
 

Definition at line 1331 of file objects.c.

References object_traverse_struct::alloced_stack, object_traverse_struct::n_stack_alloced, object_traverse_struct::stack, and object_traverse_struct::top_of_stack.

Referenced by advance_object_traverse(), and initialize_object_traverse().

public void reverse_object_normals object_struct object  ) 
 

Definition at line 1575 of file objects.c.

References FALSE, get_next_object_traverse(), get_object_normals(), initialize_object_traverse(), and reverse_vectors().

private void set_lines_colours object_struct object,
Colour  colours[]
 

Definition at line 648 of file objects.c.

References lines_struct::colours, and get_lines_ptr().

public void set_object_colour object_struct object,
Colour  col
 

Definition at line 1643 of file objects.c.

References Colour_flags, get_object_colours(), ONE_COLOUR, and set_object_colours().

public void set_object_colours object_struct object,
Colour  colours[]
 

Definition at line 1276 of file objects.c.

References object_struct::object_type, and object_functions_list::set_colours_function.

Referenced by set_object_colour().

private void set_object_no_colours object_struct object,
Colour  colours[]
 

Definition at line 672 of file objects.c.

public void set_object_surfprop object_struct object,
Surfprop *  spr
 

Definition at line 1681 of file objects.c.

References get_object_surfprop().

public void set_object_visibility object_struct object,
BOOLEAN  visibility
 

Definition at line 104 of file objects.c.

References object_struct::visibility.

private void set_polygons_colours object_struct object,
Colour  colours[]
 

Definition at line 692 of file objects.c.

References polygons_struct::colours, and get_polygons_ptr().

private void set_quadmesh_colours object_struct object,
Colour  colours[]
 

Definition at line 713 of file objects.c.

References quadmesh_struct::colours, and get_quadmesh_ptr().

public void terminate_object_traverse object_traverse_struct object_traverse  ) 
 

Definition at line 1499 of file objects.c.

References object_traverse_struct::alloced_stack, MAX_OBJECT_TRAVERSE, and object_traverse_struct::n_stack_alloced.

Referenced by get_next_object_traverse().


Generated on Wed Jul 28 09:11:12 2004 for BICPL by doxygen 1.3.7