31#if defined(ExactPredicateLpPowerSeparableMetric_RECURSES)
32#error Recursive header files inclusion detected in ExactPredicateLpPowerSeparableMetric.h
35#define ExactPredicateLpPowerSeparableMetric_RECURSES
37#if !defined ExactPredicateLpPowerSeparableMetric_h
39#define ExactPredicateLpPowerSeparableMetric_h
45#include "DGtal/base/Common.h"
46#include "DGtal/math/BasicMathFunctions.h"
47#include "DGtal/kernel/CInteger.h"
48#include "DGtal/kernel/CSpace.h"
49#include "DGtal/kernel/CInteger.h"
208 const Point &startingPoint,
209 const Point &endPoint,
278 template <
typename TSpace,
405 const Point &startingPoint,
406 const Point &endPoint,
464 template <
typename T, DGtal::u
int32_t p ,
typename P>
473#include "DGtal/geometry/volumes/distance/ExactPredicateLpPowerSeparableMetric.ih"
480#undef ExactPredicateLpPowerSeparableMetric_RECURSES
Aim: implements weighted separable l_p metrics with exact predicates.
TPromoted Promoted
Type for internal distance values.
ExactPredicateLpPowerSeparableMetric(const ExactPredicateLpPowerSeparableMetric &)
TPromoted Weight
Type for internal distance values.
Point::Coordinate Abscissa
Type for points.
BOOST_CONCEPT_ASSERT((concepts::CSpace< TSpace >))
bool hiddenByPower(const Point &u, const Weight &wu, const Point &v, const Weight &wv, const Point &w, const Weight &ww, const Point &startingPoint, const Point &endPoint, const typename Point::UnsignedComponent dim) const
Abscissa binarySearchHidden(const Abscissa &udim, const Abscissa &vdim, const Promoted &nu, const Promoted &nv, const Abscissa &lower, const Abscissa &upper) const
DGtal::Closest closestPower(const Point &origin, const Point &first, const Weight &wF, const Point &second, const Weight &wS) const
Space::Point Point
Type for points.
Space::Vector Vector
Type for vectors.
TSpace Space
Copy the space type.
ExactPredicateLpPowerSeparableMetric & operator=(const ExactPredicateLpPowerSeparableMetric &)
void selfDisplay(std::ostream &out) const
BOOST_CONCEPT_ASSERT((concepts::CInteger< Promoted >))
TPromoted Value
Type for Value (alias)
Weight powerDistance(const Point &aPoint, const Point &aQ, const Weight &aWq) const
Promoted exactDistanceRepresentation(const Point &aP, const Point &aQ) const
ExactPredicateLpPowerSeparableMetric()
~ExactPredicateLpPowerSeparableMetric()
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.
boost::int64_t int64_t
signed 94-bit integer.
boost::uint32_t uint32_t
unsigned 32-bit integer.
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)
Aim: Concept checking for Integer Numbers. More precisely, this concept is a refinement of both CEucl...
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)