DGtal  0.6.devel
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | Private Attributes
DGtal::CAdjacency< Adj > Struct Template Reference

#include <CAdjacency.h>

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

Public Types

typedef Adj::Space Space
typedef Adj::Point Point
typedef Adj::Adjacency Adjacency
- Public Types inherited from DGtal::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::CUndirectedSimpleLocalGraph< Adj >
 BOOST_CONCEPT_ASSERT ((CInteger< 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::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 CUndirectedSimpleLocalGraph

Associated types (must be defined in the model):

Notations

Definitions

Valid expressions and

Name Expression Type requirements Return type Precondition Semantics Postcondition 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

write neighborhood adj.writeNeighborhood( p, out_it ) p of type Point, out_it any output iterator. writes the whole neighborhood of p with the given output iterator out_it

write proper neighborhood adj.writeProperNeighborhood( p, out_it ) p of type Point, out_it any output iterator. writes the whole neighborhood of p (except p itself), with the given output iterator out_it

write neighborhood satisfying a predicate adj.writeNeighborhood( p, out_it,pred ) p of type Point, out_it any output iterator, pred any point predicate. writes the points of the neighborhood of p that satisfy the predicate pred, with the given output iterator out_it

write proper neighborhood satisfying a predicate adj.writeProperNeighborhood( p, out_it,pred ) p of type Point, out_it any output iterator, pred any point predicate. writes the points of the neighborhood of p (except p itself) that satisfy the predicate pred, with the given output iterator out_it

Invariants###

Models###

Notes###

Definition at line 136 of file CAdjacency.h.


Member Typedef Documentation

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

Definition at line 144 of file CAdjacency.h.

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

Definition at line 143 of file CAdjacency.h.

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

Definition at line 142 of file CAdjacency.h.


Member Function Documentation

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

Definition at line 146 of file CAdjacency.h.

{
// check isAdjacentTo
// check isProperlyAdjacentTo
myAdj.isProperlyAdjacentTo( myP1, myP2 ) );
}

Field Documentation

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

Definition at line 157 of file CAdjacency.h.

Referenced by DGtal::CAdjacency< T >::BOOST_CONCEPT_USAGE().

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

Definition at line 160 of file CAdjacency.h.

Referenced by DGtal::CAdjacency< T >::BOOST_CONCEPT_USAGE().

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

Definition at line 161 of file CAdjacency.h.

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

Definition at line 158 of file CAdjacency.h.

Referenced by DGtal::CAdjacency< T >::BOOST_CONCEPT_USAGE().

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

Definition at line 159 of file CAdjacency.h.

Referenced by DGtal::CAdjacency< T >::BOOST_CONCEPT_USAGE().


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