MySQL 8.4.0
Source Code Documentation
gc_utils.cc File Reference

This file implements utility functions for working with geometrycollections. More...

#include "sql/gis/gc_utils.h"
#include <assert.h>
#include <boost/geometry.hpp>
#include "sql/gis/difference_functor.h"
#include "sql/gis/geometries.h"
#include "sql/gis/geometries_cs.h"
#include "sql/gis/geometries_traits.h"
#include "sql/gis/union_functor.h"
#include "template_utils.h"

Namespaces

namespace  gis
 

Functions

template<typename Pt , typename Ls , typename Py , typename GC , typename MPt , typename MLs , typename MPy >
static void gis::typed_split_gc (const GC *gc, MPt *mpt, MLs *mls, MPy *mpy)
 
void gis::split_gc (const Geometrycollection *gc, std::unique_ptr< Multipoint > *mpt, std::unique_ptr< Multilinestring > *mls, std::unique_ptr< Multipolygon > *mpy)
 Splits a geometrycollection into points, linestrings and polygons. More...
 
template<typename MPt , typename MLs , typename MPy >
void gis::typed_gc_union (double semi_major, double semi_minor, std::unique_ptr< Multipoint > *mpt, std::unique_ptr< Multilinestring > *mls, std::unique_ptr< Multipolygon > *mpy)
 
void gis::gc_union (double semi_major, double semi_minor, std::unique_ptr< Multipoint > *mpt, std::unique_ptr< Multilinestring > *mls, std::unique_ptr< Multipolygon > *mpy)
 Cleans up overlapping geometries so that the geometrycollection is broken down into non-overlapping collections. More...
 
std::unique_ptr< gis::Geometrycollectiongis::narrowest_multigeometry (std::unique_ptr< gis::Geometrycollection > geometrycollection)
 Narrows down a geometrycollection to return a Multipoint, Multilinestring or a Multipolygon if the first level of the geometrycollection contains only points, linestrings or polygons. More...
 

Detailed Description

This file implements utility functions for working with geometrycollections.