808{
809
810
813 int rv;
814
815
819
820
826 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 1, 0.000001);
827
828
834 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 1, 0.000001);
835
836
838 A1.
x = -2; A1.
y = -2;
842 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 1, 0.000001);
843
844
847 A2.
x = 0; A2.
y = 0.5;
850 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 0.5, 0.000001);
851
852
858 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 0., 0.000001);
859
860
866 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, sqrt(2.0)-1, 0.000001);
867
868
874 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 0, 0.000001);
875
876
881
883 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, sqrt(2.0)-1, 0.000001);
884}
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.