use Has_filtered_predicates flag for selecting base traits

This commit is contained in:
Sébastien Loriot 2016-03-08 15:01:02 +01:00
parent 418f048e0a
commit e21a48a306
5 changed files with 13 additions and 21 deletions

View File

@ -25,7 +25,7 @@
#include <CGAL/spatial_sort.h>
// Needed by remove to fill the hole.
#include <CGAL/Periodic_3_regular_triangulation_remove_traits_3.h>
#include <CGAL/internal/Periodic_3_regular_triangulation_remove_traits_3.h>
#include <CGAL/Regular_triangulation_3.h>
#include <boost/unordered_set.hpp>

View File

@ -197,40 +197,31 @@ protected:
Iso_cuboid_3 _domain;
};
template<typename K, typename Off = CGAL::Periodic_3_offset_3>
template<typename RT, typename Off = CGAL::Periodic_3_offset_3, bool Has_filtered_predicates = RT::Has_filtered_predicates>
class Periodic_3_regular_triangulation_traits_3;
} // namespace CGAL
// Partial specialization for Filtered_kernel<CK>.
#include <CGAL/Filtered_kernel.h>
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Periodic_3_regular_triangulation_filtered_traits_3.h>
#include <CGAL/internal/Periodic_3_regular_triangulation_filtered_traits_3.h>
namespace CGAL
{
// This declaration is needed to break the cyclic dependency.
template<typename K, typename Off>
template<typename RT, typename Off>
class Periodic_3_regular_triangulation_filtered_traits_3;
template<class K, class Off>
class Periodic_3_regular_triangulation_traits_3: public Periodic_3_regular_triangulation_traits_base_3<K, Off>
{
};
template<class RT, class Off, bool Has_filtered_predicates>
class Periodic_3_regular_triangulation_traits_3:
public Periodic_3_regular_triangulation_traits_base_3<RT, Off>
{};
template < typename CK, typename Weight, typename Off >
class Periodic_3_regular_triangulation_traits_3<CGAL::Regular_triangulation_euclidean_traits_3< Filtered_kernel<CK>, Weight >, Off>
: public Periodic_3_regular_triangulation_filtered_traits_3<CGAL::Regular_triangulation_euclidean_traits_3< Filtered_kernel<CK>, Weight >, Off>
template < typename RT, typename Off >
class Periodic_3_regular_triangulation_traits_3<RT, Off, true>
: public Periodic_3_regular_triangulation_filtered_traits_3<RT, Off>
{
public:
typedef Filtered_kernel<CK> Kernel;
};
template < class Weight, class Off >
class Periodic_3_regular_triangulation_traits_3<CGAL::Regular_triangulation_euclidean_traits_3< CGAL::Epick, Weight >, Off>
: public Periodic_3_regular_triangulation_filtered_traits_3<CGAL::Regular_triangulation_euclidean_traits_3< CGAL::Epick, Weight >, Off>
{
typedef CGAL::Epick Kernel;
typedef RT Kernel;
};
} //namespace CGAL

View File

@ -30,6 +30,7 @@
#include <CGAL/Interval_nt.h>
#include <CGAL/Uncertain.h>
#include <CGAL/Profile_counter.h>
#include <CGAL/Filtered_predicate.h>
namespace CGAL {