void ForceValidityVisitor::visit( MultiLineString& g ) { g.forceValidityFlag( valid_ ); for ( size_t i = 0; i < g.numGeometries(); i++ ) { visit( g.lineStringN( i ) ); } }
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 ) ; }
void GetPointsVisitor::visit( const MultiLineString& g ) { for ( size_t i = 0; i < g.numGeometries(); i++ ) { visit( g.lineStringN( i ) ); } }