MySQL 8.0.40
Source Code Documentation
|
Intersection functor that calls Boost.Geometry with the correct parameter types. More...
#include <intersection_functor.h>
Public Member Functions | |
Intersection (double semi_major, double semi_minor) | |
double | semi_minor () const |
double | semi_major () const |
std::unique_ptr< Geometry > | operator() (const Geometry *g1, const Geometry *g2) const override |
std::unique_ptr< Geometry > | eval (const Geometry *g1, const Geometry *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_point *g1, const Cartesian_point *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_point *g1, const Cartesian_linestring *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_point *g1, const Cartesian_polygon *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_point *g1, const Cartesian_multipoint *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_point *g1, const Cartesian_multilinestring *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_point *g1, const Cartesian_multipolygon *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_linestring *g1, const Cartesian_point *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_linestring *g1, const Cartesian_linestring *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_linestring *g1, const Cartesian_polygon *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_linestring *g1, const Cartesian_multipoint *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_linestring *g1, const Cartesian_multilinestring *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_linestring *g1, const Cartesian_multipolygon *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_polygon *g1, const Cartesian_point *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_polygon *g1, const Cartesian_linestring *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_polygon *g1, const Cartesian_polygon *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_polygon *g1, const Cartesian_multipoint *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_polygon *g1, const Cartesian_multilinestring *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_polygon *g1, const Cartesian_multipolygon *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_geometrycollection *g1, const Geometry *g2) const |
std::unique_ptr< Geometry > | eval (const Geometry *g1, const Cartesian_geometrycollection *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_geometrycollection *g1, const Cartesian_geometrycollection *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_multipoint *g1, const Cartesian_point *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_multipoint *g1, const Cartesian_linestring *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_multipoint *g1, const Cartesian_polygon *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_multipoint *g1, const Cartesian_multipoint *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_multipoint *g1, const Cartesian_multilinestring *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_multipoint *g1, const Cartesian_multipolygon *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_multilinestring *g1, const Cartesian_point *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_multilinestring *g1, const Cartesian_linestring *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_multilinestring *g1, const Cartesian_polygon *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_multilinestring *g1, const Cartesian_multipoint *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_multilinestring *g1, const Cartesian_multilinestring *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_multilinestring *g1, const Cartesian_multipolygon *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_multipolygon *g1, const Cartesian_point *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_multipolygon *g1, const Cartesian_linestring *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_multipolygon *g1, const Cartesian_polygon *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_multipolygon *g1, const Cartesian_multipoint *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_multipolygon *g1, const Cartesian_multilinestring *g2) const |
std::unique_ptr< Geometry > | eval (const Cartesian_multipolygon *g1, const Cartesian_multipolygon *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_point *g1, const Geographic_point *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_point *g1, const Geographic_linestring *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_point *g1, const Geographic_polygon *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_point *g1, const Geographic_multipoint *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_point *g1, const Geographic_multilinestring *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_point *g1, const Geographic_multipolygon *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_linestring *g1, const Geographic_point *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_linestring *g1, const Geographic_linestring *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_linestring *g1, const Geographic_polygon *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_linestring *g1, const Geographic_multipoint *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_linestring *g1, const Geographic_multilinestring *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_linestring *g1, const Geographic_multipolygon *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_polygon *g1, const Geographic_point *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_polygon *g1, const Geographic_linestring *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_polygon *g1, const Geographic_polygon *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_polygon *g1, const Geographic_multipoint *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_polygon *g1, const Geographic_multilinestring *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_polygon *g1, const Geographic_multipolygon *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_geometrycollection *g1, const Geographic_geometrycollection *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_geometrycollection *g1, const Geometry *g2) const |
std::unique_ptr< Geometry > | eval (const Geometry *g1, const Geographic_geometrycollection *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_multipoint *g1, const Geographic_point *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_multipoint *g1, const Geographic_linestring *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_multipoint *g1, const Geographic_polygon *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_multipoint *g1, const Geographic_multipoint *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_multipoint *g1, const Geographic_multilinestring *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_multipoint *g1, const Geographic_multipolygon *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_multilinestring *g1, const Geographic_point *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_multilinestring *g1, const Geographic_linestring *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_multilinestring *g1, const Geographic_polygon *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_multilinestring *g1, const Geographic_multipoint *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_multilinestring *g1, const Geographic_multilinestring *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_multilinestring *g1, const Geographic_multipolygon *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_multipolygon *g1, const Geographic_point *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_multipolygon *g1, const Geographic_linestring *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_multipolygon *g1, const Geographic_polygon *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_multipolygon *g1, const Geographic_multipoint *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_multipolygon *g1, const Geographic_multilinestring *g2) const |
std::unique_ptr< Geometry > | eval (const Geographic_multipolygon *g1, const Geographic_multipolygon *g2) const |
Public Member Functions inherited from gis::Functor< std::unique_ptr< Geometry > > | |
virtual | ~Functor ()=default |
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_point > | m_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< std::unique_ptr< Geometry > > | |
static std::unique_ptr< Geometry > | apply (F &f, const Geometry *g1, const Geometry *g2) |
Intersection functor that calls Boost.Geometry with the correct parameter types.
The functor throws exceptions and is therefore only intended used to implement intersection or other geographic functions. It should not be used directly by other MySQL code.
gis::Intersection::Intersection | ( | double | semi_major, |
double | semi_minor | ||
) |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_geometrycollection * | g1, |
const Cartesian_geometrycollection * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_geometrycollection * | g1, |
const Geometry * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_linestring * | g1, |
const Cartesian_linestring * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_linestring * | g1, |
const Cartesian_multilinestring * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_linestring * | g1, |
const Cartesian_multipoint * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_linestring * | g1, |
const Cartesian_multipolygon * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_linestring * | g1, |
const Cartesian_point * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_linestring * | g1, |
const Cartesian_polygon * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_multilinestring * | g1, |
const Cartesian_linestring * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_multilinestring * | g1, |
const Cartesian_multilinestring * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_multilinestring * | g1, |
const Cartesian_multipoint * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_multilinestring * | g1, |
const Cartesian_multipolygon * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_multilinestring * | g1, |
const Cartesian_point * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_multilinestring * | g1, |
const Cartesian_polygon * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_multipoint * | g1, |
const Cartesian_linestring * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_multipoint * | g1, |
const Cartesian_multilinestring * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_multipoint * | g1, |
const Cartesian_multipoint * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_multipoint * | g1, |
const Cartesian_multipolygon * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_multipoint * | g1, |
const Cartesian_point * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_multipoint * | g1, |
const Cartesian_polygon * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_multipolygon * | g1, |
const Cartesian_linestring * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_multipolygon * | g1, |
const Cartesian_multilinestring * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_multipolygon * | g1, |
const Cartesian_multipoint * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_multipolygon * | g1, |
const Cartesian_multipolygon * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_multipolygon * | g1, |
const Cartesian_point * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_multipolygon * | g1, |
const Cartesian_polygon * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_point * | g1, |
const Cartesian_linestring * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_point * | g1, |
const Cartesian_multilinestring * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_point * | g1, |
const Cartesian_multipoint * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_point * | g1, |
const Cartesian_multipolygon * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_point * | g1, |
const Cartesian_point * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_point * | g1, |
const Cartesian_polygon * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_polygon * | g1, |
const Cartesian_linestring * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_polygon * | g1, |
const Cartesian_multilinestring * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_polygon * | g1, |
const Cartesian_multipoint * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_polygon * | g1, |
const Cartesian_multipolygon * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_polygon * | g1, |
const Cartesian_point * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Cartesian_polygon * | g1, |
const Cartesian_polygon * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_geometrycollection * | g1, |
const Geographic_geometrycollection * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_geometrycollection * | g1, |
const Geometry * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_linestring * | g1, |
const Geographic_linestring * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_linestring * | g1, |
const Geographic_multilinestring * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_linestring * | g1, |
const Geographic_multipoint * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_linestring * | g1, |
const Geographic_multipolygon * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_linestring * | g1, |
const Geographic_point * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_linestring * | g1, |
const Geographic_polygon * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_multilinestring * | g1, |
const Geographic_linestring * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_multilinestring * | g1, |
const Geographic_multilinestring * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_multilinestring * | g1, |
const Geographic_multipoint * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_multilinestring * | g1, |
const Geographic_multipolygon * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_multilinestring * | g1, |
const Geographic_point * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_multilinestring * | g1, |
const Geographic_polygon * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_multipoint * | g1, |
const Geographic_linestring * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_multipoint * | g1, |
const Geographic_multilinestring * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_multipoint * | g1, |
const Geographic_multipoint * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_multipoint * | g1, |
const Geographic_multipolygon * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_multipoint * | g1, |
const Geographic_point * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_multipoint * | g1, |
const Geographic_polygon * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_multipolygon * | g1, |
const Geographic_linestring * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_multipolygon * | g1, |
const Geographic_multilinestring * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_multipolygon * | g1, |
const Geographic_multipoint * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_multipolygon * | g1, |
const Geographic_multipolygon * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_multipolygon * | g1, |
const Geographic_point * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_multipolygon * | g1, |
const Geographic_polygon * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_point * | g1, |
const Geographic_linestring * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_point * | g1, |
const Geographic_multilinestring * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_point * | g1, |
const Geographic_multipoint * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_point * | g1, |
const Geographic_multipolygon * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_point * | g1, |
const Geographic_point * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_point * | g1, |
const Geographic_polygon * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_polygon * | g1, |
const Geographic_linestring * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_polygon * | g1, |
const Geographic_multilinestring * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_polygon * | g1, |
const Geographic_multipoint * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_polygon * | g1, |
const Geographic_multipolygon * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_polygon * | g1, |
const Geographic_point * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geographic_polygon * | g1, |
const Geographic_polygon * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geometry * | g1, |
const Cartesian_geometrycollection * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geometry * | g1, |
const Geographic_geometrycollection * | g2 | ||
) | const |
std::unique_ptr< Geometry > gis::Intersection::eval | ( | const Geometry * | g1, |
const Geometry * | g2 | ||
) | const |
|
overridevirtual |
Implements gis::Functor< std::unique_ptr< Geometry > >.
|
inline |
|
inline |
|
private |
Strategy used for L/L, L/A and A/A.
|
private |
Strategy used for P/L and P/A.
|
private |
Semi-major axis of ellipsoid.
|
private |
Semi-minor axis of ellipsoid.