Struct geometry_predicates::GeometryPredicates [−][src]
pub struct GeometryPredicates(_);
Methods
impl GeometryPredicates
[src]
impl GeometryPredicates
pub fn new() -> GeometryPredicates
[src]
pub fn new() -> GeometryPredicates
pub fn orient2d(&self, pa: [f64; 2], pb: [f64; 2], pc: [f64; 2]) -> f64
[src]
pub fn orient2d(&self, pa: [f64; 2], pb: [f64; 2], pc: [f64; 2]) -> f64
Adaptive exact 2D orientation test. Robust.
Return a positive value if the points pa
, pb
, and pc
occur
in counterclockwise order; a negative value if they occur
in clockwise order; and zero if they are collinear. The
result is also a rough approximation of twice the signed
area of the triangle defined by the three points.
The result returned is the determinant of a matrix.
This determinant is computed adaptively, in the sense that exact
arithmetic is used only to the degree it is needed to ensure that the
returned value has the correct sign. Hence, orient2d()
is usually quite
fast, but will run more slowly when the input points are collinear or
nearly so.
pub fn orient3d(
&self,
pa: [f64; 3],
pb: [f64; 3],
pc: [f64; 3],
pd: [f64; 3]
) -> f64
[src]
pub fn orient3d(
&self,
pa: [f64; 3],
pb: [f64; 3],
pc: [f64; 3],
pd: [f64; 3]
) -> f64
Adaptive exact 3D orientation test. Robust.
Return a positive value if the point pd
lies below the
plane passing through pa
, pb
, and pc
; "below" is defined so
that pa
, pb
, and pc
appear in counterclockwise order when
viewed from above the plane. Returns a negative value if
pd lies above the plane. Returns zero if the points are
coplanar. The result is also a rough approximation of six
times the signed volume of the tetrahedron defined by the
four points.
The result returned is the determinant of a matrix. This determinant is computed adaptively, in the sense that exact arithmetic is used only to the degree it is needed to ensure that the returned value has the correct sign. Hence, orient3d() is usually quite fast, but will run more slowly when the input points are coplanar or nearly so.
pub fn incircle(
&self,
pa: [f64; 2],
pb: [f64; 2],
pc: [f64; 2],
pd: [f64; 2]
) -> f64
[src]
pub fn incircle(
&self,
pa: [f64; 2],
pb: [f64; 2],
pc: [f64; 2],
pd: [f64; 2]
) -> f64
Adaptive exaact 2D incircle test. Robust.
Return a positive value if the point pd
lies inside the
circle passing through pa
, pb
, and pc
; a negative value if
it lies outside; and zero if the four points are cocircular.
The points pa
, pb
, and pc
must be in counterclockwise
order, or the sign of the result will be reversed.
The result returned is the determinant of a matrix.
This determinant is computed adaptively, in the sense that exact
arithmetic is used only to the degree it is needed to ensure that the
returned value has the correct sign. Hence, incircle()
is usually quite
fast, but will run more slowly when the input points are cocircular or
nearly so.
pub fn insphere(
&self,
pa: [f64; 3],
pb: [f64; 3],
pc: [f64; 3],
pd: [f64; 3],
pe: [f64; 3]
) -> f64
[src]
pub fn insphere(
&self,
pa: [f64; 3],
pb: [f64; 3],
pc: [f64; 3],
pd: [f64; 3],
pe: [f64; 3]
) -> f64
Adaptive exact 3D insphere test. Robust.
Return a positive value if the point pe
lies inside the
sphere passing through pa
, pb
, pc
, and pd
; a negative value
if it lies outside; and zero if the five points are
cospherical. The points pa
, pb
, pc
, and pd
must be ordered
so that they have a positive orientation (as defined by
orient3d()
), or the sign of the result will be reversed.
The result returned is the determinant of a matrix.
this determinant is computed adaptively, in the sense that exact
arithmetic is used only to the degree it is needed to ensure that the
returned value has the correct sign. Hence, insphere()
is usually quite
fast, but will run more slowly when the input points are cospherical or
nearly so.
Auto Trait Implementations
impl Send for GeometryPredicates
impl Send for GeometryPredicates
impl Sync for GeometryPredicates
impl Sync for GeometryPredicates