MySQL 8.4.0
Source Code Documentation
intersection_functor.cc File Reference

This file implements the intersection functor. More...

#include <memory>
#include <boost/geometry.hpp>
#include "sql/gis/gc_utils.h"
#include "sql/gis/geometries.h"
#include "sql/gis/geometries_traits.h"
#include "sql/gis/intersection_functor.h"
#include "sql/gis/so_utils.h"
#include "sql/gis/union_functor.h"

Namespaces

namespace  gis
 

Functions

static bool gis::is_collection (const Geometry *g)
 
template<typename MPt , typename MLs >
static auto gis::remove_overlapping_mpt_mls (MPt const &mpt, MLs const &mls, Geometrycollection &result)
 
template<typename MPt , typename MLs , typename MPy >
static auto gis::remove_overlapping_mpt_mls_mpy (MPt const &mpt, MLs const &mls, MPy const &mpy, Geometrycollection &result)
 
template<typename MPt , typename MLs , typename MPy , typename Geometry1 , typename Geometry2 >
static auto gis::apply_bg_intersection (Geometry1 const &g1, Geometry2 const &g2)
 
template<typename MPt , typename MLs , typename MPy , typename Geometry1 , typename Geometry2 , typename Strategy >
static auto gis::apply_bg_intersection (Geometry1 const &g1, Geometry2 const &g2, Strategy const &strategy)
 
template<typename MPt , typename MLs , typename Geometry1 , typename Geometry2 >
static auto gis::apply_bg_brute_force_intersection (Geometry1 const &g1, Geometry2 const &g2)
 
template<typename MPt , typename MLs , typename Geometry1 , typename Geometry2 , typename Strategy >
static auto gis::apply_bg_brute_force_intersection (Geometry1 const &g1, Geometry2 const &g2, Strategy const &strategy)
 
template<typename GC , typename MPt , typename MLs , typename MPy >
static std::unique_ptr< Geometrygis::typed_geometry_collection_apply_intersection (const Intersection &f, const Geometrycollection *g1, const Geometry *g2)
 
static std::unique_ptr< Geometrygis::geometry_collection_apply_intersection (const Intersection &f, const Geometrycollection *g1, const Geometry *g2)
 Apply a Intersection functor to two geometries, where at least one is a geometry collection. More...
 

Detailed Description

This file implements the intersection functor.