MySQL 9.1.0
Source Code Documentation
|
A polygon consisting of an outer ring and zero or more interior rings defining holes in the polygon. More...
#include <geometries.h>
Public Member Functions | |
Geometry_type | type () const override |
Gets the geometry type of the object. More... | |
bool | accept (Geometry_visitor *v) override=0 |
Applies a hierarchical visitor to this geometry. More... | |
bool | is_empty () const override |
Check if this is an empty geometry. More... | |
Polygon * | clone () const override=0 |
virtual void | push_back (const Linearring &lr)=0 |
Adds a linear ring to the polygon. More... | |
virtual void | push_back (Linearring &&lr)=0 |
virtual bool | empty () const =0 |
Checks if the polygon is empty. More... | |
virtual std::size_t | size () const =0 |
Returns the size of the polygon. More... | |
virtual Linearring & | exterior_ring ()=0 |
Returns the exterior ring of the polygon. More... | |
virtual Linearring & | interior_ring (std::size_t n)=0 |
Returns an interior ring of the polygon. More... | |
Public Member Functions inherited from gis::Geometry | |
Geometry ()=default | |
virtual | ~Geometry ()=default |
Geometry (const Geometry &)=default | |
Geometry & | operator= (const Geometry &)=default |
virtual Coordinate_system | coordinate_system () const =0 |
Gets the coordinate system. More... | |
Static Public Member Functions | |
static Polygon * | create_polygon (Coordinate_system coordinate_system) |
Creates a subclass of Polygon from a Coordinate_system. More... | |
A polygon consisting of an outer ring and zero or more interior rings defining holes in the polygon.
Polygon is an instantiable type in SQL.
The interior rings must be inside the exterior ring (not enforced by the implementation).
|
overridepure virtual |
Applies a hierarchical visitor to this geometry.
v | A hierarchical visitor. |
true | The execution was aborted by the visitor. |
false | The execution completed. |
Implements gis::Surface.
Implemented in gis::Cartesian_polygon, and gis::Geographic_polygon.
|
overridepure virtual |
Implements gis::Geometry.
Implemented in gis::Cartesian_polygon, and gis::Geographic_polygon.
|
static |
Creates a subclass of Polygon from a Coordinate_system.
[in] | coordinate_system | Coordinate system to create a Polygon for. |
|
pure virtual |
Checks if the polygon is empty.
The polygon is considered empty if it has no rings.
true | The polygon is empty. |
false | The polygon is not empty. |
Implemented in gis::Cartesian_polygon, and gis::Geographic_polygon.
|
pure virtual |
Returns the exterior ring of the polygon.
Implemented in gis::Cartesian_polygon, and gis::Geographic_polygon.
|
pure virtual |
Returns an interior ring of the polygon.
n | Ring number, zero indexed. |
Implemented in gis::Cartesian_polygon, and gis::Geographic_polygon.
|
inlineoverridevirtual |
Check if this is an empty geometry.
The definition of empty geometries is the one in SFA-CA (OGC 06-103r4, Sect. 6.1.2.2), i.e., an empty point set.
true | The geometry represents the empty point set. |
false | The geometry represent a non-empty point set. |
Implements gis::Geometry.
|
pure virtual |
Adds a linear ring to the polygon.
The first ring will become the exterior ring. All following rings will be interior rings (holes).
lr | The linear ring to add. |
Implemented in gis::Cartesian_polygon, and gis::Geographic_polygon.
|
pure virtual |
Implemented in gis::Cartesian_polygon, and gis::Geographic_polygon.
|
pure virtual |
Returns the size of the polygon.
Implemented in gis::Cartesian_polygon, and gis::Geographic_polygon.
|
inlineoverridevirtual |