SFCGAL  2.3.0
Public Member Functions | List of all members
SFCGAL::ConstGeometryVisitor Class Referenceabstract

Visitor interface for const Geometry types. More...

#include <GeometryVisitor.h>

Inheritance diagram for SFCGAL::ConstGeometryVisitor:
SFCGAL::algorithm::BoundaryVisitor SFCGAL::detail::EnvelopeVisitor SFCGAL::detail::GetPointsVisitor

Public Member Functions

virtual ~ConstGeometryVisitor ()
 Default destructor for ConstGeometryVisitor. More...
 
virtual void visit (const Geometry &geometry)
 Apply this visitor to a generic const Geometry reference. More...
 
virtual void visit (const Point &geometry)=0
 Visit a const Point geometry. More...
 
virtual void visit (const LineString &geometry)=0
 Visit a const LineString geometry. More...
 
virtual void visit (const Polygon &geometry)=0
 Visit a const Polygon geometry. More...
 
virtual void visit (const Triangle &geometry)=0
 Visit a const Triangle geometry. More...
 
virtual void visit (const Solid &geometry)=0
 Visit a const Solid geometry. More...
 
virtual void visit (const MultiPoint &geometry)=0
 Visit a const MultiPoint geometry. More...
 
virtual void visit (const MultiLineString &geometry)=0
 Visit a const MultiLineString geometry. More...
 
virtual void visit (const MultiPolygon &geometry)=0
 Visit a const MultiPolygon geometry. More...
 
virtual void visit (const MultiSolid &geometry)=0
 Visit a const MultiSolid geometry. More...
 
virtual void visit (const GeometryCollection &geometry)=0
 Visit a const GeometryCollection geometry. More...
 
virtual void visit (const PolyhedralSurface &geometry)=0
 Visit a const PolyhedralSurface geometry. More...
 
virtual void visit (const TriangulatedSurface &geometry)=0
 Visit a const TriangulatedSurface geometry. More...
 
virtual void visit (const NURBSCurve &geometry)
 Visit a const NURBSCurve geometry. More...
 

Detailed Description

Visitor interface for const Geometry types.

Implementations should provide behavior for each concrete const geometry type via the type-specific visit overloads. The destructor is virtual to allow safe subclass destruction.

Constructor & Destructor Documentation

SFCGAL::ConstGeometryVisitor::~ConstGeometryVisitor ( )
virtualdefault

Default destructor for ConstGeometryVisitor.

Defaulted destructor provided for proper destruction of derived visitor instances.

Member Function Documentation

void SFCGAL::ConstGeometryVisitor::visit ( const Geometry &  geometry)
virtual

Apply this visitor to a generic const Geometry reference.

Concrete visitors can override this to provide a common fallback for any const Geometry not handled by the type-specific overloads.

Parameters
geometryThe const geometry to visit.
virtual void SFCGAL::ConstGeometryVisitor::visit ( const Point &  geometry)
pure virtual

Visit a const Point geometry.

Parameters
geometryThe const Point geometry to visit

Implemented in SFCGAL::algorithm::BoundaryVisitor, SFCGAL::detail::EnvelopeVisitor, and SFCGAL::detail::GetPointsVisitor.

virtual void SFCGAL::ConstGeometryVisitor::visit ( const LineString &  geometry)
pure virtual

Visit a const LineString geometry.

Parameters
geometryThe const LineString geometry to visit

Implemented in SFCGAL::algorithm::BoundaryVisitor, SFCGAL::detail::EnvelopeVisitor, and SFCGAL::detail::GetPointsVisitor.

virtual void SFCGAL::ConstGeometryVisitor::visit ( const Polygon &  geometry)
pure virtual

Visit a const Polygon geometry.

Parameters
geometryThe const Polygon geometry to visit

Implemented in SFCGAL::algorithm::BoundaryVisitor, SFCGAL::detail::EnvelopeVisitor, and SFCGAL::detail::GetPointsVisitor.

virtual void SFCGAL::ConstGeometryVisitor::visit ( const Triangle &  geometry)
pure virtual

Visit a const Triangle geometry.

Parameters
geometryThe const Triangle geometry to visit

Implemented in SFCGAL::algorithm::BoundaryVisitor, SFCGAL::detail::EnvelopeVisitor, and SFCGAL::detail::GetPointsVisitor.

virtual void SFCGAL::ConstGeometryVisitor::visit ( const Solid &  geometry)
pure virtual

Visit a const Solid geometry.

Parameters
geometryThe const Solid geometry to visit

Implemented in SFCGAL::algorithm::BoundaryVisitor, SFCGAL::detail::EnvelopeVisitor, and SFCGAL::detail::GetPointsVisitor.

virtual void SFCGAL::ConstGeometryVisitor::visit ( const MultiPoint &  geometry)
pure virtual

Visit a const MultiPoint geometry.

Parameters
geometryThe const MultiPoint geometry to visit

Implemented in SFCGAL::algorithm::BoundaryVisitor, SFCGAL::detail::EnvelopeVisitor, and SFCGAL::detail::GetPointsVisitor.

virtual void SFCGAL::ConstGeometryVisitor::visit ( const MultiLineString &  geometry)
pure virtual

Visit a const MultiLineString geometry.

Parameters
geometryThe const MultiLineString geometry to visit

Implemented in SFCGAL::algorithm::BoundaryVisitor, SFCGAL::detail::EnvelopeVisitor, and SFCGAL::detail::GetPointsVisitor.

virtual void SFCGAL::ConstGeometryVisitor::visit ( const MultiPolygon &  geometry)
pure virtual

Visit a const MultiPolygon geometry.

Parameters
geometryThe const MultiPolygon geometry to visit

Implemented in SFCGAL::algorithm::BoundaryVisitor, SFCGAL::detail::EnvelopeVisitor, and SFCGAL::detail::GetPointsVisitor.

virtual void SFCGAL::ConstGeometryVisitor::visit ( const MultiSolid &  geometry)
pure virtual

Visit a const MultiSolid geometry.

Parameters
geometryThe const MultiSolid geometry to visit

Implemented in SFCGAL::algorithm::BoundaryVisitor, SFCGAL::detail::EnvelopeVisitor, and SFCGAL::detail::GetPointsVisitor.

virtual void SFCGAL::ConstGeometryVisitor::visit ( const GeometryCollection &  geometry)
pure virtual

Visit a const GeometryCollection geometry.

Parameters
geometryThe const GeometryCollection geometry to visit

Implemented in SFCGAL::algorithm::BoundaryVisitor, SFCGAL::detail::EnvelopeVisitor, and SFCGAL::detail::GetPointsVisitor.

virtual void SFCGAL::ConstGeometryVisitor::visit ( const PolyhedralSurface &  geometry)
pure virtual

Visit a const PolyhedralSurface geometry.

Parameters
geometryThe const PolyhedralSurface geometry to visit

Implemented in SFCGAL::algorithm::BoundaryVisitor, SFCGAL::detail::EnvelopeVisitor, and SFCGAL::detail::GetPointsVisitor.

virtual void SFCGAL::ConstGeometryVisitor::visit ( const TriangulatedSurface &  geometry)
pure virtual

Visit a const TriangulatedSurface geometry.

Parameters
geometryThe const TriangulatedSurface geometry to visit

Implemented in SFCGAL::algorithm::BoundaryVisitor, SFCGAL::detail::EnvelopeVisitor, and SFCGAL::detail::GetPointsVisitor.

void SFCGAL::ConstGeometryVisitor::visit ( const NURBSCurve &  geometry)
virtual

Visit a const NURBSCurve geometry.

Default const visitor for NURBSCurve.

Default implementation provides no-op; override to handle const NURBSCurve.

Parameters
geometryThe const NURBSCurve to visit.

This ABI-compatible default implementation does not handle NURBSCurve directly. It throws std::runtime_error to force derived visitors to provide proper NURBS handling (the intended fallback behavior would be to convert the curve to a LineString and visit that).

Exceptions
std::runtime_errorAlways thrown with message "NURBSCurve const visitor not implemented".

Reimplemented in SFCGAL::algorithm::BoundaryVisitor, SFCGAL::detail::EnvelopeVisitor, and SFCGAL::detail::GetPointsVisitor.