195{
197 double radius_A;
198 double side_Q, side_A2;
199 double d;
200
204
205
206 if ( radius_A < 0 )
207 return side_Q;
208
210
211
212 if ( d == radius_A && side_Q == side_A2 )
213 {
214 return 0;
215 }
216
217
218 if ( side_Q == 0 )
219 {
220 return -1 * side_A2;
221 }
222
223
224
225
226
227 if ( d < radius_A && side_Q == side_A2 )
228 {
229 side_Q *= -1;
230 }
231
232 return side_Q;
233}
double distance2d_pt_pt(const POINT2D *p1, const POINT2D *p2)
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.
int lw_segment_side(const POINT2D *p1, const POINT2D *p2, const POINT2D *q)
lw_segment_side()