Finds all combinations of segments between two pointarrays.
Definition at line 1122 of file measures3d.c.
1123{
1124 uint32_t t, u;
1129
1131
1132 {
1133 for (t = 0; t < l1->
npoints; t++)
1134 {
1136 for (u = 0; u < l2->
npoints; u++)
1137 {
1140 }
1141 }
1142 }
1143 else
1144 {
1146 for (t = 1; t < l1->
npoints; t++)
1147 {
1150 for (u = 1; u < l2->
npoints; u++)
1151 {
1156 4,
"mindist_ptarray_ptarray; seg %i * seg %i, dist = %g\n", t, u, dl->
distance);
1160 start2 = end2;
1161 }
1162 start = end;
1163 }
1164 }
1166}
int getPoint3dz_p(const POINTARRAY *pa, uint32_t n, POINT3DZ *point)
#define LW_TRUE
Return types for functions with status returns.
#define LWDEBUGF(level, msg,...)
int lw_dist3d_pt_pt(const POINT3DZ *thep1, const POINT3DZ *thep2, DISTPTS3D *dl)
Compares incoming points and stores the points closest to each other or most far away from each other...
int lw_dist3d_seg_seg(const POINT3DZ *s1p1, const POINT3DZ *s1p2, const POINT3DZ *s2p1, const POINT3DZ *s2p2, DISTPTS3D *dl)
Finds the two closest points on two linesegments.
References DIST_MAX, DIST_MIN, DISTPTS3D::distance, getPoint3dz_p(), lw_dist3d_pt_pt(), lw_dist3d_seg_seg(), LW_TRUE, LWDEBUGF, DISTPTS3D::mode, POINTARRAY::npoints, DISTPTS3D::tolerance, and DISTPTS3D::twisted.
Referenced by lw_dist3d_line_line(), lw_dist3d_line_poly(), lw_dist3d_line_tri(), lw_dist3d_poly_poly(), lw_dist3d_poly_tri(), lw_dist3d_ptarray_poly(), lw_dist3d_ptarray_tri(), and lw_dist3d_tri_tri().