コード例 #1
0
ファイル: BoundaryVisitor.cpp プロジェクト: hjanetzek/SFCGAL
void BoundaryVisitor::visit( const LineString& g )
{
    if ( g.isEmpty() ) {
        _boundary.reset();
        return ;
    }

    if ( g.startPoint().coordinate() == g.endPoint().coordinate() ) {
        _boundary.reset() ;
    }
    else {
        std::auto_ptr< MultiPoint > boundary( new MultiPoint );
        boundary->addGeometry( g.startPoint() );
        boundary->addGeometry( g.endPoint() );
        _boundary.reset( boundary.release() );
    }
}