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

closest_point.c File Reference

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

Include dependency graph for closest_point.c:

Include dependency graph

Go to the source code of this file.

Defines

#define MAX_POINTS   300

Functions

private Real get_point_polygon_distance_sq (Point *point, polygons_struct *polygons, int poly_index, Point *object_point)
private Real get_point_quadmesh_distance_sq (Point *point, quadmesh_struct *quadmesh, int obj_index, Point *object_point)
private void get_line_segment_alpha (Point *point, Point *p1, Point *p2, Point *closest_point, Real *alpha)
public void get_closest_point_on_line_segment (Point *point, Point *p1, Point *p2, Point *closest_point)
public Real get_distance_to_line_segment (Point *point, Point *p1, Point *p2, Real *alpha)
private Real get_point_line_segment_distance_sq (Point *point, lines_struct *lines, int obj_index, Point *object_point)
private Real get_point_marker_distance (Point *point, marker_struct *marker, Point *object_point)
public Real get_point_object_distance_sq (Point *point, object_struct *object, int obj_index, Point *object_point)
public Real get_point_object_distance (Point *point, object_struct *object, int obj_index, Point *object_point)
private Real get_point_polygon_vertex_distance (Point *point, polygons_struct *polygons, int poly_index, int *object_vertex)
public Real get_point_object_vertex_distance (Point *point, object_struct *object, int obj_index, int *object_vertex)
public Real find_closest_point_on_object (Point *point, object_struct *object, int *obj_index, Point *point_on_object)
public Real find_closest_vertex_on_object (Point *point, object_struct *object, int *vertex_on_object)


Define Documentation

#define MAX_POINTS   300
 

Definition at line 22 of file closest_point.c.

Referenced by get_point_polygon_distance_sq(), get_point_polygon_vertex_distance(), and intersect_ray_polygon().


Function Documentation

public Real find_closest_point_on_object Point *  point,
object_struct object,
int *  obj_index,
Point *  point_on_object
 

Definition at line 399 of file closest_point.c.

References lines_struct::bintree, polygons_struct::bintree, quadmesh_struct::bintree, lines_struct::end_indices, find_closest_point_in_bintree(), get_lines_ptr(), get_object_type(), get_point_object_distance(), get_polygons_ptr(), get_quadmesh_n_objects(), get_quadmesh_ptr(), LINES, MARKER, lines_struct::n_items, polygons_struct::n_items, POLYGONS, and QUADMESH.

Referenced by find_closest_polygon_point(), and polygon_transform_point().

public Real find_closest_vertex_on_object Point *  point,
object_struct object,
int *  vertex_on_object
 

Definition at line 480 of file closest_point.c.

References polygons_struct::bintree, distance_between_points(), find_closest_vertex_in_bintree(), get_object_points(), get_object_type(), get_polygons_ptr(), and POLYGONS.

public void get_closest_point_on_line_segment Point *  point,
Point *  p1,
Point *  p2,
Point *  closest_point
 

Definition at line 165 of file closest_point.c.

References get_line_segment_alpha().

Referenced by get_point_line_segment_distance_sq(), point_segment_distance_squared(), and point_segment_sq_distance().

public Real get_distance_to_line_segment Point *  point,
Point *  p1,
Point *  p2,
Real *  alpha
 

Definition at line 192 of file closest_point.c.

References distance_between_points(), and get_line_segment_alpha().

Referenced by get_arbitrary_polygon_interpolation_weights().

private void get_line_segment_alpha Point *  point,
Point *  p1,
Point *  p2,
Point *  closest_point,
Real *  alpha
 

Definition at line 114 of file closest_point.c.

Referenced by get_closest_point_on_line_segment(), and get_distance_to_line_segment().

private Real get_point_line_segment_distance_sq Point *  point,
lines_struct lines,
int  obj_index,
Point *  object_point
 

Definition at line 220 of file closest_point.c.

References lines_struct::end_indices, get_closest_point_on_line_segment(), get_line_segment_index(), lines_struct::indices, POINT_INDEX, lines_struct::points, and sq_distance_between_points().

Referenced by get_point_object_distance_sq().

private Real get_point_marker_distance Point *  point,
marker_struct marker,
Point *  object_point
 

Definition at line 253 of file closest_point.c.

References distance_between_points(), and marker_struct::position.

Referenced by get_point_object_distance_sq().

public Real get_point_object_distance Point *  point,
object_struct object,
int  obj_index,
Point *  object_point
 

Definition at line 313 of file closest_point.c.

References get_point_object_distance_sq().

Referenced by find_closest_point_on_object().

public Real get_point_object_distance_sq Point *  point,
object_struct object,
int  obj_index,
Point *  object_point
 

Definition at line 263 of file closest_point.c.

References get_lines_ptr(), get_marker_ptr(), get_object_type(), get_point_line_segment_distance_sq(), get_point_marker_distance(), get_point_polygon_distance_sq(), get_point_quadmesh_distance_sq(), get_polygons_ptr(), get_quadmesh_ptr(), LINES, MARKER, POLYGONS, and QUADMESH.

Referenced by get_point_object_distance(), and recursive_find_closest_point().

public Real get_point_object_vertex_distance Point *  point,
object_struct object,
int  obj_index,
int *  object_vertex
 

Definition at line 360 of file closest_point.c.

References get_object_type(), get_point_polygon_vertex_distance(), get_polygons_ptr(), and POLYGONS.

Referenced by recursive_find_closest_vertex().

private Real get_point_polygon_distance_sq Point *  point,
polygons_struct polygons,
int  poly_index,
Point *  object_point
 

Definition at line 40 of file closest_point.c.

References find_point_polygon_distance_sq(), get_polygon_points(), MAX_POINTS, and polygons_struct::visibilities.

Referenced by get_point_object_distance_sq().

private Real get_point_polygon_vertex_distance Point *  point,
polygons_struct polygons,
int  poly_index,
int *  object_vertex
 

Definition at line 323 of file closest_point.c.

References distance_between_points(), polygons_struct::end_indices, get_polygon_points(), polygons_struct::indices, MAX_POINTS, POINT_INDEX, polygons_struct::points, and polygons_struct::visibilities.

Referenced by get_point_object_vertex_distance().

private Real get_point_quadmesh_distance_sq Point *  point,
quadmesh_struct quadmesh,
int  obj_index,
Point *  object_point
 

Definition at line 77 of file closest_point.c.

References find_point_polygon_distance_sq(), get_quadmesh_n_objects(), and get_quadmesh_patch().

Referenced by get_point_object_distance_sq().


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