MySQL  8.0.25
Source Code Documentation
gis::Difference Class Reference

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

#include <difference_functor.h>

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

Public Member Functions

 Difference (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_linestring *g1, const Cartesian_multilinestring *g2) const
 
Geometryeval (const Cartesian_multipoint *g1, const Cartesian_multipoint *g2) const
 
Geometryeval (const Cartesian_multipoint *g1, const Cartesian_multilinestring *g2) const
 
Geometryeval (const Cartesian_multipoint *g1, const Cartesian_multipolygon *g2) const
 
Geometryeval (const Cartesian_multilinestring *g1, const Cartesian_multilinestring *g2) const
 
Geometryeval (const Cartesian_multilinestring *g1, const Cartesian_multipolygon *g2) const
 
Geometryeval (const Cartesian_multipolygon *g1, const Cartesian_multipolygon *g2) const
 
Geometryeval (const Geographic_linestring *g1, const Geographic_multilinestring *g2) const
 
Geometryeval (const Geographic_multipoint *g1, const Geographic_multipoint *g2) const
 
Geometryeval (const Geographic_multipoint *g1, const Geographic_multilinestring *g2) const
 
Geometryeval (const Geographic_multipoint *g1, const Geographic_multipolygon *g2) const
 
Geometryeval (const Geographic_multilinestring *g1, const Geographic_multilinestring *g2) const
 
Geometryeval (const Geographic_multilinestring *g1, const Geographic_multipolygon *g2) const
 
Geometryeval (const Geographic_multipolygon *g1, const Geographic_multipolygon *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

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

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

Constructor & Destructor Documentation

◆ Difference()

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

Member Function Documentation

◆ eval() [1/15]

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

◆ eval() [2/15]

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

◆ eval() [3/15]

Geometry * gis::Difference::eval ( const Cartesian_multilinestring g1,
const Cartesian_multipolygon g2 
) const

◆ eval() [4/15]

Geometry * gis::Difference::eval ( const Cartesian_multipoint g1,
const Cartesian_multilinestring g2 
) const

◆ eval() [5/15]

Geometry * gis::Difference::eval ( const Cartesian_multipoint g1,
const Cartesian_multipoint g2 
) const

◆ eval() [6/15]

Geometry * gis::Difference::eval ( const Cartesian_multipoint g1,
const Cartesian_multipolygon g2 
) const

◆ eval() [7/15]

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

◆ eval() [8/15]

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

◆ eval() [9/15]

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

◆ eval() [10/15]

Geometry * gis::Difference::eval ( const Geographic_multilinestring g1,
const Geographic_multipolygon g2 
) const

◆ eval() [11/15]

Geometry * gis::Difference::eval ( const Geographic_multipoint g1,
const Geographic_multilinestring g2 
) const

◆ eval() [12/15]

Geometry * gis::Difference::eval ( const Geographic_multipoint g1,
const Geographic_multipoint g2 
) const

◆ eval() [13/15]

Geometry * gis::Difference::eval ( const Geographic_multipoint g1,
const Geographic_multipolygon g2 
) const

◆ eval() [14/15]

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

◆ eval() [15/15]

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

◆ operator()()

Geometry * gis::Difference::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::Difference::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::Difference::m_geographic_pl_pa_strategy
private

Strategy used for P/L and P/A.

◆ m_semi_major

double gis::Difference::m_semi_major
private

Semi-major axis of ellipsoid.

◆ m_semi_minor

double gis::Difference::m_semi_minor
private

Semi-minor axis of ellipsoid.


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