31 #if defined(ExactPredicateLpPowerSeparableMetric_RECURSES)
32 #error Recursive header files inclusion detected in ExactPredicateLpPowerSeparableMetric.h
33 #else // defined(ExactPredicateLpPowerSeparableMetric_RECURSES)
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"
154 const Weight &aWq)
const;
174 const Weight &wS)
const;
208 const Point &startingPoint,
209 const Point &endPoint,
256 const Abscissa &vdim,
259 const Abscissa &lower,
260 const Abscissa &upper)
const;
278 template <
typename TSpace,
342 const Weight &aWq)
const;
362 const Weight &wS)
const;
405 const Point &startingPoint,
406 const Point &endPoint,
443 const Abscissa &vdim,
446 const Abscissa &lower,
447 const Abscissa &upper)
const;
464 template <
typename T, DGtal::u
int32_t p ,
typename P>
466 operator<< ( std::ostream & out, const ExactPredicateLpPowerSeparableMetric<T,p,P> & object );
473 #include "DGtal/geometry/volumes/distance/ExactPredicateLpPowerSeparableMetric.ih"
478 #endif // !defined ExactPredicateLpPowerSeparableMetric_h
480 #undef ExactPredicateLpPowerSeparableMetric_RECURSES
481 #endif // else defined(ExactPredicateLpPowerSeparableMetric_RECURSES)
Aim: implements weighted separable l_p metrics with exact predicates.
boost::uint32_t uint32_t
unsigned 32-bit integer.
void selfDisplay(std::ostream &out) const
TPromoted Weight
Type for internal distance values.
Weight powerDistance(const Point &aPoint, const Point &aQ, const Weight &aWq) const
DGtal::Closest closestPower(const Point &origin, const Point &first, const Weight &wF, const Point &second, const Weight &wS) const
Component Coordinate
Type for Point elements.
Point::Coordinate Abscissa
Type for points.
~ExactPredicateLpPowerSeparableMetric()
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
TPromoted Value
Type for Value (alias)
Aim: Concept checking for Integer Numbers. More precisely, this concept is a refinement of both CEucl...
ExactPredicateLpPowerSeparableMetric(const ExactPredicateLpPowerSeparableMetric &)
Aim: Defines the concept describing a digital space, ie a cartesian product of integer lines...
ExactPredicateLpPowerSeparableMetric()
Abscissa binarySearchHidden(const Abscissa &udim, const Abscissa &vdim, const Promoted &nu, const Promoted &nv, const Abscissa &lower, const Abscissa &upper) const
ExactPredicateLpPowerSeparableMetric & operator=(const ExactPredicateLpPowerSeparableMetric &)
NumberTraits< Component >::UnsignedVersion UnsignedComponent
Unsigned version of the components.
DGtal is the top-level namespace which contains all DGtal functions and types.
TSpace Space
Copy the space type.
BOOST_CONCEPT_ASSERT((concepts::CSpace< TSpace >))
Promoted exactDistanceRepresentation(const Point &aP, const Point &aQ) const
Space::Point Point
Type for points.
Space::Vector Vector
Type for vectors.
boost::int64_t int64_t
signed 94-bit integer.
TPromoted Promoted
Type for internal distance values.