/Users/huttone/Devel/sedflux-new/sedflux/trunk/ew/utils/eh_polygon.h File Reference

#include <glib.h>

Go to the source code of this file.

Classes

struct  Eh_pt_2
struct  pos_t

Typedefs

typedef GList * Eh_polygon_2

Functions

Eh_polygon_2 eh_get_rectangle_polygon (Eh_pt_2 center, double dx, double dy)
Eh_polygon_2 eh_get_polygon_from_grid (Eh_grid g, gssize i, gssize j)
void eh_destroy_polygon (Eh_polygon_2 p)
GList * eh_find_polygon_crossings (Eh_pt_2 start, double angle, Eh_polygon_2 area, int in_or_out)
gboolean is_between_angles (double angle, double angle_1, double angle_2)
gboolean is_inside_area (Eh_pt_2 x, Eh_polygon_2 area)
Eh_pt_2 eh_get_unit_vector (double angle)
Eh_pt_2 eh_get_dir_vector (Eh_pt_2 point_1, Eh_pt_2 point_2)
Eh_pt_2 eh_get_norm_vector (Eh_pt_2 u)
double eh_get_vector_length (Eh_pt_2 u)
double eh_get_vector_angle (Eh_pt_2 u)
Eh_pt_2 eh_normalize_vector (Eh_pt_2 u)
double eh_dot_vectors (Eh_pt_2 u, Eh_pt_2 v)
double eh_get_angle_between_vectors (Eh_pt_2 u, Eh_pt_2 v)
pos_tcreatePosVec (int size) G_GNUC_DEPRECATED
void destroyPosVec (pos_t *v) G_GNUC_DEPRECATED
double * derivative (pos_t v) G_GNUC_DEPRECATED
Eh_pt_2 eh_create_pt_2 (double x, double y)
gboolean eh_cmp_pt_2 (Eh_pt_2 a, Eh_pt_2 b, double eps)


Typedef Documentation

typedef GList* Eh_polygon_2

Definition at line 15 of file eh_polygon.h.


Function Documentation

pos_t* createPosVec ( int  size  ) 

Definition at line 278 of file eh_polygon.c.

References eh_new, pos_t::size, pos_t::x, and pos_t::y.

Referenced by main(), and run_debris_flow().

double* derivative ( pos_t  v  ) 

Definition at line 293 of file eh_polygon.c.

References eh_new, pos_t::size, pos_t::x, and pos_t::y.

Referenced by bing().

void destroyPosVec ( pos_t v  ) 

Definition at line 317 of file eh_polygon.c.

References eh_free, pos_t::x, and pos_t::y.

Referenced by main(), and run_debris_flow().

gboolean eh_cmp_pt_2 ( Eh_pt_2  a,
Eh_pt_2  b,
double  eps 
)

Definition at line 335 of file eh_polygon.c.

References Eh_pt_2::x, and Eh_pt_2::y.

Eh_pt_2 eh_create_pt_2 ( double  x,
double  y 
)

Definition at line 326 of file eh_polygon.c.

References Eh_pt_2::x, and Eh_pt_2::y.

Referenced by sed_cube_river_mouth_position().

void eh_destroy_polygon ( Eh_polygon_2  p  ) 

Definition at line 46 of file eh_polygon.c.

References eh_free.

Referenced by sed_cube_river_mouth_position().

double eh_dot_vectors ( Eh_pt_2  u,
Eh_pt_2  v 
)

Definition at line 264 of file eh_polygon.c.

References Eh_pt_2::x, and Eh_pt_2::y.

Referenced by eh_get_angle_between_vectors().

GList* eh_find_polygon_crossings ( Eh_pt_2  start,
double  angle,
Eh_polygon_2  area,
int  in_or_out 
)

Definition at line 55 of file eh_polygon.c.

References eh_get_angle_between_vectors(), eh_get_dir_vector(), eh_get_norm_vector(), eh_new, is_between_angles(), POLYGON_IN_CROSSINGS, POLYGON_OUT_CROSSINGS, swap_dbl, Eh_pt_2::x, and Eh_pt_2::y.

Referenced by is_inside_area(), and sed_cube_river_mouth_position().

double eh_get_angle_between_vectors ( Eh_pt_2  u,
Eh_pt_2  v 
)

Definition at line 270 of file eh_polygon.c.

References eh_dot_vectors(), and eh_get_vector_length().

Referenced by eh_find_polygon_crossings().

Eh_pt_2 eh_get_dir_vector ( Eh_pt_2  point_1,
Eh_pt_2  point_2 
)

Definition at line 226 of file eh_polygon.c.

References eh_normalize_vector(), Eh_pt_2::x, and Eh_pt_2::y.

Referenced by eh_find_polygon_crossings(), and is_inside_area().

Eh_pt_2 eh_get_norm_vector ( Eh_pt_2  u  ) 

Definition at line 237 of file eh_polygon.c.

References eh_get_unit_vector(), and eh_get_vector_angle().

Referenced by eh_find_polygon_crossings().

Eh_polygon_2 eh_get_polygon_from_grid ( Eh_grid  g,
gssize  i,
gssize  j 
)

Definition at line 25 of file eh_polygon.c.

References eh_grid_x(), eh_grid_y(), eh_new, Eh_pt_2::x, and Eh_pt_2::y.

Eh_polygon_2 eh_get_rectangle_polygon ( Eh_pt_2  center,
double  dx,
double  dy 
)

Definition at line 4 of file eh_polygon.c.

References eh_new, Eh_pt_2::x, and Eh_pt_2::y.

Referenced by sed_cube_river_mouth_position().

Eh_pt_2 eh_get_unit_vector ( double  angle  ) 

Definition at line 217 of file eh_polygon.c.

References Eh_pt_2::x, and Eh_pt_2::y.

Referenced by eh_get_norm_vector().

double eh_get_vector_angle ( Eh_pt_2  u  ) 

Definition at line 249 of file eh_polygon.c.

References Eh_pt_2::x, and Eh_pt_2::y.

Referenced by eh_get_norm_vector(), and is_inside_area().

double eh_get_vector_length ( Eh_pt_2  u  ) 

Definition at line 243 of file eh_polygon.c.

References Eh_pt_2::x, and Eh_pt_2::y.

Referenced by eh_get_angle_between_vectors(), and eh_normalize_vector().

Eh_pt_2 eh_normalize_vector ( Eh_pt_2  u  ) 

Definition at line 255 of file eh_polygon.c.

References eh_get_vector_length(), Eh_pt_2::x, and Eh_pt_2::y.

Referenced by eh_get_dir_vector().

gboolean is_between_angles ( double  angle,
double  angle_1,
double  angle_2 
)

Definition at line 156 of file eh_polygon.c.

References eh_reduce_angle(), and M_PI.

Referenced by eh_find_polygon_crossings().

gboolean is_inside_area ( Eh_pt_2  x,
Eh_polygon_2  area 
)

Definition at line 178 of file eh_polygon.c.

References eh_find_polygon_crossings(), eh_get_dir_vector(), eh_get_vector_angle(), POLYGON_IN_CROSSINGS, and POLYGON_OUT_CROSSINGS.


Generated on Fri Jan 4 18:04:19 2008 for sedflux by  doxygen 1.5.2