A model for this must provide:

Kernel::Point_3 fo.operator() ( Kernel::Line_3 l, int i)
returns an arbitrary point on l. It holds point(i) == point(j), iff i==j. Furthermore, is directed from point(i) to point(j), for all i < j.

Kernel::Point_3 fo.operator() ( Kernel::Plane_3 h)
returns an arbitrary point on h.

Kernel::Point_3 fo.operator() ( Kernel::Ray_3 r, int i)
returns a point on r. point(0) is the source, point(i), with i>0, is different from the source.
Precondition: i greater or equal 0.

Kernel::Point_3 fo.operator() ( Kernel::Segment_3 s, int i)
returns source or target of s: point(0) returns the source of s, point(1) returns the target of s. The parameter i is taken modulo 2, which gives easy access to the other end point.


AdaptableFunctor (with two arguments)

See Also