37 #include "DGtal/topology/MetricAdjacency.h"
41 template <
typename TDomain,
typename TAdjacency>
47 template <
typename TDomain,
typename TAdjacency>
52 : myPred( aDomain ), myAdjacency( adjacency )
56 template <
typename TDomain,
typename TAdjacency>
60 : myPred( other.myPred ), myAdjacency( other.myAdjacency )
64 template <
typename TDomain,
typename TAdjacency>
73 template <
typename TDomain,
typename TAdjacency>
82 template <
typename TDomain,
typename TAdjacency>
88 ASSERT( myPred( p1 ) );
89 ASSERT( myPred( p2 ) );
90 return isAdjacentTo( p1, p2 );
93 template <
typename TDomain,
typename TAdjacency>
99 ASSERT( myPred( p1 ) );
100 ASSERT( myPred( p2 ) );
101 return isProperlyAdjacentTo( p1, p2 );
104 template <
typename TDomain,
typename TAdjacency>
110 out <<
"[DomainAdjacency]";
113 template <
typename TDomain,
typename TAdjacency>
122 template <
typename TDomain,
typename TAdjacency>
128 object.selfDisplay( out );
138 template <
typename TDomain,
typename TAdjacency>
151 template <
typename TDomain,
typename TAdjacency>
157 return myAdjacency.
degree( v );
171 template <
typename TDomain,
typename TAdjacency>
172 template <
typename OutputIterator>
176 ( OutputIterator &it,
const Vertex & v )
const
198 template <
typename TDomain,
typename TAdjacency>
199 template <
typename OutputIterator,
typename VertexPredicate>
202 ( OutputIterator &it,
const Vertex & v,
const VertexPredicate & pred)
const
205 back_insert_iterator< vector<Vertex> > out_it(vect);
207 myAdjacency.writeNeighbors( out_it, v, myPred );
208 for(
typename vector<Vertex>::const_iterator cit = vect.begin(); cit != vect.end(); cit ++ )