Processing math: 100%
CGAL 4.10.2 - 2D and 3D Linear Geometry Kernel
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Kernel::PowerSideOfOrientedPowerSphere_3 Concept Reference

Definition

Refines:
AdaptableFunctor (with five arguments)
See Also
CGAL::Weighted_point_3<Kernel>
ComputePowerProduct_3 for the definition of power distance.
PowerSideOfBoundedPowerSphere_3

Operations

A model of this concept must provide:

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...
 

Member Function Documentation

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 w2z(p,q,r,s)+w2t (which is equivalent to Π(t(w),z(p,q,r,s)(w))>0),
  • ON_POSITIVE_SIDE if t lies inside this oriented sphere.

The order of the points p, q, r and s is important, since it determines the orientation of the implicitly constructed power sphere.

Precondition
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).