Esempio n. 1
0
void ForceValidityVisitor::visit( MultiLineString& g )
{
    g.forceValidityFlag( valid_ );
    for ( size_t i = 0; i < g.numGeometries(); i++ ) {
        visit( g.lineStringN( i ) );
    }
}
Esempio n. 2
0
void BoundaryVisitor::visit( const MultiLineString& g )
{
    if ( g.isEmpty() ) {
        _boundary.reset();
        return ;
    }

    /*
     * create a GeometryGraph and rely on vertex degree (1 means boundary)
     */
    graph::GeometryGraph        graph ;
    graph::GeometryGraphBuilder graphBuilder( graph ) ;

    for ( size_t i = 0; i < g.numGeometries(); i++ ) {
        graphBuilder.addLineString( g.lineStringN( i ) );
    }

    getBoundaryFromLineStrings( graph ) ;
}
Esempio n. 3
0
void GetPointsVisitor::visit( const MultiLineString& g )
{
    for ( size_t i = 0; i < g.numGeometries(); i++ ) {
        visit( g.lineStringN( i ) );
    }
}