31 #if defined(ExactPredicateLpSeparableMetric_RECURSES) 32 #error Recursive header files inclusion detected in ExactPredicateLpSeparableMetric.h 33 #else // defined(ExactPredicateLpSeparableMetric_RECURSES) 35 #define ExactPredicateLpSeparableMetric_RECURSES 37 #if !defined ExactPredicateLpSeparableMetric_h 39 #define ExactPredicateLpSeparableMetric_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" 88 :
public std::binary_function< typename TSpace::Point, typename TSpace::Point, double >
92 typedef std::binary_function< typename TSpace::Point, typename TSpace::Point, double >
Base;
135 boost::ignore_unused_variable_warning( other );
145 boost::ignore_unused_variable_warning( other );
161 Value
operator()(
const Point & aP,
const Point &aQ)
const;
176 const Point &second)
const;
186 RawValue
rawDistance(
const Point & aP,
const Point &aQ)
const;
213 const Point &startingPoint,
214 const Point &endPoint,
251 const Abscissa &vdim,
254 const Abscissa &
lower,
255 const Abscissa &
upper)
const;
265 template <
typename TSpace,
268 :
public std::binary_function< typename TSpace::Point, typename TSpace::Point, double >
309 boost::ignore_unused_variable_warning( other );
319 boost::ignore_unused_variable_warning( other );
337 Value local(
const Point & aP,
const Vector &aDir)
const;
349 Value
operator()(
const Point & aP,
const Point &aQ)
const;
364 const Point &second)
const;
377 RawValue
rawDistance(
const Point &aP,
const Point &aQ)
const;
401 const Point &startingPoint,
402 const Point &endPoint,
439 const Abscissa &vdim,
442 const Abscissa &
lower,
443 const Abscissa &
upper)
const;
454 template <
typename T, DGtal::u
int32_t p,
typename P>
456 operator<< ( std::ostream & out, const ExactPredicateLpSeparableMetric<T,p,P> & object );
463 #include "DGtal/geometry/volumes/distance/ExactPredicateLpSeparableMetric.ih" 468 #endif // !defined ExactPredicateLpSeparableMetric_h 470 #undef ExactPredicateLpSeparableMetric_RECURSES 471 #endif // else defined(ExactPredicateLpSeparableMetric_RECURSES) ExactPredicateLpSeparableMetric(const Self &other)
boost::uint32_t uint32_t
unsigned 32-bit integer.
TSpace Space
Copy the space type.
Component Coordinate
Type for Point elements.
Abscissa binarySearchHidden(const Abscissa &udim, const Abscissa &vdim, const RawValue &nu, const RawValue &nv, const Abscissa &lower, const Abscissa &upper) const
Point::Coordinate Abscissa
Type for points.
Space::Vector Vector
Type for vectors.
Space::Vector Vector
Type for vectors.
ExactPredicateLpSeparableMetric< TSpace, p, RawValue > Self
Self type.
Value operator()(const Point &aP, const Point &aQ) const
Vector lower(const Vector &z, unsigned int k)
Space::Point Point
Type for points.
ExactPredicateLpSeparableMetric(const Self &other)
std::binary_function< typename TSpace::Point, typename TSpace::Point, double > Base
Base::second_argument_type second_argument_type
TSpace Space
Copy the space type.
Aim: implements separable l_p metrics with exact predicates.
Aim: Concept checking for Integer Numbers. More precisely, this concept is a refinement of both CEucl...
ExactPredicateLpSeparableMetric()
double Value
Type for distance values.
Base::first_argument_type first_argument_type
Aim: Defines the concept describing a digital space, ie a cartesian product of integer lines...
Point::Coordinate Abscissa
Type for points.
BOOST_CONCEPT_ASSERT((concepts::CSpace< TSpace >))
ExactPredicateLpSeparableMetric< TSpace, 2, TRawValue > Self
Self type.
NumberTraits< Component >::UnsignedVersion UnsignedComponent
Unsigned version of the components.
DGtal is the top-level namespace which contains all DGtal functions and types.
unsigned int dim(const Vector &z)
bool hiddenBy(const Point &u, const Point &v, const Point &w, const Point &startingPoint, const Point &endPoint, const typename Point::UnsignedComponent dim) const
Space::Point Point
Type for points.
Self & operator=(const Self &other)
Base::result_type result_type
double Value
Type for distance values.
TRawValue RawValue
Type for internal distance values.
Vector upper(const Vector &z, unsigned int k)
void selfDisplay(std::ostream &out) const
TRawValue RawValue
Type for internal distance values.
boost::int64_t int64_t
signed 94-bit integer.
Closest closest(const Point &origin, const Point &first, const Point &second) const
RawValue rawDistance(const Point &aP, const Point &aQ) const
~ExactPredicateLpSeparableMetric()