Utility function for checking if P is within the cone defined by A1/A2.
3308{
3310 double min_similarity, similarity;
3311
3312
3315
3316
3319
3320
3322
3323
3324 if (fabs(1.0 - min_similarity) > 1e-10)
3325 {
3326
3328
3329
3330
3331
3332
3333 if (similarity > min_similarity)
3334 {
3336 }
3337 else
3338 {
3340 }
3341 }
3342 else
3343 {
3344
3345
3346
3347
3348
3349
3356 {
3358 }
3359 else
3360 {
3362 }
3363 }
3365}
#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()