te::vp::OverlapFixer Class Reference

OverlapFixerReport is a class containing algorithms to detect and fix overlaps from a list of polygons or multipolygons. More...

#include <OverlapFixer.h>

Static Public Member Functions

static te::gm::GeometryVector detectOverlaps (const te::gm::GeometryVector &vecGeometries)
 Detects all the existing overlaps from the given geometries. More...
 
static std::vector< OverlapFixerReport * > fix (const te::gm::GeometryVector &vecGeometries)
 Fix the existing overlaps of the polygons ou multipolygons from the given vecGeometries vector. More...
 
static bool hasOverlaps (const te::gm::Geometry *geometryA, const te::gm::Geometry *geometryB)
 Algorithm to detect overlaps. This algorith does a deep and exausting geometry analysis and doesnt generate false positives. More...
 

Static Protected Member Functions

static te::gm::GeometryVector detectOverlaps (const std::vector< GeometryInfoOverlap * > &vecGeometries)
 Internal method that detects all the existing overlaps from the given geometries. More...
 
static te::gm::GeometryVector fixFragmentsOverlaps (const te::gm::GeometryVector &vecFragments)
 Internal method to fix the possible overlaps within the intersection fragments themselves. More...
 
static te::gm::GeometryVector fixOverlaps (std::vector< GeometryInfoOverlap * > &vecGeometries)
 Internal method to fix the existing overlaps of the polygons ou multipolygons from the given vecGeometries vector. More...
 
static void fixOverlaps (std::vector< GeometryInfoOverlap * > &vecGeometries, const te::gm::GeometryVector &vecFragments)
 Internal method to fix the existing overlaps of the polygons ou multipolygons from the given vecGeometries vector considering the given intersection fragments. More...
 

Detailed Description

OverlapFixerReport is a class containing algorithms to detect and fix overlaps from a list of polygons or multipolygons.

Definition at line 80 of file OverlapFixer.h.

Member Function Documentation

◆ detectOverlaps() [1/2]

static te::gm::GeometryVector te::vp::OverlapFixer::detectOverlaps ( const std::vector< GeometryInfoOverlap * > &  vecGeometries)
staticprotected

Internal method that detects all the existing overlaps from the given geometries.

Parameters
vecGeometriesThe input geometries to be analysed
Returns
A vector containing the intersection fragments

◆ detectOverlaps() [2/2]

static te::gm::GeometryVector te::vp::OverlapFixer::detectOverlaps ( const te::gm::GeometryVector vecGeometries)
static

Detects all the existing overlaps from the given geometries.

Parameters
vecGeometriesThe input geometries to be analysed
Returns
A vector containing the intersection fragments

◆ fix()

static std::vector<OverlapFixerReport*> te::vp::OverlapFixer::fix ( const te::gm::GeometryVector vecGeometries)
static

Fix the existing overlaps of the polygons ou multipolygons from the given vecGeometries vector.

Parameters
vecGeometriesThe input geometries to be analysed
Returns
A vector containing the fixed geometries

◆ fixFragmentsOverlaps()

static te::gm::GeometryVector te::vp::OverlapFixer::fixFragmentsOverlaps ( const te::gm::GeometryVector vecFragments)
staticprotected

Internal method to fix the possible overlaps within the intersection fragments themselves.

Parameters
vecFragmentsA vector containing all detected intersection fragments
Returns
A vector containing the intersection fragments without any overlaps between the geometries

◆ fixOverlaps() [1/2]

static te::gm::GeometryVector te::vp::OverlapFixer::fixOverlaps ( std::vector< GeometryInfoOverlap * > &  vecGeometries)
staticprotected

Internal method to fix the existing overlaps of the polygons ou multipolygons from the given vecGeometries vector.

Parameters
vecGeometriesThe input geometries to be analysed
Returns
A vector containing the fixed geometries

◆ fixOverlaps() [2/2]

static void te::vp::OverlapFixer::fixOverlaps ( std::vector< GeometryInfoOverlap * > &  vecGeometries,
const te::gm::GeometryVector vecFragments 
)
staticprotected

Internal method to fix the existing overlaps of the polygons ou multipolygons from the given vecGeometries vector considering the given intersection fragments.

Parameters
vecGeometriesThe input geometries to be fixed
vecFragmentsThe intersection fragments to be used to fix the geometries

◆ hasOverlaps()

static bool te::vp::OverlapFixer::hasOverlaps ( const te::gm::Geometry geometryA,
const te::gm::Geometry geometryB 
)
static

Algorithm to detect overlaps. This algorith does a deep and exausting geometry analysis and doesnt generate false positives.

Parameters
geometryAThe input geometry A
geometryBThe input geometry B
Returns
TRUE if there is at least one overlap between the given geometries. FALSE otherwise

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