![]() |
MySQL 8.0.43
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.