DGtal 2.0.0
Loading...
Searching...
No Matches
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 Adj::Vertex Vertex
typedef Adj::Size Size
typedef Adj::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_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

Definition at line 108 of file CAdjacency.h.

109 {
110 // check isAdjacentTo
111 ConceptUtils::sameType( myBool, myAdj.isAdjacentTo( myP1, myP2 ) );
112 // check isProperlyAdjacentTo
114 myAdj.isProperlyAdjacentTo( myP1, myP2 ) );
115 }
void sameType(const T &, const T &)

References myAdj, myBool, myP1, myP2, and DGtal::concepts::ConceptUtils::sameType().

Field Documentation

◆ myAdj

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

Definition at line 119 of file CAdjacency.h.

Referenced by BOOST_CONCEPT_USAGE().

◆ myBool

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

Definition at line 122 of file CAdjacency.h.

Referenced by BOOST_CONCEPT_USAGE().

◆ 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

Definition at line 120 of file CAdjacency.h.

Referenced by BOOST_CONCEPT_USAGE().

◆ myP2

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

Definition at line 121 of file CAdjacency.h.

Referenced by BOOST_CONCEPT_USAGE().


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