CGAL 4.10 - 2D and 3D Linear Geometry Kernel
|
CGAL::Weighted_point_3<Kernel>
ComputePowerProduct_3
for the definition of power distance. Operations | |
Oriented_side | operator() (const Kernel::Weighted_point_3 &p, const Kernel::Weighted_point_3 &q, const Kernel::Weighted_point_3 &r, const Kernel::Weighted_point_3 &s, const Kernel::Weighted_point_3 &t) const |
Let \( {z(p,q,r,s)}^{(w)}\) be the power sphere of the weighted points \( (p,q,r,s)\). More... | |
Oriented_side | operator() (const Kernel::Weighted_point_3 &p, const Kernel::Weighted_point_3 &q, const Kernel::Weighted_point_3 &r, const Kernel::Weighted_point_3 &t) const |
Analogous to the previous method, for coplanar points, with the power circle \( {z(p,q,r)}^{(w)}\). More... | |
Oriented_side | operator() (const Kernel::Weighted_point_3 &p, const Kernel::Weighted_point_3 &q, const Kernel::Weighted_point_3 &t) const |
which is the same for collinear points, where \( {z(p,q)}^{(w)}\) is the power segment of p and q . More... | |
Oriented_side | operator() (const Kernel::Weighted_point_3 &p, const Kernel::Weighted_point_3 &q) const |
which is the same for equal points, that is when p and q have equal coordinates, then it returns the comparison of the weights (ON_POSITIVE_SIDE when q is heavier than p ). More... | |
Oriented_side Kernel::PowerSideOfOrientedPowerSphere_3::operator() | ( | const Kernel::Weighted_point_3 & | p, |
const Kernel::Weighted_point_3 & | q, | ||
const Kernel::Weighted_point_3 & | r, | ||
const Kernel::Weighted_point_3 & | s, | ||
const Kernel::Weighted_point_3 & | t | ||
) | const |
Let \( {z(p,q,r,s)}^{(w)}\) be the power sphere of the weighted points \( (p,q,r,s)\).
Returns
ON_ORIENTED_BOUNDARY
if t
is orthogonal to \( {z(p,q,r,s)}^{(w)}\),ON_NEGATIVE_SIDE
if t
lies outside the oriented sphere of center \( z(p,q,r,s)\) and radius \( \sqrt{ w_{z(p,q,r,s)}^2 + w_t^2 }\) (which is equivalent to \( \Pi({t}^{(w)},{z(p,q,r,s)}^{(w)} >0\))),ON_POSITIVE_SIDE
if t
lies inside this oriented sphere.p, q, r, s
are not coplanar.If all the points have a weight equal to 0, then power_side_of_oriented_power_sphere_3(p,q,r,s,t)
= side_of_oriented_sphere(p,q,r,s,t)
.
Oriented_side Kernel::PowerSideOfOrientedPowerSphere_3::operator() | ( | const Kernel::Weighted_point_3 & | p, |
const Kernel::Weighted_point_3 & | q, | ||
const Kernel::Weighted_point_3 & | r, | ||
const Kernel::Weighted_point_3 & | t | ||
) | const |
Analogous to the previous method, for coplanar points, with the power circle \( {z(p,q,r)}^{(w)}\).
p, q, r
are not collinear.If all the points have a weight equal to 0, then power_test_3(p,q,r,t)
= side_of_oriented_circle(p,q,r,t)
.
Oriented_side Kernel::PowerSideOfOrientedPowerSphere_3::operator() | ( | const Kernel::Weighted_point_3 & | p, |
const Kernel::Weighted_point_3 & | q, | ||
const Kernel::Weighted_point_3 & | t | ||
) | const |
which is the same for collinear points, where \( {z(p,q)}^{(w)}\) is the power segment of p
and q
.
p
and q
have different bare points.If all points have a weight equal to 0, then power_side_of_oriented_power_sphere_3(p,q,t)
gives the same answer as the kernel predicate s(p,q).has_on(t)
would give, where s(p,q)
denotes the segment with endpoints p
and q
.
Oriented_side Kernel::PowerSideOfOrientedPowerSphere_3::operator() | ( | const Kernel::Weighted_point_3 & | p, |
const Kernel::Weighted_point_3 & | q | ||
) | const |
which is the same for equal points, that is when p
and q
have equal coordinates, then it returns the comparison of the weights (ON_POSITIVE_SIDE
when q
is heavier than p
).
p
and q
have equal bare points.