This functor allows you to create certificate objects of some type. The models of this ``concept'' take some set of arguments which depend on the certificate being computed (for example three points for a two dimensional orientation) followed by either one or two instances of the Kinetic::Simulator::Time concept. The functions either return a Certificate or the corresponding value at the current time (if only a time value rather than an interval is passed).
Certificate | a ( Args , Time begin , Time end ) | Return a Certifate object for the corresponding certificate. |
CGAL::Sign | a ( Args , Time t ) | Compute the sign of the function at lim δ → 0 t+δ. This can be used to evaluate predicates at the current moment. |
All over the place.
Kinetic::KineticKernel
Here you see how to use both functions on an orientation predicate.
KineticKernel::Point_2 a,b,c; Simulator::Handle sh; KineticKernek kk; KineticKernel::Orientation_2 o2= kk.orientation_2_object(); KineticKernel::Certificate c= o2(a,b,c, sh->current_time(), sh->end_time()); if (c.will_fail()) { std::cout << "Certificate will fail" << std::endl; } // Compute the sign immediately following the current time CGAL::Sign sn= o2(a,c,b, sh->current_time()); CGAL_postcondition(sn==CGAL::NEGATIVE);