DGtal 1.3.0
Searching...
No Matches
DGtal::DigitalPlanePredicate< TSpace > Class Template Reference

Aim: Representing digital planes, which are digitizations of Euclidean planes, as point predicates. More...

#include <DGtal/geometry/surfaces/DigitalPlanePredicate.h>

## Public Types

using Self = DigitalPlanePredicate< TSpace >

using Space = TSpace

using Integer = typename Space::Integer

using Point = typename Space::Point

using Vector = typename Space::Vector

## Public Member Functions

DigitalPlanePredicate ()=default

DigitalPlanePredicate (Vector const &aN, Integer const &aMu, Integer const &aNu)

~DigitalPlanePredicate ()=default

DigitalPlanePredicate (const DigitalPlanePredicate &other)

DigitalPlanePredicate (DigitalPlanePredicate &&other)

DigitalPlanePredicateoperator= (const DigitalPlanePredicate &other)

DigitalPlanePredicateoperator= (DigitalPlanePredicate &&other)

Vector const & normal () const

Integer mu () const

Integer nu () const

bool operator() (Point const &aPoint) const

void selfDisplay (std::ostream &out) const

bool isValid () const

## Private Member Functions

BOOST_CONCEPT_ASSERT ((concepts::CSpace< TSpace >))

Vector myNormal

Integer myMu

Integer myNu

## Detailed Description

template<typename TSpace>
class DGtal::DigitalPlanePredicate< TSpace >

Aim: Representing digital planes, which are digitizations of Euclidean planes, as point predicates.

Description of template class 'DigitalPlanePredicate'

A digital plane is a digitization of a Euclidean plane, it can be seen as the set of digital points comprised between two parallel Euclidean planes.

If N is a normal vector, $$\mu$$ the lower bound and $$\nu$$ the thickness then the corresponding digital plane is the set of digital points $$x$$ such that $$\mu \leq x \cdot N < \mu + \nu$$.

When $$\nu = \| N \|_1$$, then it represents a standard digital plane, and when $$\nu = \| N \|_\infty$$, then it represents a naive digital plane.

Template Parameters
 TSpace any digital space, i.e., a model of CSpace.

Models: A DigitalPlanePredicate is a model of concepts::CPointPredicate.

Definition at line 72 of file DigitalPlanePredicate.h.

## ◆ Integer

template<typename TSpace >
 using DGtal::DigitalPlanePredicate< TSpace >::Integer = typename Space::Integer

Definition at line 80 of file DigitalPlanePredicate.h.

## ◆ Point

template<typename TSpace >
 using DGtal::DigitalPlanePredicate< TSpace >::Point = typename Space::Point

Definition at line 81 of file DigitalPlanePredicate.h.

## ◆ Self

template<typename TSpace >
 using DGtal::DigitalPlanePredicate< TSpace >::Self = DigitalPlanePredicate

Definition at line 78 of file DigitalPlanePredicate.h.

## ◆ Space

template<typename TSpace >
 using DGtal::DigitalPlanePredicate< TSpace >::Space = TSpace

Definition at line 79 of file DigitalPlanePredicate.h.

## ◆ Vector

template<typename TSpace >
 using DGtal::DigitalPlanePredicate< TSpace >::Vector = typename Space::Vector

Definition at line 82 of file DigitalPlanePredicate.h.

## ◆ DigitalPlanePredicate() [1/4]

template<typename TSpace >
 DGtal::DigitalPlanePredicate< TSpace >::DigitalPlanePredicate ( )
default

Default constructor.

## ◆ DigitalPlanePredicate() [2/4]

template<typename TSpace >
 DGtal::DigitalPlanePredicate< TSpace >::DigitalPlanePredicate ( Vector const & aN, Integer const & aMu, Integer const & aNu )

Constructor from normal, lower bound and thickness.

Parameters
 aN vector that defines the normal of the plane. aMu constant that defines the lower bound. aNu constant that defines the thickness.

## ◆ ~DigitalPlanePredicate()

template<typename TSpace >
 DGtal::DigitalPlanePredicate< TSpace >::~DigitalPlanePredicate ( )
default

Destructor.

## ◆ DigitalPlanePredicate() [3/4]

template<typename TSpace >
 DGtal::DigitalPlanePredicate< TSpace >::DigitalPlanePredicate ( const DigitalPlanePredicate< TSpace > & other )

Copy constructor.

Parameters
 other the object to clone.

## ◆ DigitalPlanePredicate() [4/4]

template<typename TSpace >
 DGtal::DigitalPlanePredicate< TSpace >::DigitalPlanePredicate ( DigitalPlanePredicate< TSpace > && other )

Move constructor.

Parameters
 other the object to move.

## ◆ BOOST_CONCEPT_ASSERT()

template<typename TSpace >
 DGtal::DigitalPlanePredicate< TSpace >::BOOST_CONCEPT_ASSERT ( (concepts::CSpace< TSpace >) )
private

## ◆ isValid()

template<typename TSpace >
 bool DGtal::DigitalPlanePredicate< TSpace >::isValid ( ) const

Checks the validity/consistency of the object.

Returns
'true' if the object is valid, 'false' otherwise.

## ◆ mu()

template<typename TSpace >
 Integer DGtal::DigitalPlanePredicate< TSpace >::mu ( ) const
Returns
the lower bound defining the digital plane.

## ◆ normal()

template<typename TSpace >
 Vector const & DGtal::DigitalPlanePredicate< TSpace >::normal ( ) const
Returns
the normal vector to the digital plane.

## ◆ nu()

template<typename TSpace >
 Integer DGtal::DigitalPlanePredicate< TSpace >::nu ( ) const
Returns
the thickness of the digital plane.

## ◆ operator()()

template<typename TSpace >
 bool DGtal::DigitalPlanePredicate< TSpace >::operator() ( Point const & aPoint ) const

Checks whether a point aPoint belongs to the digital plane.

Parameters
 aPoint any digital point.
Returns
'true' if p belongs to the digital plane, 'false' otherwise.

## ◆ operator=() [1/2]

template<typename TSpace >
 DigitalPlanePredicate & DGtal::DigitalPlanePredicate< TSpace >::operator= ( const DigitalPlanePredicate< TSpace > & other )

Copy assignment operator.

Parameters
 other the object to copy.
Returns
a reference on 'this'.

## ◆ operator=() [2/2]

template<typename TSpace >
 DigitalPlanePredicate & DGtal::DigitalPlanePredicate< TSpace >::operator= ( DigitalPlanePredicate< TSpace > && other )

Move assignment operator.

Parameters
 other the object to move.
Returns
a reference on 'this'.

## ◆ selfDisplay()

template<typename TSpace >
 void DGtal::DigitalPlanePredicate< TSpace >::selfDisplay ( std::ostream & out ) const

Writes/Displays the object on an output stream.

Parameters
 out the output stream where the object is written.

## ◆ myMu

template<typename TSpace >
 Integer DGtal::DigitalPlanePredicate< TSpace >::myMu
private

The lower bound.

Definition at line 178 of file DigitalPlanePredicate.h.

## ◆ myNormal

template<typename TSpace >
 Vector DGtal::DigitalPlanePredicate< TSpace >::myNormal
private

The normal vector.

Definition at line 177 of file DigitalPlanePredicate.h.

## ◆ myNu

template<typename TSpace >
 Integer DGtal::DigitalPlanePredicate< TSpace >::myNu
private

The thickness.

Definition at line 179 of file DigitalPlanePredicate.h.

The documentation for this class was generated from the following file: