![]() |
MySQL 8.0.43
Source Code Documentation
|
A collection of geometries. 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... | |
| virtual void | push_back (const Geometry &g)=0 |
| Adds a geometry to the collection. More... | |
| virtual void | push_back (Geometry &&g)=0 |
| virtual void | pop_front ()=0 |
| Removes a geometry from the front of the collection. More... | |
| virtual bool | empty () const =0 |
| Checks if the collection is empty. More... | |
| virtual std::size_t | size () const =0 |
| Returns the size of the geometrycollection. More... | |
| virtual void | resize (std::size_t count)=0 |
| Resizes the geometrycollection to contain a given number of elements. More... | |
| virtual void | clear () noexcept=0 |
| Removes all geometries from the geometrycollection. More... | |
| virtual Geometry & | front ()=0 |
| Returns the first geometry of the collection. More... | |
| virtual const Geometry & | front () const =0 |
| virtual Geometry & | operator[] (std::size_t i)=0 |
| virtual const Geometry & | operator[] (std::size_t i) const =0 |
| Geometrycollection * | clone () const override=0 |
| Clone pattern to easily duplicate a Geometrycollection. 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... | |
| virtual bool | is_empty () const =0 |
| Check if this is an empty geometry. More... | |
Static Public Member Functions | |
| static Geometrycollection * | CreateGeometrycollection (Coordinate_system coordinate_system) |
| Creates a subclass of Geometrycollection from a Coordinate_system. More... | |
| static Geometrycollection * | create_geometrycollection (Coordinate_system coordinate_system) |
| Creates a subclass from a Coordinate_system. More... | |
A collection of geometries.
Geometrycollection is an instantiable type in SQL. It is the only instantiable non-leaf geometry type.
The Geometrycollection class places no restrictions on type, overlapping, etc. Subclasses do.
|
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::Geometry.
Implemented in gis::Cartesian_geometrycollection, gis::Geographic_geometrycollection, gis::Cartesian_multipoint, gis::Geographic_multipoint, gis::Cartesian_multilinestring, gis::Geographic_multilinestring, gis::Cartesian_multipolygon, gis::Geographic_multipolygon, gis::Multipoint, gis::Multicurve, gis::Multilinestring, gis::Multisurface, and gis::Multipolygon.
|
pure virtualnoexcept |
Removes all geometries from the geometrycollection.
Implemented in gis::Cartesian_geometrycollection, gis::Geographic_geometrycollection, gis::Cartesian_multipoint, gis::Geographic_multipoint, gis::Cartesian_multilinestring, gis::Geographic_multilinestring, gis::Cartesian_multipolygon, and gis::Geographic_multipolygon.
|
overridepure virtual |
Clone pattern to easily duplicate a Geometrycollection.
Implements gis::Geometry.
Implemented in gis::Cartesian_geometrycollection, gis::Geographic_geometrycollection, gis::Cartesian_multipoint, gis::Geographic_multipoint, gis::Cartesian_multilinestring, gis::Geographic_multilinestring, gis::Cartesian_multipolygon, gis::Geographic_multipolygon, gis::Multipoint, gis::Multilinestring, and gis::Multipolygon.
|
static |
Creates a subclass from a Coordinate_system.
| [in] | coordinate_system | Coordinate system to create a geometrycollection for |
|
static |
Creates a subclass of Geometrycollection from a Coordinate_system.
| [in] | coordinate_system | Coordinate system to create a Geometrycollection for. |
|
pure virtual |
Checks if the collection is empty.
| true | The polygon is empty. |
| false | The polygon is not empty. |
Implemented in gis::Cartesian_geometrycollection, gis::Geographic_geometrycollection, gis::Cartesian_multipoint, gis::Geographic_multipoint, gis::Cartesian_multilinestring, gis::Geographic_multilinestring, gis::Cartesian_multipolygon, and gis::Geographic_multipolygon.
|
pure virtual |
Implemented in gis::Cartesian_geometrycollection, gis::Geographic_geometrycollection, gis::Cartesian_multipoint, gis::Geographic_multipoint, gis::Cartesian_multilinestring, gis::Geographic_multilinestring, gis::Cartesian_multipolygon, gis::Geographic_multipolygon, gis::Multipoint, gis::Multilinestring, and gis::Multipolygon.
|
pure virtual |
Returns the first geometry of the collection.
Implemented in gis::Cartesian_geometrycollection, gis::Geographic_geometrycollection, gis::Cartesian_multipoint, gis::Geographic_multipoint, gis::Cartesian_multilinestring, gis::Geographic_multilinestring, gis::Cartesian_multipolygon, gis::Geographic_multipolygon, gis::Multipoint, gis::Multilinestring, and gis::Multipolygon.
|
pure virtual |
|
pure virtual |
|
pure virtual |
Removes a geometry from the front of the collection.
Implemented in gis::Cartesian_geometrycollection, gis::Geographic_geometrycollection, gis::Cartesian_multipoint, gis::Geographic_multipoint, gis::Cartesian_multilinestring, gis::Geographic_multilinestring, gis::Cartesian_multipolygon, and gis::Geographic_multipolygon.
|
pure virtual |
Adds a geometry to the collection.
| g | The geometry to add. |
Implemented in gis::Cartesian_geometrycollection, gis::Geographic_geometrycollection, gis::Cartesian_multipoint, gis::Geographic_multipoint, gis::Cartesian_multilinestring, gis::Geographic_multilinestring, gis::Cartesian_multipolygon, and gis::Geographic_multipolygon.
|
pure virtual |
|
pure virtual |
Resizes the geometrycollection to contain a given number of elements.
If the new size is smaller than the current size, the remaining geometries are discarded.
| [in] | count | The new number of geometries. |
Implemented in gis::Cartesian_geometrycollection, gis::Geographic_geometrycollection, gis::Cartesian_multipoint, gis::Geographic_multipoint, gis::Cartesian_multilinestring, gis::Geographic_multilinestring, gis::Cartesian_multipolygon, and gis::Geographic_multipolygon.
|
pure virtual |
Returns the size of the geometrycollection.
Implemented in gis::Cartesian_geometrycollection, gis::Geographic_geometrycollection, gis::Cartesian_multipoint, gis::Geographic_multipoint, gis::Cartesian_multilinestring, gis::Geographic_multilinestring, gis::Cartesian_multipolygon, and gis::Geographic_multipolygon.
|
inlineoverridevirtual |
Gets the geometry type of the object.
Implements gis::Geometry.
Reimplemented in gis::Multipoint, gis::Multilinestring, gis::Multipolygon, gis::Multicurve, and gis::Multisurface.