1#ifndef SQL_GIS_GEOMETRY_VISITOR_H_INCLUDED
2#define SQL_GIS_GEOMETRY_VISITOR_H_INCLUDED
An abstract 2d curve.
Definition: geometries.h:242
Abstract visitor class to be used on class Geometry and descendants.
Definition: geometry_visitor.h:46
virtual bool visit_leave(Polygon *)=0
virtual bool visit(Linestring *)=0
virtual bool visit_leave(Linestring *)=0
virtual bool visit_leave(Multipoint *)=0
virtual bool visit_leave(Multipolygon *)=0
virtual bool visit_enter(Multilinestring *)=0
virtual bool visit_enter(Multicurve *)=0
virtual bool visit_enter(Polygon *)=0
virtual bool visit_enter(Multisurface *)=0
virtual bool visit_leave(Surface *)=0
virtual bool visit_leave(Multilinestring *)=0
virtual bool visit_enter(Curve *)=0
virtual bool visit_leave(Multicurve *)=0
virtual bool visit(Linearring *)=0
virtual bool visit_leave(Multisurface *)=0
virtual bool visit(Multipolygon *)=0
virtual bool visit_enter(Linestring *)=0
virtual bool visit_leave(Geometry *g)=0
Leaves a compound geometry.
virtual ~Geometry_visitor()=default
virtual bool visit(Point *)=0
virtual bool visit_enter(Surface *)=0
virtual bool visit(Multisurface *)=0
virtual bool visit_enter(Geometrycollection *)=0
virtual bool visit_leave(Linearring *)=0
virtual bool visit_leave(Curve *)=0
virtual bool visit(Geometrycollection *)=0
virtual bool visit_enter(Linearring *)=0
virtual bool visit(Polygon *)=0
virtual bool visit(Multilinestring *)=0
virtual bool visit(Multipoint *)=0
virtual bool visit(Surface *)=0
virtual bool visit(Curve *)=0
virtual bool visit_enter(Geometry *g)=0
Enters a compound geometry.
Geometry_visitor()=default
virtual bool visit_leave(Geometrycollection *)=0
virtual bool visit_enter(Multipoint *)=0
virtual bool visit_enter(Multipolygon *)=0
virtual bool visit(Multicurve *)=0
virtual bool visit(Geometry *g)=0
Visits a geometry.
Abstract superclass for all geometric objects.
Definition: geometries.h:100
A collection of geometries.
Definition: geometries.h:410
A ring-shaped linestring.
Definition: geometries.h:320
A string of connected line segments.
Definition: geometries.h:256
An abstract collection of curves.
Definition: geometries.h:514
A collection of linestrings.
Definition: geometries.h:523
A collection of points.
Definition: geometries.h:484
A collection of polygons.
Definition: geometries.h:564
An abstract collection of surfaces.
Definition: geometries.h:555
A visitor that implements the entire interface and does nothing.
Definition: geometry_visitor.h:122
bool visit_enter(Linearring *lr) override
Definition: geometry_visitor.h:131
bool visit_enter(Multilinestring *mls) override
Definition: geometry_visitor.h:149
bool visit_leave(Multipolygon *mpy) override
Definition: geometry_visitor.h:220
bool visit_enter(Geometrycollection *gc) override
Definition: geometry_visitor.h:140
bool visit_leave(Multisurface *ms) override
Definition: geometry_visitor.h:217
bool visit_enter(Multicurve *mc) override
Definition: geometry_visitor.h:146
bool visit(Linearring *lr) override
Definition: geometry_visitor.h:165
bool visit_leave(Curve *c) override
Definition: geometry_visitor.h:190
bool visit_enter(Polygon *py) override
Definition: geometry_visitor.h:137
bool visit_leave(Multicurve *mc) override
Definition: geometry_visitor.h:211
bool visit_enter(Multipolygon *mpy) override
Definition: geometry_visitor.h:155
bool visit_enter(Surface *s) override
Definition: geometry_visitor.h:134
bool visit_leave(Geometry *) override
Leaves a compound geometry.
Definition: geometry_visitor.h:189
bool visit_enter(Geometry *) override
Enters a compound geometry.
Definition: geometry_visitor.h:124
bool visit(Multipoint *mpt) override
Definition: geometry_visitor.h:173
bool visit_leave(Linearring *lr) override
Definition: geometry_visitor.h:196
bool visit(Linestring *ls) override
Definition: geometry_visitor.h:162
bool visit_leave(Multipoint *mpt) override
Definition: geometry_visitor.h:208
bool visit_leave(Polygon *py) override
Definition: geometry_visitor.h:202
bool visit(Point *pt) override
Definition: geometry_visitor.h:160
bool visit(Multicurve *mc) override
Definition: geometry_visitor.h:176
bool visit(Surface *s) override
Definition: geometry_visitor.h:168
bool visit(Geometry *) override
Visits a geometry.
Definition: geometry_visitor.h:159
bool visit(Polygon *py) override
Definition: geometry_visitor.h:169
bool visit_leave(Multilinestring *mls) override
Definition: geometry_visitor.h:214
bool visit(Multilinestring *mls) override
Definition: geometry_visitor.h:179
bool visit(Multipolygon *mpy) override
Definition: geometry_visitor.h:185
bool visit_leave(Surface *s) override
Definition: geometry_visitor.h:199
bool visit(Multisurface *ms) override
Definition: geometry_visitor.h:182
bool visit_enter(Linestring *ls) override
Definition: geometry_visitor.h:128
bool visit_leave(Geometrycollection *gc) override
Definition: geometry_visitor.h:205
bool visit_enter(Curve *c) override
Definition: geometry_visitor.h:125
bool visit_enter(Multisurface *ms) override
Definition: geometry_visitor.h:152
bool visit(Curve *c) override
Definition: geometry_visitor.h:161
bool visit(Geometrycollection *gc) override
Definition: geometry_visitor.h:170
bool visit_enter(Multipoint *mpt) override
Definition: geometry_visitor.h:143
bool visit_leave(Linestring *ls) override
Definition: geometry_visitor.h:193
A 2d point.
Definition: geometries.h:150
A polygon consisting of an outer ring and zero or more interior rings defining holes in the polygon.
Definition: geometries.h:349
An abstract 2d surface.
Definition: geometries.h:335
This file declares the geometry class hierarchy used by the server as the internal representation of ...
plugin_messages_callback mc
Definition: webauthn_client_plugin.cc:55