MySQL 8.0.39
Source Code Documentation
|
A geographic (ellipsoidal) 2d polygon. More...
#include <geometries_cs.h>
Public Member Functions | |
Geographic_polygon () | |
Coordinate_system | coordinate_system () const override |
Gets the coordinate system. More... | |
bool | accept (Geometry_visitor *v) override |
Applies a hierarchical visitor to this geometry. More... | |
void | push_back (const Linearring &lr) override |
Adds a linear ring to the polygon. More... | |
void | push_back (Linearring &&lr) override |
bool | empty () const override |
Checks if the polygon is empty. More... | |
Geographic_polygon * | clone () const override |
decltype(m_interior_rings) & | interior_rings () |
Get list of interior rings. More... | |
decltype(m_interior_rings) const & | const_interior_rings () const |
Get list of interior rings. More... | |
std::size_t | size () const override |
Returns the size of the polygon. More... | |
Geographic_linearring & | geographic_exterior_ring () const |
Get the exterior ring. More... | |
Linearring & | exterior_ring () override |
Returns the exterior ring of the polygon. More... | |
Linearring & | interior_ring (std::size_t n) override |
Returns an interior ring of the polygon. More... | |
Public Member Functions inherited from gis::Polygon | |
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... | |
Public Member Functions inherited from gis::Geometry | |
Geometry ()=default | |
virtual | ~Geometry ()=default |
Geometry (const Geometry &)=default | |
Geometry & | operator= (const Geometry &)=default |
Private Attributes | |
Geographic_linearring | m_exterior_ring |
Exterior ring. More... | |
std::vector< Geographic_linearring, Malloc_allocator< Geographic_linearring > > | m_interior_rings |
Interior rings (holes). More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from gis::Polygon | |
static Polygon * | create_polygon (Coordinate_system coordinate_system) |
Creates a subclass of Polygon from a Coordinate_system. More... | |
A geographic (ellipsoidal) 2d polygon.
|
inline |
|
overridevirtual |
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::Polygon.
|
inlineoverridevirtual |
Implements gis::Polygon.
decltype(m_interior_rings) const & gis::Geographic_polygon::const_interior_rings | ( | ) | const |
Get list of interior rings.
This function is used by the interface to Boost.Geometry.
|
inlineoverridevirtual |
|
overridevirtual |
Checks if the polygon is empty.
The polygon is considered empty if it has no rings.
true | The polygon is empty. |
false | The polygon is not empty. |
Implements gis::Polygon.
|
inlineoverridevirtual |
Returns the exterior ring of the polygon.
Implements gis::Polygon.
Geographic_linearring & gis::Geographic_polygon::geographic_exterior_ring | ( | ) | const |
Get the exterior ring.
This function is used by the interface to Boost.Geometry.
|
overridevirtual |
Returns an interior ring of the polygon.
n | Ring number, zero indexed. |
Implements gis::Polygon.
decltype(m_interior_rings) & gis::Geographic_polygon::interior_rings | ( | ) |
Get list of interior rings.
This function is used by the interface to Boost.Geometry.
|
overridevirtual |
Adds a linear ring to the polygon.
The first ring will become the exterior ring. All following rings will be interior rings (holes).
lr | The linear ring to add. |
Implements gis::Polygon.
|
overridevirtual |
Implements gis::Polygon.
|
overridevirtual |
Returns the size of the polygon.
Implements gis::Polygon.
|
private |
Exterior ring.
|
private |
Interior rings (holes).