Class SFCGAL::algorithm::BoundaryVisitor#
ClassList > algorithm > BoundaryVisitor
#include <BoundaryVisitor.h>
Inherits the following classes: SFCGAL::ConstGeometryVisitor
Public Functions#
Type | Name |
---|---|
Geometry * | releaseBoundary () |
virtual void | visit (const Point & g) override |
virtual void | visit (const LineString & g) override |
virtual void | visit (const Polygon & g) override |
virtual void | visit (const Triangle & g) override |
virtual void | visit (const Solid & g) override |
virtual void | visit (const MultiPoint & g) override |
virtual void | visit (const MultiLineString & g) override |
virtual void | visit (const MultiPolygon & g) override |
virtual void | visit (const MultiSolid & g) override |
virtual void | visit (const GeometryCollection & g) override |
virtual void | visit (const PolyhedralSurface & g) override |
virtual void | visit (const TriangulatedSurface & g) override |
Public Functions inherited from SFCGAL::ConstGeometryVisitor#
See SFCGAL::ConstGeometryVisitor
Type | Name |
---|---|
virtual void | visit (const Geometry & g) |
virtual void | visit (const Point & g) = 0 |
virtual void | visit (const LineString & g) = 0 |
virtual void | visit (const Polygon & g) = 0 |
virtual void | visit (const Triangle & g) = 0 |
virtual void | visit (const Solid & g) = 0 |
virtual void | visit (const MultiPoint & g) = 0 |
virtual void | visit (const MultiLineString & g) = 0 |
virtual void | visit (const MultiPolygon & g) = 0 |
virtual void | visit (const MultiSolid & g) = 0 |
virtual void | visit (const GeometryCollection & g) = 0 |
virtual void | visit (const PolyhedralSurface & g) = 0 |
virtual void | visit (const TriangulatedSurface & g) = 0 |
virtual | ~ConstGeometryVisitor () |
Protected Functions#
Type | Name |
---|---|
void | getBoundaryFromLineStrings (const graph::GeometryGraph & g) |
void | getBoundaryFromPolygons (const graph::GeometryGraph & g) |
Detailed Description#
Compute the boundary for a Geometry
boundary( Point ) : GEOMETRYCOLLECTION EMPTY boundary( LineString ) : either GEOMETRYCOLLECTION EMPTY is the LineString is closed, or MULTIPOINT(2) boundary( Polygon ) : LINESTRING | MULTILINESTRING (polygon rings) boundary( Triangle ) : either GEOMETRYCOLLECTION EMPTY is the LineString is closed, or MULTIPOINT(2)
boundary( MultiPoint ) : GEOMETRYCOLLECTION EMPTY boundary( MultiLineString ) : either GEOMETRYCOLLECTION EMPTY or single occurance points
Warning:
GeometryCollection are not supported in the general case
@ŧodo Solid
Todo
MultiPolygon, PolyhedralSurface, TriangulatedSurface (same graph algorithm, edges without parallel or opposite)
Todo
GeometryCollection : complex for heterogeneous collection (not supported in GEOS)
MultiSolid : faced elimination
Public Functions Documentation#
function releaseBoundary#
Geometry * algorithm::BoundaryVisitor::releaseBoundary ()
get the boundary
function visit [1/12]#
virtual void algorithm::BoundaryVisitor::visit (
const Point & g
) override
Implements SFCGAL::ConstGeometryVisitor::visit
function visit [2/12]#
virtual void algorithm::BoundaryVisitor::visit (
const LineString & g
) override
Implements SFCGAL::ConstGeometryVisitor::visit
function visit [3/12]#
virtual void algorithm::BoundaryVisitor::visit (
const Polygon & g
) override
Implements SFCGAL::ConstGeometryVisitor::visit
function visit [4/12]#
virtual void algorithm::BoundaryVisitor::visit (
const Triangle & g
) override
Implements SFCGAL::ConstGeometryVisitor::visit
function visit [5/12]#
virtual void algorithm::BoundaryVisitor::visit (
const Solid & g
) override
Implements SFCGAL::ConstGeometryVisitor::visit
function visit [6/12]#
virtual void algorithm::BoundaryVisitor::visit (
const MultiPoint & g
) override
Implements SFCGAL::ConstGeometryVisitor::visit
function visit [7/12]#
virtual void algorithm::BoundaryVisitor::visit (
const MultiLineString & g
) override
Implements SFCGAL::ConstGeometryVisitor::visit
function visit [8/12]#
virtual void algorithm::BoundaryVisitor::visit (
const MultiPolygon & g
) override
Implements SFCGAL::ConstGeometryVisitor::visit
function visit [9/12]#
virtual void algorithm::BoundaryVisitor::visit (
const MultiSolid & g
) override
Implements SFCGAL::ConstGeometryVisitor::visit
function visit [10/12]#
virtual void algorithm::BoundaryVisitor::visit (
const GeometryCollection & g
) override
Implements SFCGAL::ConstGeometryVisitor::visit
function visit [11/12]#
virtual void algorithm::BoundaryVisitor::visit (
const PolyhedralSurface & g
) override
Implements SFCGAL::ConstGeometryVisitor::visit
function visit [12/12]#
virtual void algorithm::BoundaryVisitor::visit (
const TriangulatedSurface & g
) override
Implements SFCGAL::ConstGeometryVisitor::visit
Protected Functions Documentation#
function getBoundaryFromLineStrings#
void algorithm::BoundaryVisitor::getBoundaryFromLineStrings (
const graph::GeometryGraph & g
)
get the boundary vertices for a set of LineString in a GeometryGraph
function getBoundaryFromPolygons#
void algorithm::BoundaryVisitor::getBoundaryFromPolygons (
const graph::GeometryGraph & g
)
get the boundary edges for a set of Polygons in a GeometryGraph
Warning:
not optimal (edges could be counted using complex< vertex_descriptor >)
Todo
merge resulting edges
The documentation for this class was generated from the following file /builds/sfcgal/SFCGAL/src/algorithm/BoundaryVisitor.h