31 #if defined(InexactPredicateLpSeparableMetric_RECURSES)
32 #error Recursive header files inclusion detected in InexactPredicateLpSeparableMetric.h
35 #define InexactPredicateLpSeparableMetric_RECURSES
37 #if !defined InexactPredicateLpSeparableMetric_h
39 #define InexactPredicateLpSeparableMetric_h
45 #include "DGtal/base/Common.h"
46 #include "DGtal/kernel/CSpace.h"
47 #include "DGtal/kernel/CEuclideanRing.h"
80 template <
typename TSpace,
typename TValue =
double>
171 const Point &second)
const;
197 const Point &startingPoint,
198 const Point &endPoint,
270 template <
typename T,
typename V>
279 #include "DGtal/geometry/volumes/distance/InexactPredicateLpSeparableMetric.ih"
286 #undef InexactPredicateLpSeparableMetric_RECURSES
Aim: implements separable l_p metrics with approximated predicates.
InexactPredicateLpSeparableMetric(const InexactPredicateLpSeparableMetric &other)
RawValue rawDistance(const Point &aP, const Point &aQ) const
bool hiddenBy(const Point &u, const Point &v, const Point &w, const Point &startingPoint, const Point &endPoint, const typename Point::UnsignedComponent dim) const
Value distanceLp(const Point &aP, const Point &aQ) const
InexactPredicateLpSeparableMetric & operator=(const InexactPredicateLpSeparableMetric &other)
Space::Point Point
Type for points.
Closest closest(const Point &origin, const Point &first, const Point &second) const
~InexactPredicateLpSeparableMetric()
BOOST_CONCEPT_ASSERT((concepts::CSpace< TSpace >))
TSpace Space
Copy the space type.
Value myExponent
Exponent value.
TValue RawValue
Type for raw distance values.
Abscissa binarySearchHidden(const Abscissa &udim, const Abscissa &vdim, const Value &nu, const Value &nv, const Abscissa &lower, const Abscissa &upper) const
TValue Value
Type for distance values.
Point::Coordinate Abscissa
Type for points.
BOOST_CONCEPT_ASSERT((concepts::CEuclideanRing< TValue >))
Value operator()(const Point &aP, const Point &aQ) const
Space::Vector Vector
Type for vectors.
void selfDisplay(std::ostream &out) const
InexactPredicateLpSeparableMetric(const double anExponent)
Component Coordinate
Type for Point elements.
NumberTraits< Component >::UnsignedVersion UnsignedComponent
Unsigned version of the components.
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ATu0v1< TKSpace, TLinearAlgebra > &object)
Aim: Defines the mathematical concept equivalent to a unitary commutative ring with a division operat...
Aim: Defines the concept describing a digital space, ie a cartesian product of integer lines.
unsigned int dim(const Vector &z)
Vector lower(const Vector &z, unsigned int k)
Vector upper(const Vector &z, unsigned int k)