Returns LW_TRUE if b is on the arc formed by a1/a2/a3, but not within that portion already described by a1/a2/a3.
807 double b_distance, diff;
814 diff = fabs(radius - b_distance);
815 LWDEBUGF(4,
"circle_radius=%g, b_distance=%g, diff=%g, percentage=%g", radius, b_distance, diff, diff/radius);
826 diff = fabs(angle1 - angle2);
827 LWDEBUGF(4,
" angle1: %g, angle2: %g, diff:%g", angle1, angle2, diff);
835 if ( b_side != a2_side )
double lw_arc_center(const POINT2D *p1, const POINT2D *p2, const POINT2D *p3, POINT2D *result)
Determines the center of the circle defined by the three given points.
static double lw_arc_angle(const POINT2D *a, const POINT2D *b, const POINT2D *c)
Return ABC angle in radians TODO: move to lwalgorithm.
double distance2d_pt_pt(const POINT2D *p1, const POINT2D *p2)
The old function nessecary for ptarray_segmentize2d in ptarray.c.
#define EPSILON_SQLMM
Tolerance used to determine equality.
#define LW_TRUE
Return types for functions with status returns.
int lw_segment_side(const POINT2D *p1, const POINT2D *p2, const POINT2D *q)
lw_segment_side()
#define LWDEBUGF(level, msg,...)