mirror of https://github.com/CGAL/cgal
Add static filter for Coplanar_3
This commit is contained in:
parent
b9e320659e
commit
cc75efdbb5
|
|
@ -0,0 +1,54 @@
|
||||||
|
// Copyright (c) 2011 GeometryFactory (France)
|
||||||
|
// All rights reserved.
|
||||||
|
//
|
||||||
|
// This file is part of CGAL (www.cgal.org)
|
||||||
|
//
|
||||||
|
// $URL$
|
||||||
|
// $Id$
|
||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-later OR LicenseRef-Commercial
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// Author(s) : Andreas Fabri, Laurent Rineau
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef CGAL_INTERNAL_STATIC_FILTERS_COPLANAR_3_H
|
||||||
|
#define CGAL_INTERNAL_STATIC_FILTERS_COPLANAR_3_H
|
||||||
|
|
||||||
|
namespace CGAL {
|
||||||
|
|
||||||
|
namespace internal {
|
||||||
|
|
||||||
|
namespace Static_filters_predicates {
|
||||||
|
|
||||||
|
|
||||||
|
template < typename K_base, typename SFK >
|
||||||
|
class Coplanar_3
|
||||||
|
: public K_base::Coplanar_3
|
||||||
|
{
|
||||||
|
typedef typename K_base::Point_3 Point_3;
|
||||||
|
typedef typename K_base::Coplanar_3 Base;
|
||||||
|
typedef typename SFK::Orientation_3 Orientation_3;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
typedef typename Base::result_type result_type;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
result_type
|
||||||
|
operator()(const Point_3& p,const Point_3& q, const Point_3& r, const Point_3& s) const
|
||||||
|
{
|
||||||
|
return Orientation_3()(p,q,r,s) == COPLANAR;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}; // end class Coplanar_3
|
||||||
|
|
||||||
|
} // end namespace Static_filters_predicates
|
||||||
|
|
||||||
|
} // end namespace internal
|
||||||
|
|
||||||
|
} // end namespace CGAL
|
||||||
|
|
||||||
|
#endif // CGAL_INTERNAL_STATIC_FILTERS_COPLANAR_3_H
|
||||||
|
|
@ -42,6 +42,8 @@
|
||||||
#endif // CGAL_DISABLE_STATIC_FILTERS_ADDED_2011
|
#endif // CGAL_DISABLE_STATIC_FILTERS_ADDED_2011
|
||||||
|
|
||||||
|
|
||||||
|
# include <CGAL/internal/Static_filters/Coplanar_3.h>
|
||||||
|
|
||||||
#ifndef CGAL_NO_EQUAL_3_STATIC_FILTERS
|
#ifndef CGAL_NO_EQUAL_3_STATIC_FILTERS
|
||||||
# include <CGAL/internal/Static_filters/Equal_3.h>
|
# include <CGAL/internal/Static_filters/Equal_3.h>
|
||||||
# include <CGAL/internal/Static_filters/Equal_2.h>
|
# include <CGAL/internal/Static_filters/Equal_2.h>
|
||||||
|
|
@ -96,6 +98,7 @@ class Static_filters : public K_base
|
||||||
{
|
{
|
||||||
typedef Static_filters<K_base> Self;
|
typedef Static_filters<K_base> Self;
|
||||||
|
|
||||||
|
typedef Static_filters_predicates::Coplanar_3<K_base,Self> Coplanar_3;
|
||||||
public:
|
public:
|
||||||
#ifndef CGAL_NO_EQUAL_3_STATIC_FILTERS
|
#ifndef CGAL_NO_EQUAL_3_STATIC_FILTERS
|
||||||
typedef Static_filters_predicates::Equal_2<K_base> Equal_2;
|
typedef Static_filters_predicates::Equal_2<K_base> Equal_2;
|
||||||
|
|
@ -137,6 +140,12 @@ public:
|
||||||
collinear_3_object() const
|
collinear_3_object() const
|
||||||
{ return Collinear_3(); }
|
{ return Collinear_3(); }
|
||||||
|
|
||||||
|
Coplanar_3
|
||||||
|
coplanar_3_object() const
|
||||||
|
{
|
||||||
|
return Coplanar_3();
|
||||||
|
}
|
||||||
|
|
||||||
#ifndef CGAL_NO_EQUAL_3_STATIC_FILTERS
|
#ifndef CGAL_NO_EQUAL_3_STATIC_FILTERS
|
||||||
Equal_2
|
Equal_2
|
||||||
equal_2_object() const
|
equal_2_object() const
|
||||||
|
|
|
||||||
|
|
@ -488,7 +488,7 @@ CGAL_Kernel_pred_RT(Coplanar_orientation_3,
|
||||||
coplanar_orientation_3_object)
|
coplanar_orientation_3_object)
|
||||||
CGAL_Kernel_pred_RT(Coplanar_side_of_bounded_circle_3,
|
CGAL_Kernel_pred_RT(Coplanar_side_of_bounded_circle_3,
|
||||||
coplanar_side_of_bounded_circle_3_object)
|
coplanar_side_of_bounded_circle_3_object)
|
||||||
CGAL_Kernel_pred(Coplanar_3,
|
CGAL_Kernel_pred_RT(Coplanar_3,
|
||||||
coplanar_3_object)
|
coplanar_3_object)
|
||||||
CGAL_Kernel_pred(Counterclockwise_in_between_2,
|
CGAL_Kernel_pred(Counterclockwise_in_between_2,
|
||||||
counterclockwise_in_between_2_object)
|
counterclockwise_in_between_2_object)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue