MySQL  8.0.25
Source Code Documentation
gis::Linearring Class Referenceabstract

A ring-shaped linestring. More...

#include <geometries.h>

Inheritance diagram for gis::Linearring:
gis::Linestring gis::Curve gis::Geometry gis::Cartesian_linearring gis::Geographic_linearring

Public Member Functions

bool accept (Geometry_visitor *v) override=0
 Applies a hierarchical visitor to this geometry. More...
 
- Public Member Functions inherited from gis::Linestring
Geometry_type type () const override
 Gets the geometry type of the object. More...
 
bool is_empty () const override
 Check if this is an empty geometry. More...
 
Linestringclone () 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 Pointback ()=0
 Returns the last point of the linestring. More...
 
virtual const Pointback () const =0
 
virtual Pointfront ()=0
 Returns the first point of the linestring. More...
 
virtual const Pointfront () const =0
 
virtual Pointoperator[] (std::size_t i)=0
 
virtual const Pointoperator[] (std::size_t i) const =0
 
- Public Member Functions inherited from gis::Geometry
 Geometry ()=default
 
virtual ~Geometry ()=default
 
 Geometry (const Geometry &)=default
 
Geometryoperator= (const Geometry &)=default
 
virtual Coordinate_system coordinate_system () const =0
 Gets the coordinate system. More...
 

Static Public Member Functions

static Linearringcreate_linearring (Coordinate_system coordinate_system)
 Creates a subclass of Linearring from a Coordinate_system. More...
 
- Static Public Member Functions inherited from gis::Linestring
static Linestringcreate_linestring (Coordinate_system coordinate_system)
 Creates a subclass of Linestring from a Coordinate_system. More...
 

Detailed Description

A ring-shaped linestring.

Linearring is a non-instantiable type in SQL. It is used to represent polygon rings.

The start and end point of the linestring must be the same (assumed, but not enforced, by the implementation).

Member Function Documentation

◆ accept()

bool gis::Linearring::accept ( Geometry_visitor v)
overridepure virtual

Applies a hierarchical visitor to this geometry.

See also
gis::Geometry_visitor
Parameters
vA hierarchical visitor.
Return values
trueThe execution was aborted by the visitor.
falseThe execution completed.

Implements gis::Linestring.

Implemented in gis::Geographic_linearring, and gis::Cartesian_linearring.

◆ create_linearring()

Linearring * gis::Linearring::create_linearring ( Coordinate_system  coordinate_system)
static

Creates a subclass of Linearring from a Coordinate_system.

Parameters
[in]coordinate_systemCoordinate system to create a Linearring for.
Returns
A pointer to a Linearring that caller must free when it is done with it.

The documentation for this class was generated from the following files: