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

map_polygons.c File Reference

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

Include dependency graph for map_polygons.c:

Include dependency graph

Go to the source code of this file.

Functions

private Real get_baricentric (Point *point, Point *p1, Point *p2, Point *p3)
private void get_triangle_interpolation_weights (Point *point, Point points[], Real weights[])
private BOOLEAN intersect_lines_2d (Real p1[], Real p2[], Real q1[], Real q2[], Real intersect[])
private Real get_two_d_coordinate (Point *p, Point *p1, Point *p2, Point *q1, Point *q2)
private void get_quadrilateral_interpolation_weights (Point *point, Point points[], Real weights[])
private void get_arbitrary_polygon_interpolation_weights (Point *point, int n_points, Point points[], Real weights[])
public void get_polygon_interpolation_weights (Point *point, int n_points, Point points[], Real weights[])
public void map_point_between_polygons (polygons_struct *p1, int poly_index, Point *p1_point, polygons_struct *p2, Point *p2_point)
public Real map_point_to_unit_sphere (polygons_struct *p, Point *point, polygons_struct *unit_sphere, Point *unit_sphere_point)
public void map_unit_sphere_to_point (polygons_struct *unit_sphere, Point *unit_sphere_point, polygons_struct *p, Point *point)
private void polygon_transform_point (object_struct *src_object, object_struct *dest_object, Point *src_point, Point *dest_point)
public void polygon_transform_points (polygons_struct *src_polygons, polygons_struct *dest_polygons, int n_points, Point src_points[], Point dest_points[])
public void map_sphere_to_uv (Real x, Real y, Real z, Real *u, Real *v)
public void map_uv_to_sphere (Real u, Real v, Real *x, Real *y, Real *z)


Function Documentation

private void get_arbitrary_polygon_interpolation_weights Point *  point,
int  n_points,
Point  points[],
Real  weights[]
 

Definition at line 284 of file map_polygons.c.

References get_distance_to_line_segment().

Referenced by get_polygon_interpolation_weights().

private Real get_baricentric Point *  point,
Point *  p1,
Point *  p2,
Point *  p3
 

Definition at line 40 of file map_polygons.c.

Referenced by get_triangle_interpolation_weights().

public void get_polygon_interpolation_weights Point *  point,
int  n_points,
Point  points[],
Real  weights[]
 

Definition at line 339 of file map_polygons.c.

References get_arbitrary_polygon_interpolation_weights(), get_quadrilateral_interpolation_weights(), and get_triangle_interpolation_weights().

Referenced by map_point_between_polygons().

private void get_quadrilateral_interpolation_weights Point *  point,
Point  points[],
Real  weights[]
 

Definition at line 252 of file map_polygons.c.

References get_two_d_coordinate().

Referenced by get_polygon_interpolation_weights().

private void get_triangle_interpolation_weights Point *  point,
Point  points[],
Real  weights[]
 

Definition at line 79 of file map_polygons.c.

References get_baricentric().

Referenced by get_polygon_interpolation_weights().

private Real get_two_d_coordinate Point *  p,
Point *  p1,
Point *  p2,
Point *  q1,
Point *  q2
 

Definition at line 157 of file map_polygons.c.

References FALSE, intersect_lines_2d(), null_Vector(), and TRUE.

Referenced by get_quadrilateral_interpolation_weights().

private BOOLEAN intersect_lines_2d Real  p1[],
Real  p2[],
Real  q1[],
Real  q2[],
Real  intersect[]
 

Definition at line 106 of file map_polygons.c.

References FALSE, and TRUE.

Referenced by get_two_d_coordinate().

public void map_point_between_polygons polygons_struct p1,
int  poly_index,
Point *  p1_point,
polygons_struct p2,
Point *  p2_point
 

Definition at line 377 of file map_polygons.c.

References get_polygon_interpolation_weights(), get_polygon_points(), and MAX_POINTS_PER_POLYGON.

Referenced by map_point_to_unit_sphere(), map_unit_sphere_to_point(), and polygon_transform_point().

public Real map_point_to_unit_sphere polygons_struct p,
Point *  point,
polygons_struct unit_sphere,
Point *  unit_sphere_point
 

Definition at line 427 of file map_polygons.c.

References distance_between_points(), find_closest_polygon_point(), and map_point_between_polygons().

public void map_sphere_to_uv Real  x,
Real  y,
Real  z,
Real *  u,
Real *  v
 

Definition at line 554 of file map_polygons.c.

References compute_clockwise_rotation(), and y.

public void map_unit_sphere_to_point polygons_struct unit_sphere,
Point *  unit_sphere_point,
polygons_struct p,
Point *  point
 

Definition at line 459 of file map_polygons.c.

References find_closest_polygon_point(), and map_point_between_polygons().

public void map_uv_to_sphere Real  u,
Real  v,
Real *  x,
Real *  y,
Real *  z
 

Definition at line 572 of file map_polygons.c.

References y.

private void polygon_transform_point object_struct src_object,
object_struct dest_object,
Point *  src_point,
Point *  dest_point
 

Definition at line 492 of file map_polygons.c.

References find_closest_point_on_object(), get_polygons_ptr(), and map_point_between_polygons().

Referenced by polygon_transform_points().

public void polygon_transform_points polygons_struct src_polygons,
polygons_struct dest_polygons,
int  n_points,
Point  src_points[],
Point  dest_points[]
 

Definition at line 525 of file map_polygons.c.

References create_object(), get_polygons_ptr(), polygon_transform_point(), POLYGONS, and polygons_are_same_topology().


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