DGtal  1.5.beta
DGtal::concepts::CAdjacency< Adj > Struct Template Reference

Aim: The concept CAdjacency defines an elementary adjacency relation between points of a digital space. More...

#include <DGtal/topology/CAdjacency.h>

Inheritance diagram for DGtal::concepts::CAdjacency< Adj >:
[legend]

Public Types

typedef Adj::Space Space
 
typedef Adj::Point Point
 
typedef Adj::Adjacency Adjacency
 
- Public Types inherited from DGtal::concepts::CUndirectedSimpleLocalGraph< Adj >
typedef T::Vertex Vertex
 
typedef T::Size Size
 
typedef T::VertexSet VertexSet
 

Public Member Functions

 BOOST_CONCEPT_USAGE (CAdjacency)
 
- Public Member Functions inherited from DGtal::concepts::CUndirectedSimpleLocalGraph< Adj >
 BOOST_CONCEPT_ASSERT ((CIntegralNumber< Size >))
 
 BOOST_CONCEPT_ASSERT ((boost::DefaultConstructible< Vertex >))
 
 BOOST_CONCEPT_ASSERT ((boost::Assignable< Vertex >))
 
 BOOST_CONCEPT_ASSERT ((boost::CopyConstructible< Vertex >))
 
 BOOST_CONCEPT_USAGE (CUndirectedSimpleLocalGraph)
 
void checkConstConstraints () const
 

Private Attributes

Adj myAdj
 
Point myP1
 
Point myP2
 
bool myBool
 
std::back_insert_iterator< std::vector< Point > > myInserter
 

Detailed Description

template<typename Adj>
struct DGtal::concepts::CAdjacency< Adj >

Aim: The concept CAdjacency defines an elementary adjacency relation between points of a digital space.

DescriptionDescription of concept 'CAdjacency'

It thus distinguishes which points are close and which points are further away in this space. Adjacency relations are used to define a digital topology, in the sense of Rosenfeld or in the sense of Herman. In other words, and adjacency relation define a neighborhood graph on the points of a digital domain.

Refinement of

Associated types (must be defined in the model):

  • Space: the space of the adjacency.
  • Point: the digital point type.
  • Adjacency: the type of the adjacency itself.

Notations

Definitions

Valid expressions and semantics

Name Expression Type requirements Return type Precondition Semantics Post condition Complexity
adjacency test adj.isAdjacentTo( p1, p2 ) p1 and p2 of same type Point. bool Return 'true' when the two points are adjacent according to the adjacency relation adj
proper adjacency test adj.isProperlyAdjacentTo( p1, p2 ) p1 and p2 of same type Point. bool Return 'true' when the two points are adjacent according to the adjacency relation adj and if p1 different from p2

Invariants

Models

Notes

Definition at line 99 of file CAdjacency.h.

Member Typedef Documentation

◆ Adjacency

template<typename Adj >
typedef Adj::Adjacency DGtal::concepts::CAdjacency< Adj >::Adjacency

Definition at line 106 of file CAdjacency.h.

◆ Point

template<typename Adj >
typedef Adj::Point DGtal::concepts::CAdjacency< Adj >::Point

Definition at line 105 of file CAdjacency.h.

◆ Space

template<typename Adj >
typedef Adj::Space DGtal::concepts::CAdjacency< Adj >::Space

Definition at line 104 of file CAdjacency.h.

Member Function Documentation

◆ BOOST_CONCEPT_USAGE()

template<typename Adj >
DGtal::concepts::CAdjacency< Adj >::BOOST_CONCEPT_USAGE ( CAdjacency< Adj >  )
inline

Field Documentation

◆ myAdj

template<typename Adj >
Adj DGtal::concepts::CAdjacency< Adj >::myAdj
private

◆ myBool

template<typename Adj >
bool DGtal::concepts::CAdjacency< Adj >::myBool
private

◆ myInserter

template<typename Adj >
std::back_insert_iterator< std::vector<Point> > DGtal::concepts::CAdjacency< Adj >::myInserter
private

Definition at line 123 of file CAdjacency.h.

◆ myP1

template<typename Adj >
Point DGtal::concepts::CAdjacency< Adj >::myP1
private

◆ myP2

template<typename Adj >
Point DGtal::concepts::CAdjacency< Adj >::myP2
private

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