829{
830
831
834 int rv;
835
836
840
841
847 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 1, 0.000001);
848
849
855 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 1, 0.000001);
856
857
859 A1.
x = -2; A1.
y = -2;
863 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 1, 0.000001);
864
865
868 A2.
x = 0; A2.
y = 0.5;
871 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 0.5, 0.000001);
872
873
879 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 0., 0.000001);
880
881
887 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, sqrt(2.0)-1, 0.000001);
888
889
895 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 0, 0.000001);
896
897
902
904 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, sqrt(2.0)-1, 0.000001);
905}
int lw_dist2d_seg_arc(const POINT2D *A1, const POINT2D *A2, const POINT2D *B1, const POINT2D *B2, const POINT2D *B3, DISTPTS *dl)
Calculate the shortest distance between an arc and an edge.
void lw_dist2d_distpts_init(DISTPTS *dl, int mode)
Structure used in distance-calculations.