mirror of https://github.com/CGAL/cgal
Use a clearer name than "Static_filtered_predicate" for EPECK static filters
This commit is contained in:
parent
a886420841
commit
468dde773d
|
|
@ -9,15 +9,15 @@
|
|||
//
|
||||
// Author(s) : Andreas Fabri, Laurent Rineau
|
||||
|
||||
#ifndef CGAL_STATIC_FILTERED_PREDICATE_H
|
||||
#define CGAL_STATIC_FILTERED_PREDICATE_H
|
||||
#ifndef CGAL_EPIC_PREDICATE_IF_CONVERTIBLE_H
|
||||
#define CGAL_EPIC_PREDICATE_IF_CONVERTIBLE_H
|
||||
|
||||
#include <CGAL/Epic_converter.h>
|
||||
|
||||
namespace CGAL {
|
||||
|
||||
template <typename AK, typename FP, typename EpicP>
|
||||
class Static_filtered_predicate {
|
||||
class EPIC_predicate_if_convertible {
|
||||
public:
|
||||
FP fp;
|
||||
EpicP epicp;
|
||||
|
|
@ -54,4 +54,4 @@ public:
|
|||
|
||||
} // CGAL
|
||||
|
||||
#endif // CGAL_STATIC_FILTERED_PREDICATE_H
|
||||
#endif // CGAL_EPIC_PREDICATE_IF_CONVERTIBLE_H
|
||||
|
|
@ -86,7 +86,7 @@ public:
|
|||
#ifdef CGAL_NO_STATIC_FILTERS_FOR_LAZY_KERNEL
|
||||
enum { Has_static_filters = false };
|
||||
#else
|
||||
// @fixme, this should be 'true' but it's broken because Conditional_EPIC_predicate
|
||||
// @fixme, this should be 'true' but it's broken because EPIC_predicate_if_convertible
|
||||
// assumes the static filtered predicate and the (non-static) filtered predicate
|
||||
// have the same signature, which is not always the case, for example in
|
||||
// Do_intersect_3(Sphere_3, Bbox_3, *bool*)
|
||||
|
|
@ -137,8 +137,15 @@ public:
|
|||
typedef Filtered_predicate<typename Exact_kernel::P, typename Approximate_kernel::P, C2E, C2F> P; \
|
||||
P Pf() const { return P(); }
|
||||
#else
|
||||
#define CGAL_Kernel_pred(P, Pf) \
|
||||
typedef Static_filtered_predicate<Approximate_kernel, Filtered_predicate<typename Exact_kernel::P, typename Approximate_kernel::P, C2E, C2F>, Exact_predicates_inexact_constructions_kernel::P> P; \
|
||||
// - the first template parameter is because either it fits in a double, or not, so
|
||||
// we might as well use the approximate kernel directly rather than the complete lazy kernel
|
||||
// - the second is the predicate to be called if EPICK is not usable
|
||||
// - the third is the equivalent predicate in EPICK
|
||||
#define CGAL_Kernel_pred(P, Pf) \
|
||||
typedef EPIC_predicate_if_convertible<Approximate_kernel, \
|
||||
Filtered_predicate<typename Exact_kernel::P, \
|
||||
typename Approximate_kernel::P, C2E, C2F>, \
|
||||
Exact_predicates_inexact_constructions_kernel::P> P; \
|
||||
P Pf() const { return P(); }
|
||||
#endif
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue