MySQL 9.1.0
Source Code Documentation
|
This file declares the geometry class hierarchy used by the server as the internal representation of geometries. More...
#include <cmath>
#include <cstdint>
Go to the source code of this file.
Classes | |
class | gis::Geometry |
Abstract superclass for all geometric objects. More... | |
class | gis::Point |
A 2d point. More... | |
class | gis::Curve |
An abstract 2d curve. More... | |
class | gis::Linestring |
A string of connected line segments. More... | |
class | gis::Linearring |
A ring-shaped linestring. More... | |
class | gis::Surface |
An abstract 2d surface. More... | |
class | gis::Polygon |
A polygon consisting of an outer ring and zero or more interior rings defining holes in the polygon. More... | |
class | gis::Geometrycollection |
A collection of geometries. More... | |
class | gis::Multipoint |
A collection of points. More... | |
class | gis::Multicurve |
An abstract collection of curves. More... | |
class | gis::Multilinestring |
A collection of linestrings. More... | |
class | gis::Multisurface |
An abstract collection of surfaces. More... | |
class | gis::Multipolygon |
A collection of polygons. More... | |
Namespaces | |
namespace | gis |
Enumerations | |
enum class | gis::Geometry_type : std::uint32_t { gis::kGeometry = 0 , gis::kPoint = 1 , gis::kLinestring = 2 , gis::kPolygon = 3 , gis::kMultipoint = 4 , gis::kMultilinestring = 5 , gis::kMultipolygon = 6 , gis::kGeometrycollection = 7 } |
Types of geometry objects. More... | |
enum class | gis::Coordinate_system { gis::kCartesian = 0 , gis::kGeographic = 1 } |
Types of coordinate systems. More... | |
enum class | gis::Ring_direction { gis::kCW = 0 , gis::kCCW = 1 , gis::kUnknown = 2 } |
Direction of a ring. More... | |
Functions | |
bool | gis::operator< (const Point &lhs, const Point &rhs) |
Compares two points. More... | |
const char * | gis::type_to_name (Geometry_type type) |
Get the type name string corresponding to a geometry type. More... | |
This file declares the geometry class hierarchy used by the server as the internal representation of geometries.
The hierarchy is closely modelled after the hierarchy in SFA-CA (OGC 06-103r4), but since Boost.Geometry depends on type traits to know if a geometry is in a Cartesian or geographic SRS, there are Cartesian and geographic specializations of each instantiable type in the SFA-CA. These are defined in geometries_cs.h.
Because of Boost.Geometry, iterators have to be of coordinate system specific types. It is therefore not possible to have the standard begin() and end() iterators in the common superclass. Instead, operator[] is provided as a coordinate system agnostic option.