MySQL 8.4.2
Source Code Documentation
gis::Geometry Class Referenceabstract

Abstract superclass for all geometric objects. More...

#include <geometries.h>

Inheritance diagram for gis::Geometry:
[legend]

Public Member Functions

 Geometry ()=default
 
virtual ~Geometry ()=default
 
 Geometry (const Geometry &)=default
 
Geometryoperator= (const Geometry &)=default
 
virtual Geometryclone () const =0
 
virtual Geometry_type type () const =0
 Gets the geometry type of the object. More...
 
virtual Coordinate_system coordinate_system () const =0
 Gets the coordinate system. More...
 
virtual bool accept (Geometry_visitor *v)=0
 Applies a hierarchical visitor to this geometry. More...
 
virtual bool is_empty () const =0
 Check if this is an empty geometry. More...
 

Detailed Description

Abstract superclass for all geometric objects.

Geometry is a non-instantiable type in SQL.

The hierarchy is first divided into abstract classes according to the SFA-CA geometry type hierarchy, and then divided into concrete subclasses for each coordinate system.

Constructor & Destructor Documentation

◆ Geometry() [1/2]

gis::Geometry::Geometry ( )
default

◆ ~Geometry()

virtual gis::Geometry::~Geometry ( )
virtualdefault

◆ Geometry() [2/2]

gis::Geometry::Geometry ( const Geometry )
default

Member Function Documentation

◆ accept()

◆ clone()

◆ coordinate_system()

◆ is_empty()

virtual bool gis::Geometry::is_empty ( ) const
pure virtual

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.

Note
This is different from the function "empty", which returns true if a geometry contains no subgeometries. E.g., a geometry collection may contain another geometry collection which is empty. In this case, the "empty" function would return false on the outermost geometry collection, while "is_empty" would return true.
Return values
trueThe geometry represents the empty point set.
falseThe geometry represent a non-empty point set.

Implemented in gis::Point, gis::Linestring, gis::Polygon, gis::Cartesian_linearring, gis::Geographic_linearring, 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.

◆ operator=()

Geometry & gis::Geometry::operator= ( const Geometry )
default

◆ type()

virtual Geometry_type gis::Geometry::type ( ) const
pure virtual

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