Utility function for checking if P is within the cone defined by A1/A2.
3460{
3462 double min_similarity, similarity;
3463
3464
3467
3468
3471
3472
3474
3475
3476 if (fabs(1.0 - min_similarity) > 1e-10)
3477 {
3478
3480
3481
3482
3483
3484
3485 if (similarity > min_similarity)
3486 {
3488 }
3489 else
3490 {
3492 }
3493 }
3494 else
3495 {
3496
3497
3498
3499
3500
3501
3508 {
3510 }
3511 else
3512 {
3514 }
3515 }
3517}
#define LW_TRUE
Return types for functions with status returns.
void normalize(POINT3D *p)
Normalize to a unit vector.
static void vector_difference(const POINT3D *a, const POINT3D *b, POINT3D *n)
Calculate the difference of two vectors.
static double dot_product(const POINT3D *p1, const POINT3D *p2)
Convert cartesian coordinates on unit sphere to lon/lat coordinates static void cart2ll(const POINT3D...
void vector_sum(const POINT3D *a, const POINT3D *b, POINT3D *n)
Calculate the sum of two vectors.
static int point3d_equals(const POINT3D *p1, const POINT3D *p2)
Utility function for ptarray_contains_point_sphere()