Switch from RT_sufficient to FT_necessary
This commit is contained in:
@@ -398,7 +398,7 @@ namespace CartesianKernelFunctors {
|
||||
Collinear_2(const Orientation_2 o_) : o(o_) {}
|
||||
|
||||
result_type
|
||||
operator()(const Point_2& p, const Point_2& q, const Point_2& r, RT_sufficient = {}) const
|
||||
operator()(const Point_2& p, const Point_2& q, const Point_2& r) const
|
||||
{ return o(p, q, r) == COLLINEAR; }
|
||||
};
|
||||
|
||||
@@ -410,7 +410,7 @@ namespace CartesianKernelFunctors {
|
||||
typedef typename K::Boolean result_type;
|
||||
|
||||
result_type
|
||||
operator()(const Point_3& p, const Point_3& q, const Point_3& r, RT_sufficient = {}) const
|
||||
operator()(const Point_3& p, const Point_3& q, const Point_3& r) const
|
||||
{
|
||||
return collinearC3(p.x(), p.y(), p.z(),
|
||||
q.x(), q.y(), q.z(),
|
||||
@@ -447,14 +447,14 @@ namespace CartesianKernelFunctors {
|
||||
|
||||
template <class T1, class T2, class T3>
|
||||
result_type
|
||||
operator()(const T1& p, const T2& q, const T3& r) const
|
||||
operator()(const T1& p, const T2& q, const T3& r, FT_necessary = {}) const
|
||||
{
|
||||
return CGAL::compare(squared_distance(p, q), squared_distance(p, r));
|
||||
}
|
||||
|
||||
template <class T1, class T2, class T3, class T4>
|
||||
std::enable_if_t< !std::is_same<T4, RT_sufficient>::value, result_type >
|
||||
operator()(const T1& p, const T2& q, const T3& r, const T4& s) const
|
||||
std::enable_if_t<!std::is_same<T4, FT_necessary>::value, result_type>
|
||||
operator()(const T1& p, const T2& q, const T3& r, const T4& s, FT_necessary = {}) const
|
||||
{
|
||||
return CGAL::compare(squared_distance(p, q), squared_distance(r, s));
|
||||
}
|
||||
@@ -566,7 +566,7 @@ namespace CartesianKernelFunctors {
|
||||
typedef typename K::Comparison_result result_type;
|
||||
|
||||
result_type
|
||||
operator()(const Point_3& p, const Point_3& q, const Point_3& r, RT_sufficient = {}) const
|
||||
operator()(const Point_3& p, const Point_3& q, const Point_3& r) const
|
||||
{
|
||||
return cmp_dist_to_pointC3(p.x(), p.y(), p.z(),
|
||||
q.x(), q.y(), q.z(),
|
||||
@@ -574,33 +574,33 @@ namespace CartesianKernelFunctors {
|
||||
}
|
||||
|
||||
result_type
|
||||
operator()(const Point_3& p1, const Segment_3& s1, const Segment_3& s2, RT_sufficient = {}) const
|
||||
operator()(const Point_3& p1, const Segment_3& s1, const Segment_3& s2) const
|
||||
{
|
||||
return internal::compare_distance_pssC3(p1,s1,s2, K());
|
||||
}
|
||||
|
||||
result_type
|
||||
operator()(const Point_3& p1, const Point_3& p2, const Segment_3& s2, RT_sufficient = {}) const
|
||||
operator()(const Point_3& p1, const Point_3& p2, const Segment_3& s2) const
|
||||
{
|
||||
return internal::compare_distance_ppsC3(p1,p2,s2, K());
|
||||
}
|
||||
|
||||
result_type
|
||||
operator()(const Point_3& p1, const Segment_3& s2, const Point_3& p2, RT_sufficient = {}) const
|
||||
operator()(const Point_3& p1, const Segment_3& s2, const Point_3& p2) const
|
||||
{
|
||||
return opposite(internal::compare_distance_ppsC3(p1,p2,s2, K()));
|
||||
}
|
||||
|
||||
template <class T1, class T2, class T3>
|
||||
result_type
|
||||
operator()(const T1& p, const T2& q, const T3& r) const
|
||||
operator()(const T1& p, const T2& q, const T3& r, FT_necessary = {}) const
|
||||
{
|
||||
return CGAL::compare(squared_distance(p, q), squared_distance(p, r));
|
||||
}
|
||||
|
||||
template <class T1, class T2, class T3, class T4>
|
||||
std::enable_if_t< !std::is_same<T4, RT_sufficient>::value, result_type >
|
||||
operator()(const T1& p, const T2& q, const T3& r, const T4& s) const
|
||||
std::enable_if_t<!std::is_same<T4, FT_necessary>::value, result_type>
|
||||
operator()(const T1& p, const T2& q, const T3& r, const T4& s, FT_necessary = {}) const
|
||||
{
|
||||
return CGAL::compare(squared_distance(p, q), squared_distance(r, s));
|
||||
}
|
||||
@@ -618,7 +618,7 @@ namespace CartesianKernelFunctors {
|
||||
|
||||
Comparison_result operator()(const Point_2& r,
|
||||
const Weighted_point_2& p,
|
||||
const Weighted_point_2& q, RT_sufficient = {}) const
|
||||
const Weighted_point_2& q) const
|
||||
{
|
||||
return CGAL::compare_power_distanceC2(p.x(), p.y(), p.weight(),
|
||||
q.x(), q.y(), q.weight(),
|
||||
@@ -3769,8 +3769,7 @@ namespace CartesianKernelFunctors {
|
||||
#endif // CGAL_kernel_exactness_preconditions
|
||||
|
||||
result_type
|
||||
operator()(const Point_3& p, const Point_3& q, const Point_3& r,
|
||||
RT_sufficient = {}) const
|
||||
operator()(const Point_3& p, const Point_3& q, const Point_3& r) const
|
||||
{
|
||||
return coplanar_orientationC3(p.x(), p.y(), p.z(),
|
||||
q.x(), q.y(), q.z(),
|
||||
@@ -3779,8 +3778,7 @@ namespace CartesianKernelFunctors {
|
||||
|
||||
result_type
|
||||
operator()( const Point_3& p, const Point_3& q,
|
||||
const Point_3& r, const Point_3& s,
|
||||
RT_sufficient = {}) const
|
||||
const Point_3& r, const Point_3& s) const
|
||||
{
|
||||
// p,q,r,s supposed to be coplanar
|
||||
// p,q,r supposed to be non collinear
|
||||
@@ -3821,8 +3819,7 @@ namespace CartesianKernelFunctors {
|
||||
|
||||
result_type
|
||||
operator()( const Point_3& p, const Point_3& q,
|
||||
const Point_3& r, const Point_3& t,
|
||||
RT_sufficient = {}) const
|
||||
const Point_3& r, const Point_3& t) const
|
||||
{
|
||||
// p,q,r,t are supposed to be coplanar.
|
||||
// p,q,r determine an orientation of this plane (not collinear).
|
||||
@@ -4209,20 +4206,19 @@ namespace CartesianKernelFunctors {
|
||||
public:
|
||||
typedef typename K::Orientation result_type;
|
||||
|
||||
result_type operator()(const Point_2& p, const Point_2& q, const Point_2& r,
|
||||
RT_sufficient = {}) const
|
||||
result_type operator()(const Point_2& p, const Point_2& q, const Point_2& r) const
|
||||
{
|
||||
return orientationC2(p.x(), p.y(), q.x(), q.y(), r.x(), r.y());
|
||||
}
|
||||
|
||||
result_type
|
||||
operator()(const Vector_2& u, const Vector_2& v, RT_sufficient = {}) const
|
||||
operator()(const Vector_2& u, const Vector_2& v) const
|
||||
{
|
||||
return orientationC2(u.x(), u.y(), v.x(), v.y());
|
||||
}
|
||||
|
||||
result_type
|
||||
operator()(const Circle_2& c, RT_sufficient = {}) const
|
||||
operator()(const Circle_2& c) const
|
||||
{
|
||||
return c.rep().orientation();
|
||||
}
|
||||
@@ -4240,7 +4236,7 @@ namespace CartesianKernelFunctors {
|
||||
|
||||
result_type
|
||||
operator()( const Point_3& p, const Point_3& q,
|
||||
const Point_3& r, const Point_3& s, RT_sufficient = {}) const
|
||||
const Point_3& r, const Point_3& s) const
|
||||
{
|
||||
return orientationC3(p.x(), p.y(), p.z(),
|
||||
q.x(), q.y(), q.z(),
|
||||
@@ -4249,8 +4245,7 @@ namespace CartesianKernelFunctors {
|
||||
}
|
||||
|
||||
result_type
|
||||
operator()( const Vector_3& u, const Vector_3& v, const Vector_3& w,
|
||||
RT_sufficient = {}) const
|
||||
operator()( const Vector_3& u, const Vector_3& v, const Vector_3& w) const
|
||||
{
|
||||
return orientationC3(u.x(), u.y(), u.z(),
|
||||
v.x(), v.y(), v.z(),
|
||||
@@ -4259,7 +4254,7 @@ namespace CartesianKernelFunctors {
|
||||
|
||||
result_type
|
||||
operator()( Origin, const Point_3& u,
|
||||
const Point_3& v, const Point_3& w, RT_sufficient = {}) const
|
||||
const Point_3& v, const Point_3& w) const
|
||||
{
|
||||
return orientationC3(u.x(), u.y(), u.z(),
|
||||
v.x(), v.y(), v.z(),
|
||||
@@ -4267,13 +4262,13 @@ namespace CartesianKernelFunctors {
|
||||
}
|
||||
|
||||
result_type
|
||||
operator()( const Tetrahedron_3& t, RT_sufficient = {}) const
|
||||
operator()( const Tetrahedron_3& t) const
|
||||
{
|
||||
return t.rep().orientation();
|
||||
}
|
||||
|
||||
result_type
|
||||
operator()(const Sphere_3& s, RT_sufficient = {}) const
|
||||
operator()(const Sphere_3& s) const
|
||||
{
|
||||
return s.rep().orientation();
|
||||
}
|
||||
@@ -4291,8 +4286,7 @@ namespace CartesianKernelFunctors {
|
||||
Oriented_side operator()(const Weighted_point_2& p,
|
||||
const Weighted_point_2& q,
|
||||
const Weighted_point_2& r,
|
||||
const Weighted_point_2& t,
|
||||
RT_sufficient = {}) const
|
||||
const Weighted_point_2& t) const
|
||||
{
|
||||
//CGAL_kernel_precondition( ! collinear(p, q, r) );
|
||||
return power_side_of_oriented_power_circleC2(p.x(), p.y(), p.weight(),
|
||||
@@ -4313,8 +4307,7 @@ namespace CartesianKernelFunctors {
|
||||
|
||||
Oriented_side operator()(const Weighted_point_2& p,
|
||||
const Weighted_point_2& q,
|
||||
const Weighted_point_2& t,
|
||||
RT_sufficient = {}) const
|
||||
const Weighted_point_2& t) const
|
||||
{
|
||||
//CGAL_kernel_precondition( collinear(p, q, r) );
|
||||
//CGAL_kernel_precondition( p.point() != q.point() );
|
||||
@@ -4324,8 +4317,7 @@ namespace CartesianKernelFunctors {
|
||||
}
|
||||
|
||||
Oriented_side operator()(const Weighted_point_2& p,
|
||||
const Weighted_point_2& t,
|
||||
RT_sufficient = {}) const
|
||||
const Weighted_point_2& t) const
|
||||
{
|
||||
//CGAL_kernel_precondition( p.point() == r.point() );
|
||||
Comparison_result r = CGAL::compare(p.weight(), t.weight());
|
||||
@@ -4414,8 +4406,7 @@ namespace CartesianKernelFunctors {
|
||||
typedef typename K::Bounded_side result_type;
|
||||
|
||||
result_type
|
||||
operator()( const Point_2& p, const Point_2& q, const Point_2& t,
|
||||
RT_sufficient = {}) const
|
||||
operator()( const Point_2& p, const Point_2& q, const Point_2& t) const
|
||||
{
|
||||
return side_of_bounded_circleC2(p.x(), p.y(),
|
||||
q.x(), q.y(),
|
||||
@@ -4424,8 +4415,7 @@ namespace CartesianKernelFunctors {
|
||||
|
||||
result_type
|
||||
operator()( const Point_2& p, const Point_2& q,
|
||||
const Point_2& r, const Point_2& t,
|
||||
RT_sufficient = {}) const
|
||||
const Point_2& r, const Point_2& t) const
|
||||
{
|
||||
return side_of_bounded_circleC2(p.x(), p.y(), q.x(), q.y(), r.x(), r.y(),
|
||||
t.x(), t.y());
|
||||
@@ -4440,8 +4430,7 @@ namespace CartesianKernelFunctors {
|
||||
typedef typename K::Bounded_side result_type;
|
||||
|
||||
result_type
|
||||
operator()( const Point_3& p, const Point_3& q, const Point_3& test,
|
||||
RT_sufficient = {}) const
|
||||
operator()( const Point_3& p, const Point_3& q, const Point_3& test) const
|
||||
{
|
||||
return side_of_bounded_sphereC3(p.x(), p.y(), p.z(),
|
||||
q.x(), q.y(), q.z(),
|
||||
@@ -4450,8 +4439,7 @@ namespace CartesianKernelFunctors {
|
||||
|
||||
result_type
|
||||
operator()( const Point_3& p, const Point_3& q,
|
||||
const Point_3& r, const Point_3& test,
|
||||
RT_sufficient = {}) const
|
||||
const Point_3& r, const Point_3& test) const
|
||||
{
|
||||
return side_of_bounded_sphereC3(p.x(), p.y(), p.z(),
|
||||
q.x(), q.y(), q.z(),
|
||||
@@ -4461,8 +4449,7 @@ namespace CartesianKernelFunctors {
|
||||
|
||||
result_type
|
||||
operator()( const Point_3& p, const Point_3& q, const Point_3& r,
|
||||
const Point_3& s, const Point_3& test,
|
||||
RT_sufficient = {}) const
|
||||
const Point_3& s, const Point_3& test) const
|
||||
{
|
||||
return side_of_bounded_sphereC3(p.x(), p.y(), p.z(),
|
||||
q.x(), q.y(), q.z(),
|
||||
@@ -4481,8 +4468,7 @@ namespace CartesianKernelFunctors {
|
||||
|
||||
result_type
|
||||
operator()( const Point_2& p, const Point_2& q,
|
||||
const Point_2& r, const Point_2& t,
|
||||
RT_sufficient = {}) const
|
||||
const Point_2& r, const Point_2& t) const
|
||||
{
|
||||
return side_of_oriented_circleC2(p.x(), p.y(),
|
||||
q.x(), q.y(),
|
||||
@@ -4500,8 +4486,7 @@ namespace CartesianKernelFunctors {
|
||||
|
||||
result_type
|
||||
operator()( const Point_3& p, const Point_3& q, const Point_3& r,
|
||||
const Point_3& s, const Point_3& test,
|
||||
RT_sufficient = {}) const
|
||||
const Point_3& s, const Point_3& test) const
|
||||
{
|
||||
return side_of_oriented_sphereC3(p.x(), p.y(), p.z(),
|
||||
q.x(), q.y(), q.z(),
|
||||
|
||||
Reference in New Issue
Block a user