DGtal  1.4.beta
DGtal::PlaneProbingHNeighborhood< TPredicate > Class Template Reference

Aim: Represent a way to probe the H-neighborhood. More...

#include <DGtal/geometry/surfaces/estimation/PlaneProbingHNeighborhood.h>

Inheritance diagram for DGtal::PlaneProbingHNeighborhood< TPredicate >:
[legend]

Public Types

using Predicate = TPredicate
 
using Point = typename TPredicate::Point
 
using Triangle = typename PlaneProbingNeighborhood< TPredicate >::Triangle
 
using PointOnProbingRay = typename PlaneProbingNeighborhood< TPredicate >::PointOnProbingRay
 
using HexagonState = typename PlaneProbingNeighborhood< TPredicate >::HexagonState
 
- Public Types inherited from DGtal::PlaneProbingNeighborhood< TPredicate >
enum class  HexagonState { Empty , NonConvex , NonPlanar , Planar }
 
using Predicate = TPredicate
 
using Point = typename Predicate::Point
 
using Vector = Point
 
using Integer = typename Point::Coordinate
 
using Triangle = std::array< Vector, 3 >
 
using PointOnProbingRay = detail::PointOnProbingRay< Integer >
 

Public Member Functions

 PlaneProbingHNeighborhood ()=delete
 
 PlaneProbingHNeighborhood (Predicate const &aPredicate, Point const &aQ, Triangle const &aM)
 
 ~PlaneProbingHNeighborhood ()
 
 PlaneProbingHNeighborhood (const PlaneProbingHNeighborhood &other)=delete
 
 PlaneProbingHNeighborhood (PlaneProbingHNeighborhood &&other)=delete
 
PlaneProbingHNeighborhoodoperator= (const PlaneProbingHNeighborhood &other)=delete
 
PlaneProbingHNeighborhoodoperator= (PlaneProbingHNeighborhood &&other)=delete
 
virtual HexagonState hexagonState () override
 
void selfDisplay (std::ostream &out) const
 
bool isValid () const
 
- Public Member Functions inherited from DGtal::PlaneProbingNeighborhood< TPredicate >
 PlaneProbingNeighborhood ()=delete
 
 PlaneProbingNeighborhood (Predicate const &aPredicate, Point const &aQ, Triangle const &aM)
 
virtual ~PlaneProbingNeighborhood ()
 
 PlaneProbingNeighborhood (const PlaneProbingNeighborhood &other)=delete
 
 PlaneProbingNeighborhood (PlaneProbingNeighborhood &&other)=delete
 
PlaneProbingNeighborhoodoperator= (const PlaneProbingNeighborhood &other)=delete
 
PlaneProbingNeighborhoodoperator= (PlaneProbingNeighborhood &&other)=delete
 
void setNeighbors (std::vector< PointOnProbingRay > const &aNeighbors)
 
UpdateOperation closestCandidate ()
 
virtual UpdateOperation getOperation (PointOnProbingRay const &aClosest) const
 
HexagonState classify (std::array< bool, 6 > const &aState) const
 
void selfDisplay (std::ostream &out) const
 
bool isValid () const
 

Private Member Functions

 BOOST_CONCEPT_ASSERT ((concepts::CPointPredicate< TPredicate >))
 

Additional Inherited Members

- Protected Member Functions inherited from DGtal::PlaneProbingNeighborhood< TPredicate >
PointOnProbingRay closestPointInList (std::vector< PointOnProbingRay > const &aPoints) const
 
bool isNeighbor (PointOnProbingRay const &aRay) const
 
bool isSmallest (Point const &aX, Point const &aY) const
 
Point relativePoint (PointOnProbingRay const &aRay) const
 
Point absolutePoint (PointOnProbingRay const &aRay) const
 
- Protected Attributes inherited from DGtal::PlaneProbingNeighborhood< TPredicate >
Predicate const & myPredicate
 
Point const & myQ
 
Triangle const & myM
 
std::vector< PointOnProbingRaymyCandidates
 
std::vector< PointOnProbingRaymyNeighbors
 
- Static Protected Attributes inherited from DGtal::PlaneProbingNeighborhood< TPredicate >
static const PointOnProbingRay myNeighborhood [6]
 

Detailed Description

template<typename TPredicate>
class DGtal::PlaneProbingHNeighborhood< TPredicate >

Aim: Represent a way to probe the H-neighborhood.

Description of template class 'PlaneProbingHNeighborhood'

Template Parameters
TPredicatethe probing predicate, a model of concepts::CPointPredicate.

Definition at line 62 of file PlaneProbingHNeighborhood.h.

Member Typedef Documentation

◆ HexagonState

template<typename TPredicate >
using DGtal::PlaneProbingHNeighborhood< TPredicate >::HexagonState = typename PlaneProbingNeighborhood<TPredicate>::HexagonState

Definition at line 72 of file PlaneProbingHNeighborhood.h.

◆ Point

template<typename TPredicate >
using DGtal::PlaneProbingHNeighborhood< TPredicate >::Point = typename TPredicate::Point

Definition at line 69 of file PlaneProbingHNeighborhood.h.

◆ PointOnProbingRay

template<typename TPredicate >
using DGtal::PlaneProbingHNeighborhood< TPredicate >::PointOnProbingRay = typename PlaneProbingNeighborhood<TPredicate>::PointOnProbingRay

Definition at line 71 of file PlaneProbingHNeighborhood.h.

◆ Predicate

template<typename TPredicate >
using DGtal::PlaneProbingHNeighborhood< TPredicate >::Predicate = TPredicate

Definition at line 68 of file PlaneProbingHNeighborhood.h.

◆ Triangle

template<typename TPredicate >
using DGtal::PlaneProbingHNeighborhood< TPredicate >::Triangle = typename PlaneProbingNeighborhood<TPredicate>::Triangle

Definition at line 70 of file PlaneProbingHNeighborhood.h.

Constructor & Destructor Documentation

◆ PlaneProbingHNeighborhood() [1/4]

template<typename TPredicate >
DGtal::PlaneProbingHNeighborhood< TPredicate >::PlaneProbingHNeighborhood ( )
delete

Default constructor.

◆ PlaneProbingHNeighborhood() [2/4]

template<typename TPredicate >
DGtal::PlaneProbingHNeighborhood< TPredicate >::PlaneProbingHNeighborhood ( Predicate const &  aPredicate,
Point const &  aQ,
Triangle const &  aM 
)

Constructor.

Parameters
aPredicatea probing predicate.
aQthe fixed point 'q'.
aMa frame composed of the three vectors.

◆ ~PlaneProbingHNeighborhood()

template<typename TPredicate >
DGtal::PlaneProbingHNeighborhood< TPredicate >::~PlaneProbingHNeighborhood ( )

Destructor.

◆ PlaneProbingHNeighborhood() [3/4]

template<typename TPredicate >
DGtal::PlaneProbingHNeighborhood< TPredicate >::PlaneProbingHNeighborhood ( const PlaneProbingHNeighborhood< TPredicate > &  other)
delete

Copy constructor.

Parameters
otherthe object to clone.

◆ PlaneProbingHNeighborhood() [4/4]

template<typename TPredicate >
DGtal::PlaneProbingHNeighborhood< TPredicate >::PlaneProbingHNeighborhood ( PlaneProbingHNeighborhood< TPredicate > &&  other)
delete

Move constructor.

Parameters
otherthe object to move.

Member Function Documentation

◆ BOOST_CONCEPT_ASSERT()

template<typename TPredicate >
DGtal::PlaneProbingHNeighborhood< TPredicate >::BOOST_CONCEPT_ASSERT ( (concepts::CPointPredicate< TPredicate >)  )
private

◆ hexagonState()

template<typename TPredicate >
virtual HexagonState DGtal::PlaneProbingHNeighborhood< TPredicate >::hexagonState ( )
overridevirtual

Computes the current state of the neighborhood. This is the function that is overloaded for the different probing modes.

Returns
the hexagon state, see HexagonState.

Implements DGtal::PlaneProbingNeighborhood< TPredicate >.

◆ isValid()

template<typename TPredicate >
bool DGtal::PlaneProbingHNeighborhood< TPredicate >::isValid ( ) const

Checks the validity/consistency of the object.

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

◆ operator=() [1/2]

template<typename TPredicate >
PlaneProbingHNeighborhood& DGtal::PlaneProbingHNeighborhood< TPredicate >::operator= ( const PlaneProbingHNeighborhood< TPredicate > &  other)
delete

Copy assignment operator.

Parameters
otherthe object to copy.
Returns
a reference on 'this'.

◆ operator=() [2/2]

template<typename TPredicate >
PlaneProbingHNeighborhood& DGtal::PlaneProbingHNeighborhood< TPredicate >::operator= ( PlaneProbingHNeighborhood< TPredicate > &&  other)
delete

Move assignment operator.

Parameters
otherthe object to move.
Returns
a reference on 'this'.

◆ selfDisplay()

template<typename TPredicate >
void DGtal::PlaneProbingHNeighborhood< TPredicate >::selfDisplay ( std::ostream &  out) const

Writes/Displays the object on an output stream.

Parameters
outthe output stream where the object is written.

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