
A model of this concept must provide:

Kernel::Ray_3  operator() (const Kernel::Point_3 &p, const Kernel::Point_3 &q) 
 introduces a ray with source p and passing through point q .


Kernel::Ray_3  operator() (const Kernel::Point_3 &p, const Kernel::Vector_3 &v) 
 introduces a ray with source p and with the direction given by v .


Kernel::Ray_3  operator() (const Kernel::Point_3 &p, const Kernel::Direction_3 &d) 
 introduces a ray with source p and with direction d .


Kernel::Ray_3  operator() (const Kernel::Point_3 &p, const Kernel::Line_3 &l) 
 introduces a ray with source p and with the same direction as l .

