![]() |
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);