MySQL 8.4.2
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.