Definition at line 1491 of file measures3d.c.
1493 const uint32_t POL_BREAKS = 3;
1500 uint32_t unique_points = pa->
npoints - 1;
1510 for (i = 0; i < unique_points; i++)
1519 pl->
pop.
x /= unique_points;
1520 pl->
pop.
y /= unique_points;
1521 pl->
pop.
z /= unique_points;
1526 for (i = 0; i < POL_BREAKS; i++)
1531 n1 = i * unique_points / POL_BREAKS;
1532 n2 = n1 + unique_points / POL_BREAKS;
1549 double vl = vp.
x * vp.
x + vp.
y * vp.
y + vp.
z * vp.
z;
1550 pl->
pv.
x += vp.
x / vl;
1551 pl->
pv.
y += vp.
y / vl;
1552 pl->
pv.
z += vp.
z / vl;
int getPoint3dz_p(const POINTARRAY *pa, uint32_t n, POINT3DZ *point)
static int get_3dcross_product(const VECTOR3D *v1, const VECTOR3D *v2, VECTOR3D *v)
static int get_3dvector_from_points(const POINT3DZ *p1, const POINT3DZ *p2, VECTOR3D *v)
References FP_IS_ZERO, get_3dcross_product(), get_3dvector_from_points(), getPoint3dz_p(), LW_FALSE, POINTARRAY::npoints, PLANE3D::pop, PLANE3D::pv, POINT3DZ::x, VECTOR3D::x, POINT3DZ::y, VECTOR3D::y, POINT3DZ::z, and VECTOR3D::z.
Referenced by lw_dist3d_line_poly(), lw_dist3d_line_tri(), lw_dist3d_point_poly(), lw_dist3d_point_tri(), lw_dist3d_poly_poly(), lw_dist3d_poly_tri(), and lw_dist3d_tri_tri().