DGtal  1.5.beta
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 >))
 

Private Attributes

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
TSpaceany 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.

Member Typedef Documentation

◆ 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<TSpace>

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.

Constructor & Destructor Documentation

◆ 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
aNvector that defines the normal of the plane.
aMuconstant that defines the lower bound.
aNuconstant 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
otherthe object to clone.

◆ DigitalPlanePredicate() [4/4]

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

Move constructor.

Parameters
otherthe object to move.

Member Function Documentation

◆ 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
aPointany 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
otherthe 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
otherthe 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
outthe output stream where the object is written.

Field Documentation

◆ 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: