MySQL 8.0.39
Source Code Documentation
|
A string of connected line segments. 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... | |
Linestring * | clone () const override=0 |
virtual void | push_back (const Point &pt)=0 |
Adds a point to the end of the linestring. More... | |
virtual void | push_back (Point &&pt)=0 |
virtual void | pop_front ()=0 |
Removes a point from the front of the linestring. More... | |
virtual bool | empty () const =0 |
Checks if the linestring is empty. More... | |
virtual std::size_t | size () const =0 |
Returns the size of (number of points in) the linestring. More... | |
virtual void | clear () noexcept=0 |
Removes all points from the linestring. More... | |
virtual Point & | back ()=0 |
Returns the last point of the linestring. More... | |
virtual const Point & | back () const =0 |
virtual Point & | front ()=0 |
Returns the first point of the linestring. More... | |
virtual const Point & | front () const =0 |
virtual Point & | operator[] (std::size_t i)=0 |
virtual const Point & | operator[] (std::size_t i) const =0 |
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 Linestring * | create_linestring (Coordinate_system coordinate_system) |
Creates a subclass of Linestring from a Coordinate_system. More... | |
A string of connected line segments.
Linestring is an instantiable type in SQL.
According to the SFA-CA, linestrings have a linear interpolation between points. In MySQL, a linestring represents the geodesic. On a plane, this is linear interpolation, but on an ellipsoid, it's the shortest path along the ellipsoid surface.
|
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::Curve.
Implemented in gis::Cartesian_linestring, gis::Geographic_linestring, gis::Cartesian_linearring, gis::Geographic_linearring, and gis::Linearring.
|
pure virtual |
Implemented in gis::Cartesian_linestring, gis::Geographic_linestring, gis::Cartesian_linearring, and gis::Geographic_linearring.
|
pure virtual |
Returns the last point of the linestring.
Implemented in gis::Cartesian_linestring, gis::Geographic_linestring, gis::Cartesian_linearring, and gis::Geographic_linearring.
|
pure virtualnoexcept |
Removes all points from the linestring.
Implemented in gis::Cartesian_linestring, gis::Geographic_linestring, gis::Cartesian_linearring, and gis::Geographic_linearring.
|
overridepure virtual |
Implements gis::Geometry.
Implemented in gis::Cartesian_linestring, gis::Geographic_linestring, gis::Cartesian_linearring, and gis::Geographic_linearring.
|
static |
Creates a subclass of Linestring from a Coordinate_system.
[in] | coordinate_system | Coordinate system to create a Linestring for. |
|
pure virtual |
Checks if the linestring is empty.
Here, the definition of empty is that the linestring does not contain any points. An invalid linestring with only one coordinate is not empty.
true | The linestring is empty. |
false | The linestring is not empty. |
Implemented in gis::Cartesian_linestring, gis::Geographic_linestring, gis::Cartesian_linearring, and gis::Geographic_linearring.
|
pure virtual |
Implemented in gis::Cartesian_linestring, gis::Geographic_linestring, gis::Cartesian_linearring, and gis::Geographic_linearring.
|
pure virtual |
Returns the first point of the linestring.
Implemented in gis::Cartesian_linestring, gis::Geographic_linestring, gis::Cartesian_linearring, and gis::Geographic_linearring.
|
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.
Reimplemented in gis::Cartesian_linearring, and gis::Geographic_linearring.
|
pure virtual |
Implemented in gis::Cartesian_linestring, gis::Geographic_linestring, gis::Cartesian_linearring, and gis::Geographic_linearring.
|
pure virtual |
Implemented in gis::Cartesian_linestring, gis::Geographic_linestring, gis::Cartesian_linearring, and gis::Geographic_linearring.
|
pure virtual |
Removes a point from the front of the linestring.
Implemented in gis::Cartesian_linestring, gis::Geographic_linestring, gis::Cartesian_linearring, and gis::Geographic_linearring.
|
pure virtual |
Adds a point to the end of the linestring.
pt | The point to add. |
Implemented in gis::Cartesian_linearring, gis::Geographic_linearring, gis::Cartesian_linestring, and gis::Geographic_linestring.
|
pure virtual |
Implemented in gis::Cartesian_linearring, gis::Geographic_linearring, gis::Cartesian_linestring, and gis::Geographic_linestring.
|
pure virtual |
Returns the size of (number of points in) the linestring.
Implemented in gis::Cartesian_linestring, gis::Geographic_linestring, gis::Cartesian_linearring, and gis::Geographic_linearring.
|
inlineoverridevirtual |
Gets the geometry type of the object.
Implements gis::Curve.
Reimplemented in gis::Cartesian_linearring, and gis::Geographic_linearring.