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

Go to the documentation of this file.
00001 #ifndef __EH_POLYGON_H__
00002 #define __EH_POLYGON_H__
00003 
00004 #include <glib.h>
00005 
00008 typedef struct
00009 {
00010    double x; //< The x-coordinate
00011    double y; //< The y-coordinate
00012 }
00013 Eh_pt_2;
00014 
00015 typedef GList* Eh_polygon_2;
00016 
00017 Eh_polygon_2 eh_get_rectangle_polygon    ( Eh_pt_2 center , double dx , double dy );
00018 Eh_polygon_2 eh_get_polygon_from_grid    ( Eh_grid g , gssize i , gssize j );
00019 void         eh_destroy_polygon          ( Eh_polygon_2 p );
00020 GList*       eh_find_polygon_crossings   ( Eh_pt_2 start , double angle  , Eh_polygon_2 area , int in_or_out );
00021 gboolean     is_between_angles           ( double angle , double angle_1 , double angle_2 );
00022 gboolean     is_inside_area              ( Eh_pt_2 x , Eh_polygon_2 area );
00023 Eh_pt_2      eh_get_unit_vector          ( double angle );
00024 Eh_pt_2      eh_get_dir_vector           ( Eh_pt_2 point_1 , Eh_pt_2 point_2 );
00025 Eh_pt_2      eh_get_norm_vector          ( Eh_pt_2 u );
00026 double       eh_get_vector_length        ( Eh_pt_2 u );
00027 double       eh_get_vector_angle         ( Eh_pt_2 u );
00028 Eh_pt_2      eh_normalize_vector         ( Eh_pt_2 u );
00029 double       eh_dot_vectors              ( Eh_pt_2 u , Eh_pt_2 v );
00030 double       eh_get_angle_between_vectors( Eh_pt_2 u , Eh_pt_2 v );
00031 
00036 typedef struct
00037 {
00038    double *x;
00039    double *y;
00040    int size;
00041 } pos_t;
00042 
00043 pos_t* createPosVec(int size) G_GNUC_DEPRECATED;
00044 void destroyPosVec(pos_t *v) G_GNUC_DEPRECATED;
00045 double *derivative(pos_t v) G_GNUC_DEPRECATED;
00046 
00047 Eh_pt_2  eh_create_pt_2( double x , double y );
00048 gboolean eh_cmp_pt_2   ( Eh_pt_2 a , Eh_pt_2 b , double eps );
00049 
00050 #endif

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