28#ifndef __TERRALIB_VP_INTERNAL_OVERLAPFIXER_H
29#define __TERRALIB_VP_INTERNAL_OVERLAPFIXER_H
40class GeometryInfoOverlap;
42struct SingleFixReport;
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
std::unique_ptr< te::gm::Geometry > m_geometry
The resulting geometry of the fixer operation.
OverlapFixerReport(te::gm::Geometry *geometry, FixResult result)
Destructor.
~OverlapFixerReport()=default
OverlapFixerReport()
< Constructor
FixResult m_result
The result of the fixer operation.
OverlapFixerReport is a class containing algorithms to detect and fix overlaps from a list of polygon...
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 vecGeome...
static te::gm::GeometryVector detectOverlaps(const te::gm::GeometryVector &vecGeometries)
Detects all the existing overlaps from the given geometries.
static te::gm::GeometryVector fixFragmentsOverlaps(const te::gm::GeometryVector &vecFragments)
Internal method to fix the possible overlaps within the intersection fragments themselves.
static te::gm::GeometryVector fixOverlaps(std::vector< GeometryInfoOverlap * > &vecGeometries)
Internal method to fix the existing overlaps of the polygons ou multipolygons from the given vecGeome...
static te::gm::GeometryVector detectOverlaps(const std::vector< GeometryInfoOverlap * > &vecGeometries)
Internal method that detects all the existing overlaps from the given geometries.
static std::vector< OverlapFixerReport * > fix(const te::gm::GeometryVector &vecGeometries)
Fix the existing overlaps of the polygons ou multipolygons from the given vecGeometries vector.
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 ge...
std::vector< te::gm::Geometry * > GeometryVector
Namespace for Vector Processing module of TerraLib.
Configuration flags for the Terrralib Vector Processing module.
#define TEVPEXPORT
You can use this macro in order to export/import classes and functions from this module.