void ForceValidityVisitor::visit( MultiLineString& g )
{
    g.forceValidityFlag( valid_ );
    for ( size_t i = 0; i < g.numGeometries(); i++ ) {
        visit( g.lineStringN( i ) );
    }
}
void WktWriter::write( const MultiLineString & g )
{
	_s << "MULTILINESTRING" ;
	if ( g.isEmpty() ){
		_s << " EMPTY" ;
		return ;
	}

	_s << "(";
	for ( size_t i = 0; i < g.numGeometries(); i++ ){
		if ( i != 0 )
			_s << "," ;
		writeInner( g.geometryN(i).as< LineString >() );
	}
	_s << ")";
}
Exemple #3
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 ) ;
}
Exemple #4
0
void GetPointsVisitor::visit( const MultiLineString& g )
{
    for ( size_t i = 0; i < g.numGeometries(); i++ ) {
        visit( g.lineStringN( i ) );
    }
}