MySQL  8.0.22
Source Code Documentation
gis::Union Class Reference

Union functor that calls Boost.Geometry with the correct parameter types. More...

#include <union_functor.h>

Inheritance diagram for gis::Union:
gis::Functor< Geometry *>

Public Member Functions

 Union (double semi_major, double semi_minor)
 
Geometryoperator() (const Geometry *g1, const Geometry *g2) const override
 
Geometryeval (const Geometry *g1, const Geometry *g2) const
 
Geometryeval (const Cartesian_multilinestring *g1, const Cartesian_linestring *g2) const
 
Geometryeval (const Cartesian_multipolygon *g1, const Cartesian_polygon *g2) const
 
Geometryeval (const Geographic_multilinestring *g1, const Geographic_linestring *g2) const
 
Geometryeval (const Geographic_multipolygon *g1, const Geographic_polygon *g2) const
 
- Public Member Functions inherited from gis::Functor< Geometry *>
virtual ~Functor ()
 

Private Attributes

double m_semi_major
 Semi-major axis of ellipsoid. More...
 
double m_semi_minor
 Semi-minor axis of ellipsoid. More...
 
boost::geometry::strategy::within::geographic_winding< Geographic_pointm_geographic_pl_pa_strategy
 Strategy used for P/L and P/A. More...
 
boost::geometry::strategy::intersection::geographic_segments m_geographic_ll_la_aa_strategy
 Strategy used for L/L, L/A and A/A. More...
 

Additional Inherited Members

- Static Protected Member Functions inherited from gis::Functor< Geometry *>
static Geometryapply (F &f, const Geometry *g1, const Geometry *g2)
 

Detailed Description

Union functor that calls Boost.Geometry with the correct parameter types.

The functor throws exceptions and is therefore only intended used to implement union or other geographic functions. It should not be used directly by other MySQL code.

Constructor & Destructor Documentation

◆ Union()

gis::Union::Union ( double  semi_major,
double  semi_minor 
)

Member Function Documentation

◆ eval() [1/5]

Geometry * gis::Union::eval ( const Geometry g1,
const Geometry g2 
) const

◆ eval() [2/5]

Geometry * gis::Union::eval ( const Cartesian_multilinestring g1,
const Cartesian_linestring g2 
) const

◆ eval() [3/5]

Geometry * gis::Union::eval ( const Cartesian_multipolygon g1,
const Cartesian_polygon g2 
) const

◆ eval() [4/5]

Geometry * gis::Union::eval ( const Geographic_multilinestring g1,
const Geographic_linestring g2 
) const

◆ eval() [5/5]

Geometry * gis::Union::eval ( const Geographic_multipolygon g1,
const Geographic_polygon g2 
) const

◆ operator()()

Geometry * gis::Union::operator() ( const Geometry g1,
const Geometry g2 
) const
overridevirtual

Member Data Documentation

◆ m_geographic_ll_la_aa_strategy

boost::geometry::strategy::intersection::geographic_segments gis::Union::m_geographic_ll_la_aa_strategy
private

Strategy used for L/L, L/A and A/A.

◆ m_geographic_pl_pa_strategy

boost::geometry::strategy::within::geographic_winding<Geographic_point> gis::Union::m_geographic_pl_pa_strategy
private

Strategy used for P/L and P/A.

◆ m_semi_major

double gis::Union::m_semi_major
private

Semi-major axis of ellipsoid.

◆ m_semi_minor

double gis::Union::m_semi_minor
private

Semi-minor axis of ellipsoid.


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