35#if defined(BasicPointPredicates_RECURSES)
36#error Recursive header files inclusion detected in BasicPointPredicates.h
39#define BasicPointPredicates_RECURSES
41#if !defined BasicPointPredicates_h
43#define BasicPointPredicates_h
48#include "DGtal/base/Common.h"
49#include "DGtal/base/BasicBoolFunctors.h"
50#include "DGtal/base/CPredicate.h"
51#include "DGtal/base/ConstAlias.h"
52#include "DGtal/kernel/CPointFunctor.h"
53#include "DGtal/kernel/CPointPredicate.h"
69 template <
typename TPo
int,
bool boolCst>
90 template <
typename TPo
int>
103 template <
typename TPo
int>
117 template <
typename TPo
int>
146 template <
typename TPo
int>
174 template <
typename TPo
int>
183 const Point & upperBound );
206 template <
typename TPo
intPredicate>
211 typedef typename PointPredicate::Point
Point;
237 template <
typename TPo
int>
273 template <
typename TPointPredicate1,
typename TPointPredicate2,
279 typedef typename PointPredicate1::Point
Point;
280 typedef typename PointPredicate2::Point
Point2;
313 template <
typename TPo
intPredicate1,
typename TPo
intPredicate2>
318 typedef typename PointPredicate1::Point
Point;
319 typedef typename PointPredicate2::Point
Point2;
337 template <
typename TPo
intPredicate1,
typename TPo
intPredicate2>
342 typedef typename PointPredicate1::Point
Point;
343 typedef typename PointPredicate2::Point
Point2;
369 template <
typename TPo
intFunctor,
typename TPredicate>
377 typedef typename PointFunctor::Point
Point;
404#include "DGtal/kernel/BasicPointPredicates.ih"
411#undef BasicPointPredicates_RECURSES
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
boost::function2< bool, bool, bool > BoolFunctor2
DGtal is the top-level namespace which contains all DGtal functions and types.
Aim: Defines a functor on points.
Aim: Defines a predicate on a point.
Aim: Defines a unary functor, which associates arguments to results.
PointPredicate2::Point Point2
const PointPredicate1 * myPred1
TPointPredicate1 PointPredicate1
bool operator()(const Point &p) const
TPointPredicate2 PointPredicate2
BOOST_STATIC_ASSERT((boost::is_same< Point, Point2 >::value))
const AndBoolFct2 * myBoolFunctor
PointPredicate1::Point Point
BinaryPointPredicate(ConstAlias< PointPredicate1 > pred1, ConstAlias< PointPredicate2 > pred2, ConstAlias< AndBoolFct2 > boolFunctor)
BOOST_CONCEPT_ASSERT((concepts::CPointPredicate< PointPredicate2 >))
const PointPredicate2 * myPred2
BOOST_CONCEPT_ASSERT((concepts::CPointPredicate< PointPredicate1 >))
TPointPredicate2 PointPredicate2
BOOST_STATIC_ASSERT((boost::is_same< Point, Point2 >::value))
BinaryPointPredicate(ConstAlias< PointPredicate1 > pred1, ConstAlias< PointPredicate2 > pred2, ConstAlias< OrBoolFct2 > boolFunctor)
PointPredicate2::Point Point2
const PointPredicate1 * myPred1
BOOST_CONCEPT_ASSERT((concepts::CPointPredicate< PointPredicate1 >))
PointPredicate1::Point Point
BOOST_CONCEPT_ASSERT((concepts::CPointPredicate< PointPredicate2 >))
const PointPredicate2 * myPred2
const OrBoolFct2 * myBoolFunctor
bool operator()(const Point &p) const
TPointPredicate1 PointPredicate1
Aim: The predicate returns true when the given binary functor returns true for the two PointPredicate...
TPointPredicate2 PointPredicate2
TPointPredicate1 PointPredicate1
const TBinaryFunctor * myBoolFunctor
aliasing pointer to the binary functor.
PointPredicate1::Point Point
BOOST_CONCEPT_ASSERT((boost::BinaryFunction< TBinaryFunctor, bool, bool, bool >))
BinaryPointPredicate(ConstAlias< PointPredicate1 > pred1, ConstAlias< PointPredicate2 > pred2, ConstAlias< TBinaryFunctor > boolFunctor)
BOOST_STATIC_ASSERT((boost::is_same< Point, Point2 >::value))
const PointPredicate2 * myPred2
aliasing pointer to the right predicate.
PointPredicate2::Point Point2
bool operator()(const Point &p) const
const PointPredicate1 * myPred1
aliasing pointer to the left predicate.
BOOST_CONCEPT_ASSERT((concepts::CPointPredicate< PointPredicate2 >))
BOOST_CONCEPT_ASSERT((concepts::CPointPredicate< PointPredicate1 >))
Aim: The predicate that returns always the same value boolCst.
bool operator()(const Point &p) const
Aim: The predicate returns true when the point given as argument equals the reference point given at ...
Point myPoint
Reference point.
EqualPointPredicate(const Point &aPoint)
bool operator()(const Point &p) const
Aim: The predicate that returns always false.
Aim: The predicate returns true when the point is below (or equal) the given upper bound.
bool operator()(const Point &p) const
Point myUpperBound
the upper bound.
IsLowerPointPredicate(const Point &upperBound)
Aim: The predicate returns true when the point is above (or equal) the given lower bound.
bool operator()(const Point &p) const
Point myLowerBound
the lower bound.
IsUpperPointPredicate(const Point &lowerBound)
Aim: The predicate returns true when the point is within the given bounds.
IsWithinPointPredicate(const Point &lowerBound, const Point &upperBound)
Point myLowerBound
the upper bound.
Point myUpperBound
the lower bound.
bool operator()(const Point &p) const
Aim: The predicate returns true when the point predicate given at construction return false....
NotPointPredicate(ConstAlias< PointPredicate > pred)
const PointPredicate * myPred
The PointPredicate that is inversed.
BOOST_CONCEPT_ASSERT((concepts::CPointPredicate< PointPredicate >))
TPointPredicate PointPredicate
bool operator()(const Point &p) const
PointPredicate::Point Point
Aim: The predicate returns true when the predicate returns true for the value assigned to a given poi...
PointFunctorPredicate(ConstAlias< PointFunctor > aFun, ConstAlias< Predicate > aPred)
bool operator()(const Point &p) const
const Predicate * myPred
alias of the predicate.
BOOST_CONCEPT_ASSERT((concepts::CUnaryFunctor< TPredicate, typename TPointFunctor::Value, bool >))
PointFunctor::Point Point
BOOST_CONCEPT_ASSERT((concepts::CPointFunctor< TPointFunctor >))
const PointFunctor * myFun
alias of the PointFunctor.
TPointFunctor PointFunctor
Aim: The predicate that returns always true.
Go to http://www.sgi.com/tech/stl/BinaryFunction.html.