本文整理汇总了C++中Visitor::expand方法的典型用法代码示例。如果您正苦于以下问题:C++ Visitor::expand方法的具体用法?C++ Visitor::expand怎么用?C++ Visitor::expand使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Visitor
的用法示例。
在下文中一共展示了Visitor::expand方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: init
void init( Visitor& visitor, Scalar dmax )
{
myNodes.clear();
Node node;
while ( ! visitor.finished() )
{
node = visitor.current();
myNodes.push_back( node );
if ( node.second > dmax ) break;
visitor.expand();
}
}
示例2: testBreadthFirstPropagation
void testBreadthFirstPropagation()
{
typedef Z2i::Point Point;
typedef Z2i::Domain Domain;
typedef Z2i::DigitalSet DigitalSet;
typedef Z2i::Object4_8 Object;
BOOST_CONCEPT_ASSERT(( CUndirectedSimpleGraph<Z2i::Object4_8> ));
Point p1( -41, -36 );
Point p2( 18, 18 );
Domain domain( p1, p2 );
Point c1( -2, -1 );
Point c2( -14, 5 );
Point c3( -30, -15 );
Point c4( -10, -20 );
Point c5( 12, -1 );
DigitalSet shape_set( domain );
Shapes<Domain>::addNorm2Ball( shape_set, c1, 9 );
Shapes<Domain>::addNorm1Ball( shape_set, c2, 9 );
Shapes<Domain>::addNorm1Ball( shape_set, c3, 10 );
Shapes<Domain>::addNorm2Ball( shape_set, c4, 12 );
Shapes<Domain>::addNorm1Ball( shape_set, c5, 4 );
Object obj(Z2i::dt4_8, shape_set);
GradientColorMap<int> cmap_grad( 0, 52);
cmap_grad.addColor( Color( 0, 0, 255 ) );
cmap_grad.addColor( Color( 0, 255, 0 ) );
cmap_grad.addColor( Color( 255, 0, 0 ) );
Board2D board;
board << SetMode( domain.className(), "Paving" )
<< domain
<< SetMode( p1.className(), "Paving" );
Image image = ImageFromSet<Image>::create(shape_set, 1);
typedef BreadthFirstVisitor<Object, set<Point> > Visitor;
BOOST_CONCEPT_ASSERT(( CGraphVisitor< Visitor > ));
Visitor bfv (obj, c1);
while( !bfv.finished() )
{
image.setValue(bfv.current().first, bfv.current().second);
bfv.expand();
}
string specificStyle = p1.className() + "/Paving";
for ( DigitalSet::ConstIterator it = shape_set.begin();
it != shape_set.end();
++it )
{
if( image(*it) == 0)
{
board << CustomStyle( specificStyle,
new CustomColors( Color::Black,
Color::Red ) )
<< *it;
}
else
{
if( image(*it) > 0 )
{
board << CustomStyle( specificStyle,
new CustomColors( Color::Black,
cmap_grad( image(*it) ) ) )
<< *it;
}
else
{
board << CustomStyle( specificStyle,
new CustomColors( Color::Black,
cmap_grad( 0 ) ) )
<< *it;
}
}
}
board.saveEPS("testBreadthFirstPropagation.eps");
}