28 #ifndef __TERRALIB_VP_INTERNAL_OVERLAPFIXER_H
29 #define __TERRALIB_VP_INTERNAL_OVERLAPFIXER_H
34 #include "../geometry/CommonDataStructures.h"
35 #include "../geometry/Geometry.h"
40 class GeometryInfoOverlap;
42 struct SingleFixReport;
58 UNCHANGED, FIXED, REMOVED, NEW
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
OverlapFixerReport represents the report of the fix operation, for each input geometry and for the ge...
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
#define TEVPEXPORT
You can use this macro in order to export/import classes and functions from this module.
Proxy configuration file for TerraView (see terraview_config.h).