MySQL 8.4.2
Source Code Documentation
gis::Intersects Class Reference

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

#include <intersects_functor.h>

Inheritance diagram for gis::Intersects:
[legend]

Public Member Functions

 Intersects (double semi_major, double semi_minor)
 Creates a new Intersects functor. More...
 
bool operator() (const Geometry *g1, const Geometry *g2) const override
 
bool operator() (const Box *b1, const Box *b2) const
 
bool eval (const Geometry *g1, const Geometry *g2) const
 
bool eval (const Cartesian_point *g1, const Cartesian_point *g2) const
 
bool eval (const Cartesian_point *g1, const Cartesian_linestring *g2) const
 
bool eval (const Cartesian_point *g1, const Cartesian_polygon *g2) const
 
bool eval (const Cartesian_point *g1, const Cartesian_geometrycollection *g2) const
 
bool eval (const Cartesian_point *g1, const Cartesian_multipoint *g2) const
 
bool eval (const Cartesian_point *g1, const Cartesian_multilinestring *g2) const
 
bool eval (const Cartesian_point *g1, const Cartesian_multipolygon *g2) const
 
bool eval (const Cartesian_linestring *g1, const Cartesian_point *g2) const
 
bool eval (const Cartesian_linestring *g1, const Cartesian_linestring *g2) const
 
bool eval (const Cartesian_linestring *g1, const Cartesian_polygon *g2) const
 
bool eval (const Cartesian_linestring *g1, const Cartesian_geometrycollection *g2) const
 
bool eval (const Cartesian_linestring *g1, const Cartesian_multipoint *g2) const
 
bool eval (const Cartesian_linestring *g1, const Cartesian_multilinestring *g2) const
 
bool eval (const Cartesian_linestring *g1, const Cartesian_multipolygon *g2) const
 
bool eval (const Cartesian_polygon *g1, const Cartesian_point *g2) const
 
bool eval (const Cartesian_polygon *g1, const Cartesian_linestring *g2) const
 
bool eval (const Cartesian_polygon *g1, const Cartesian_polygon *g2) const
 
bool eval (const Cartesian_polygon *g1, const Cartesian_geometrycollection *g2) const
 
bool eval (const Cartesian_polygon *g1, const Cartesian_multipoint *g2) const
 
bool eval (const Cartesian_polygon *g1, const Cartesian_multilinestring *g2) const
 
bool eval (const Cartesian_polygon *g1, const Cartesian_multipolygon *g2) const
 
bool eval (const Cartesian_geometrycollection *g1, const Geometry *g2) const
 
bool eval (const Cartesian_multipoint *g1, const Cartesian_point *g2) const
 
bool eval (const Cartesian_multipoint *g1, const Cartesian_linestring *g2) const
 
bool eval (const Cartesian_multipoint *g1, const Cartesian_polygon *g2) const
 
bool eval (const Cartesian_multipoint *g1, const Cartesian_geometrycollection *g2) const
 
bool eval (const Cartesian_multipoint *g1, const Cartesian_multipoint *g2) const
 
bool eval (const Cartesian_multipoint *g1, const Cartesian_multilinestring *g2) const
 
bool eval (const Cartesian_multipoint *g1, const Cartesian_multipolygon *g2) const
 
bool eval (const Cartesian_multilinestring *g1, const Cartesian_point *g2) const
 
bool eval (const Cartesian_multilinestring *g1, const Cartesian_linestring *g2) const
 
bool eval (const Cartesian_multilinestring *g1, const Cartesian_polygon *g2) const
 
bool eval (const Cartesian_multilinestring *g1, const Cartesian_geometrycollection *g2) const
 
bool eval (const Cartesian_multilinestring *g1, const Cartesian_multipoint *g2) const
 
bool eval (const Cartesian_multilinestring *g1, const Cartesian_multilinestring *g2) const
 
bool eval (const Cartesian_multilinestring *g1, const Cartesian_multipolygon *g2) const
 
bool eval (const Cartesian_multipolygon *g1, const Cartesian_point *g2) const
 
bool eval (const Cartesian_multipolygon *g1, const Cartesian_linestring *g2) const
 
bool eval (const Cartesian_multipolygon *g1, const Cartesian_polygon *g2) const
 
bool eval (const Cartesian_multipolygon *g1, const Cartesian_geometrycollection *g2) const
 
bool eval (const Cartesian_multipolygon *g1, const Cartesian_multipoint *g2) const
 
bool eval (const Cartesian_multipolygon *g1, const Cartesian_multilinestring *g2) const
 
bool eval (const Cartesian_multipolygon *g1, const Cartesian_multipolygon *g2) const
 
bool eval (const Geographic_point *g1, const Geographic_point *g2) const
 
bool eval (const Geographic_point *g1, const Geographic_linestring *g2) const
 
bool eval (const Geographic_point *g1, const Geographic_polygon *g2) const
 
bool eval (const Geographic_point *g1, const Geographic_geometrycollection *g2) const
 
bool eval (const Geographic_point *g1, const Geographic_multipoint *g2) const
 
bool eval (const Geographic_point *g1, const Geographic_multilinestring *g2) const
 
bool eval (const Geographic_point *g1, const Geographic_multipolygon *g2) const
 
bool eval (const Geographic_linestring *g1, const Geographic_point *g2) const
 
bool eval (const Geographic_linestring *g1, const Geographic_linestring *g2) const
 
bool eval (const Geographic_linestring *g1, const Geographic_polygon *g2) const
 
bool eval (const Geographic_linestring *g1, const Geographic_geometrycollection *g2) const
 
bool eval (const Geographic_linestring *g1, const Geographic_multipoint *g2) const
 
bool eval (const Geographic_linestring *g1, const Geographic_multilinestring *g2) const
 
bool eval (const Geographic_linestring *g1, const Geographic_multipolygon *g2) const
 
bool eval (const Geographic_polygon *g1, const Geographic_point *g2) const
 
bool eval (const Geographic_polygon *g1, const Geographic_linestring *g2) const
 
bool eval (const Geographic_polygon *g1, const Geographic_polygon *g2) const
 
bool eval (const Geographic_polygon *g1, const Geographic_geometrycollection *g2) const
 
bool eval (const Geographic_polygon *g1, const Geographic_multipoint *g2) const
 
bool eval (const Geographic_polygon *g1, const Geographic_multilinestring *g2) const
 
bool eval (const Geographic_polygon *g1, const Geographic_multipolygon *g2) const
 
bool eval (const Geographic_geometrycollection *g1, const Geometry *g2) const
 
bool eval (const Geographic_multipoint *g1, const Geographic_point *g2) const
 
bool eval (const Geographic_multipoint *g1, const Geographic_linestring *g2) const
 
bool eval (const Geographic_multipoint *g1, const Geographic_polygon *g2) const
 
bool eval (const Geographic_multipoint *g1, const Geographic_geometrycollection *g2) const
 
bool eval (const Geographic_multipoint *g1, const Geographic_multipoint *g2) const
 
bool eval (const Geographic_multipoint *g1, const Geographic_multilinestring *g2) const
 
bool eval (const Geographic_multipoint *g1, const Geographic_multipolygon *g2) const
 
bool eval (const Geographic_multilinestring *g1, const Geographic_point *g2) const
 
bool eval (const Geographic_multilinestring *g1, const Geographic_linestring *g2) const
 
bool eval (const Geographic_multilinestring *g1, const Geographic_polygon *g2) const
 
bool eval (const Geographic_multilinestring *g1, const Geographic_geometrycollection *g2) const
 
bool eval (const Geographic_multilinestring *g1, const Geographic_multipoint *g2) const
 
bool eval (const Geographic_multilinestring *g1, const Geographic_multilinestring *g2) const
 
bool eval (const Geographic_multilinestring *g1, const Geographic_multipolygon *g2) const
 
bool eval (const Geographic_multipolygon *g1, const Geographic_point *g2) const
 
bool eval (const Geographic_multipolygon *g1, const Geographic_linestring *g2) const
 
bool eval (const Geographic_multipolygon *g1, const Geographic_polygon *g2) const
 
bool eval (const Geographic_multipolygon *g1, const Geographic_geometrycollection *g2) const
 
bool eval (const Geographic_multipolygon *g1, const Geographic_multipoint *g2) const
 
bool eval (const Geographic_multipolygon *g1, const Geographic_multilinestring *g2) const
 
bool eval (const Geographic_multipolygon *g1, const Geographic_multipolygon *g2) const
 
bool eval (const Cartesian_box *b1, const Cartesian_box *b2) const
 
bool eval (const Geographic_box *b1, const Geographic_box *b2) const
 
- Public Member Functions inherited from gis::Functor< bool >
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_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< bool >
static bool apply (F &f, const Geometry *g1, const Geometry *g2)
 

Detailed Description

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

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

Constructor & Destructor Documentation

◆ Intersects()

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

Creates a new Intersects functor.

Parameters
semi_majorSemi-major axis of ellipsoid.
semi_minorSemi-minor axis of ellipsoid.

Member Function Documentation

◆ eval() [1/89]

bool gis::Intersects::eval ( const Cartesian_box b1,
const Cartesian_box b2 
) const

◆ eval() [2/89]

bool gis::Intersects::eval ( const Cartesian_geometrycollection g1,
const Geometry g2 
) const

◆ eval() [3/89]

bool gis::Intersects::eval ( const Cartesian_linestring g1,
const Cartesian_geometrycollection g2 
) const

◆ eval() [4/89]

bool gis::Intersects::eval ( const Cartesian_linestring g1,
const Cartesian_linestring g2 
) const

◆ eval() [5/89]

bool gis::Intersects::eval ( const Cartesian_linestring g1,
const Cartesian_multilinestring g2 
) const

◆ eval() [6/89]

bool gis::Intersects::eval ( const Cartesian_linestring g1,
const Cartesian_multipoint g2 
) const

◆ eval() [7/89]

bool gis::Intersects::eval ( const Cartesian_linestring g1,
const Cartesian_multipolygon g2 
) const

◆ eval() [8/89]

bool gis::Intersects::eval ( const Cartesian_linestring g1,
const Cartesian_point g2 
) const

◆ eval() [9/89]

bool gis::Intersects::eval ( const Cartesian_linestring g1,
const Cartesian_polygon g2 
) const

◆ eval() [10/89]

bool gis::Intersects::eval ( const Cartesian_multilinestring g1,
const Cartesian_geometrycollection g2 
) const

◆ eval() [11/89]

bool gis::Intersects::eval ( const Cartesian_multilinestring g1,
const Cartesian_linestring g2 
) const

◆ eval() [12/89]

bool gis::Intersects::eval ( const Cartesian_multilinestring g1,
const Cartesian_multilinestring g2 
) const

◆ eval() [13/89]

bool gis::Intersects::eval ( const Cartesian_multilinestring g1,
const Cartesian_multipoint g2 
) const

◆ eval() [14/89]

bool gis::Intersects::eval ( const Cartesian_multilinestring g1,
const Cartesian_multipolygon g2 
) const

◆ eval() [15/89]

bool gis::Intersects::eval ( const Cartesian_multilinestring g1,
const Cartesian_point g2 
) const

◆ eval() [16/89]

bool gis::Intersects::eval ( const Cartesian_multilinestring g1,
const Cartesian_polygon g2 
) const

◆ eval() [17/89]

bool gis::Intersects::eval ( const Cartesian_multipoint g1,
const Cartesian_geometrycollection g2 
) const

◆ eval() [18/89]

bool gis::Intersects::eval ( const Cartesian_multipoint g1,
const Cartesian_linestring g2 
) const

◆ eval() [19/89]

bool gis::Intersects::eval ( const Cartesian_multipoint g1,
const Cartesian_multilinestring g2 
) const

◆ eval() [20/89]

bool gis::Intersects::eval ( const Cartesian_multipoint g1,
const Cartesian_multipoint g2 
) const

◆ eval() [21/89]

bool gis::Intersects::eval ( const Cartesian_multipoint g1,
const Cartesian_multipolygon g2 
) const

◆ eval() [22/89]

bool gis::Intersects::eval ( const Cartesian_multipoint g1,
const Cartesian_point g2 
) const

◆ eval() [23/89]

bool gis::Intersects::eval ( const Cartesian_multipoint g1,
const Cartesian_polygon g2 
) const

◆ eval() [24/89]

bool gis::Intersects::eval ( const Cartesian_multipolygon g1,
const Cartesian_geometrycollection g2 
) const

◆ eval() [25/89]

bool gis::Intersects::eval ( const Cartesian_multipolygon g1,
const Cartesian_linestring g2 
) const

◆ eval() [26/89]

bool gis::Intersects::eval ( const Cartesian_multipolygon g1,
const Cartesian_multilinestring g2 
) const

◆ eval() [27/89]

bool gis::Intersects::eval ( const Cartesian_multipolygon g1,
const Cartesian_multipoint g2 
) const

◆ eval() [28/89]

bool gis::Intersects::eval ( const Cartesian_multipolygon g1,
const Cartesian_multipolygon g2 
) const

◆ eval() [29/89]

bool gis::Intersects::eval ( const Cartesian_multipolygon g1,
const Cartesian_point g2 
) const

◆ eval() [30/89]

bool gis::Intersects::eval ( const Cartesian_multipolygon g1,
const Cartesian_polygon g2 
) const

◆ eval() [31/89]

bool gis::Intersects::eval ( const Cartesian_point g1,
const Cartesian_geometrycollection g2 
) const

◆ eval() [32/89]

bool gis::Intersects::eval ( const Cartesian_point g1,
const Cartesian_linestring g2 
) const

◆ eval() [33/89]

bool gis::Intersects::eval ( const Cartesian_point g1,
const Cartesian_multilinestring g2 
) const

◆ eval() [34/89]

bool gis::Intersects::eval ( const Cartesian_point g1,
const Cartesian_multipoint g2 
) const

◆ eval() [35/89]

bool gis::Intersects::eval ( const Cartesian_point g1,
const Cartesian_multipolygon g2 
) const

◆ eval() [36/89]

bool gis::Intersects::eval ( const Cartesian_point g1,
const Cartesian_point g2 
) const

◆ eval() [37/89]

bool gis::Intersects::eval ( const Cartesian_point g1,
const Cartesian_polygon g2 
) const

◆ eval() [38/89]

bool gis::Intersects::eval ( const Cartesian_polygon g1,
const Cartesian_geometrycollection g2 
) const

◆ eval() [39/89]

bool gis::Intersects::eval ( const Cartesian_polygon g1,
const Cartesian_linestring g2 
) const

◆ eval() [40/89]

bool gis::Intersects::eval ( const Cartesian_polygon g1,
const Cartesian_multilinestring g2 
) const

◆ eval() [41/89]

bool gis::Intersects::eval ( const Cartesian_polygon g1,
const Cartesian_multipoint g2 
) const

◆ eval() [42/89]

bool gis::Intersects::eval ( const Cartesian_polygon g1,
const Cartesian_multipolygon g2 
) const

◆ eval() [43/89]

bool gis::Intersects::eval ( const Cartesian_polygon g1,
const Cartesian_point g2 
) const

◆ eval() [44/89]

bool gis::Intersects::eval ( const Cartesian_polygon g1,
const Cartesian_polygon g2 
) const

◆ eval() [45/89]

bool gis::Intersects::eval ( const Geographic_box b1,
const Geographic_box b2 
) const

◆ eval() [46/89]

bool gis::Intersects::eval ( const Geographic_geometrycollection g1,
const Geometry g2 
) const

◆ eval() [47/89]

bool gis::Intersects::eval ( const Geographic_linestring g1,
const Geographic_geometrycollection g2 
) const

◆ eval() [48/89]

bool gis::Intersects::eval ( const Geographic_linestring g1,
const Geographic_linestring g2 
) const

◆ eval() [49/89]

bool gis::Intersects::eval ( const Geographic_linestring g1,
const Geographic_multilinestring g2 
) const

◆ eval() [50/89]

bool gis::Intersects::eval ( const Geographic_linestring g1,
const Geographic_multipoint g2 
) const

◆ eval() [51/89]

bool gis::Intersects::eval ( const Geographic_linestring g1,
const Geographic_multipolygon g2 
) const

◆ eval() [52/89]

bool gis::Intersects::eval ( const Geographic_linestring g1,
const Geographic_point g2 
) const

◆ eval() [53/89]

bool gis::Intersects::eval ( const Geographic_linestring g1,
const Geographic_polygon g2 
) const

◆ eval() [54/89]

bool gis::Intersects::eval ( const Geographic_multilinestring g1,
const Geographic_geometrycollection g2 
) const

◆ eval() [55/89]

bool gis::Intersects::eval ( const Geographic_multilinestring g1,
const Geographic_linestring g2 
) const

◆ eval() [56/89]

bool gis::Intersects::eval ( const Geographic_multilinestring g1,
const Geographic_multilinestring g2 
) const

◆ eval() [57/89]

bool gis::Intersects::eval ( const Geographic_multilinestring g1,
const Geographic_multipoint g2 
) const

◆ eval() [58/89]

bool gis::Intersects::eval ( const Geographic_multilinestring g1,
const Geographic_multipolygon g2 
) const

◆ eval() [59/89]

bool gis::Intersects::eval ( const Geographic_multilinestring g1,
const Geographic_point g2 
) const

◆ eval() [60/89]

bool gis::Intersects::eval ( const Geographic_multilinestring g1,
const Geographic_polygon g2 
) const

◆ eval() [61/89]

bool gis::Intersects::eval ( const Geographic_multipoint g1,
const Geographic_geometrycollection g2 
) const

◆ eval() [62/89]

bool gis::Intersects::eval ( const Geographic_multipoint g1,
const Geographic_linestring g2 
) const

◆ eval() [63/89]

bool gis::Intersects::eval ( const Geographic_multipoint g1,
const Geographic_multilinestring g2 
) const

◆ eval() [64/89]

bool gis::Intersects::eval ( const Geographic_multipoint g1,
const Geographic_multipoint g2 
) const

◆ eval() [65/89]

bool gis::Intersects::eval ( const Geographic_multipoint g1,
const Geographic_multipolygon g2 
) const

◆ eval() [66/89]

bool gis::Intersects::eval ( const Geographic_multipoint g1,
const Geographic_point g2 
) const

◆ eval() [67/89]

bool gis::Intersects::eval ( const Geographic_multipoint g1,
const Geographic_polygon g2 
) const

◆ eval() [68/89]

bool gis::Intersects::eval ( const Geographic_multipolygon g1,
const Geographic_geometrycollection g2 
) const

◆ eval() [69/89]

bool gis::Intersects::eval ( const Geographic_multipolygon g1,
const Geographic_linestring g2 
) const

◆ eval() [70/89]

bool gis::Intersects::eval ( const Geographic_multipolygon g1,
const Geographic_multilinestring g2 
) const

◆ eval() [71/89]

bool gis::Intersects::eval ( const Geographic_multipolygon g1,
const Geographic_multipoint g2 
) const

◆ eval() [72/89]

bool gis::Intersects::eval ( const Geographic_multipolygon g1,
const Geographic_multipolygon g2 
) const

◆ eval() [73/89]

bool gis::Intersects::eval ( const Geographic_multipolygon g1,
const Geographic_point g2 
) const

◆ eval() [74/89]

bool gis::Intersects::eval ( const Geographic_multipolygon g1,
const Geographic_polygon g2 
) const

◆ eval() [75/89]

bool gis::Intersects::eval ( const Geographic_point g1,
const Geographic_geometrycollection g2 
) const

◆ eval() [76/89]

bool gis::Intersects::eval ( const Geographic_point g1,
const Geographic_linestring g2 
) const

◆ eval() [77/89]

bool gis::Intersects::eval ( const Geographic_point g1,
const Geographic_multilinestring g2 
) const

◆ eval() [78/89]

bool gis::Intersects::eval ( const Geographic_point g1,
const Geographic_multipoint g2 
) const

◆ eval() [79/89]

bool gis::Intersects::eval ( const Geographic_point g1,
const Geographic_multipolygon g2 
) const

◆ eval() [80/89]

bool gis::Intersects::eval ( const Geographic_point g1,
const Geographic_point g2 
) const

◆ eval() [81/89]

bool gis::Intersects::eval ( const Geographic_point g1,
const Geographic_polygon g2 
) const

◆ eval() [82/89]

bool gis::Intersects::eval ( const Geographic_polygon g1,
const Geographic_geometrycollection g2 
) const

◆ eval() [83/89]

bool gis::Intersects::eval ( const Geographic_polygon g1,
const Geographic_linestring g2 
) const

◆ eval() [84/89]

bool gis::Intersects::eval ( const Geographic_polygon g1,
const Geographic_multilinestring g2 
) const

◆ eval() [85/89]

bool gis::Intersects::eval ( const Geographic_polygon g1,
const Geographic_multipoint g2 
) const

◆ eval() [86/89]

bool gis::Intersects::eval ( const Geographic_polygon g1,
const Geographic_multipolygon g2 
) const

◆ eval() [87/89]

bool gis::Intersects::eval ( const Geographic_polygon g1,
const Geographic_point g2 
) const

◆ eval() [88/89]

bool gis::Intersects::eval ( const Geographic_polygon g1,
const Geographic_polygon g2 
) const

◆ eval() [89/89]

bool gis::Intersects::eval ( const Geometry g1,
const Geometry g2 
) const

◆ operator()() [1/2]

bool gis::Intersects::operator() ( const Box b1,
const Box b2 
) const

◆ operator()() [2/2]

bool gis::Intersects::operator() ( const Geometry g1,
const Geometry g2 
) const
overridevirtual

Implements gis::Functor< bool >.

Member Data Documentation

◆ m_geographic_ll_la_aa_strategy

boost::geometry::strategy::intersection::geographic_segments gis::Intersects::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::Intersects::m_geographic_pl_pa_strategy
private

Strategy used for P/L and P/A.

◆ m_semi_major

double gis::Intersects::m_semi_major
private

Semi-major axis of ellipsoid.

◆ m_semi_minor

double gis::Intersects::m_semi_minor
private

Semi-minor axis of ellipsoid.


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