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)
NumberTraits< Component >::UnsignedVersion UnsignedComponent
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &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.
Vector lower(const Vector &z, unsigned int k)
Vector upper(const Vector &z, unsigned int k)