PostGIS  3.4.0dev-r@@SVN_REVISION@@

◆ lw_dist3d_pt_tri()

int lw_dist3d_pt_tri ( POINT3DZ p,
LWTRIANGLE tri,
PLANE3D plane,
POINT3DZ projp,
DISTPTS3D dl 
)

Definition at line 1274 of file measures3d.c.

1275 {
1276  if (pt_in_ring_3d(projp, tri->points, plane))
1277  /* if the projected point is inside the polygon the shortest distance is between that point and the
1278  * input point */
1279  return lw_dist3d_pt_pt(p, projp, dl);
1280  else
1281  /* if the projected point is outside the polygon we search for the closest distance against the boundary
1282  * instead */
1283  return lw_dist3d_pt_ptarray(p, tri->points, dl);
1284 
1285  return LW_TRUE;
1286 }
#define LW_TRUE
Return types for functions with status returns.
Definition: liblwgeom.h:93
int pt_in_ring_3d(const POINT3DZ *p, const POINTARRAY *ring, PLANE3D *plane)
pt_in_ring_3d(): crossing number test for a point in a polygon input: p = a point,...
Definition: measures3d.c:1564
int lw_dist3d_pt_ptarray(POINT3DZ *p, POINTARRAY *pa, DISTPTS3D *dl)
search all the segments of pointarray to see which one is closest to p Returns distance between point...
Definition: measures3d.c:959
int lw_dist3d_pt_pt(POINT3DZ *thep1, POINT3DZ *thep2, DISTPTS3D *dl)
Compares incoming points and stores the points closest to each other or most far away from each other...
Definition: measures3d.c:1045
POINTARRAY * points
Definition: liblwgeom.h:495

References lw_dist3d_pt_pt(), lw_dist3d_pt_ptarray(), LW_TRUE, LWTRIANGLE::points, and pt_in_ring_3d().

Referenced by lw_dist3d_point_tri(), and lw_dist3d_ptarray_tri().

Here is the call graph for this function:
Here is the caller graph for this function: