- template< class V, class R, class VV, class VC >
- class RegionGrowTraits
- {
- public:
- typedef R TResult;
- typedef V TVertex;
- typedef VV TVertexValue;
- typedef VC TVertexCmp;
-
- typedef bool TCost;
- typedef long TFrontId;
-
- class TNode
- {
- public:
- TNode( )
- { }
- TNode( const TVertex& v, const TFrontId& f )
- : Vertex( v ),
- Parent( v ),
- FrontId( f )
- { }
- TNode( const TVertex& v, const TResult& r, const TFrontId& f )
- : Vertex( v ),
- Parent( v ),
- Result( r ),
- FrontId( f )
- { }
- virtual ~TNode( )
- { }
-
- TVertex Vertex;
- TVertex Parent;
- TResult Result;
- TFrontId FrontId;
- };
-
- typedef std::vector< TNode > TNodes;
- };
-
- /**
- * Region grow is a front propagation with no costs.
- */
- template< class V, class R, class VV, class VC, class B >