30 #ifndef PAL_GEOM_FUNCTION 31 #define PAL_GEOM_FUNCTION 54 static inline double cross_product(
double x1,
double y1,
double x2,
double y2,
double x3,
double y3 )
56 return ( x2 - x1 ) *( y3 - y1 ) - ( x3 - x1 ) *( y2 - y1 );
59 static inline double dist_euc2d(
double x1,
double y1,
double x2,
double y2 )
61 return sqrt(( x2 - x1 ) *( x2 - x1 ) + ( y2 - y1 ) *( y2 - y1 ) );
64 static inline double dist_euc2d_sq(
double x1,
double y1,
double x2,
double y2 )
66 return ( x2 - x1 ) *( x2 - x1 ) + ( y2 - y1 ) *( y2 - y1 );
69 static void findLineCircleIntersection(
double cx,
double cy,
double radius,
70 double x1,
double y1,
double x2,
double y2,
71 double& xRes,
double& yRes );
82 static int convexHullId(
int *
id,
const double*
const x,
const double*
const y,
int n,
int *&cHull );
87 static bool isSegIntersects(
double x1,
double y1,
double x2,
double y2,
88 double x3,
double y3,
double x4,
double y4 );
94 static bool computeLineIntersection(
double x1,
double y1,
double x2,
double y2,
95 double x3,
double y3,
double x4,
double y4,
96 double *x,
double *y );
99 static int reorderPolygon(
int nbPoints,
double *x,
double *y );
static double cross_product(double x1, double y1, double x2, double y2, double x3, double y3)
static double dist_euc2d(double x1, double y1, double x2, double y2)
static double dist_euc2d_sq(double x1, double y1, double x2, double y2)