Go to the documentation of this file.
28 #ifndef __TERRALIB_VP_INTERNAL_POLYGONSUBDIVIDER_H
29 #define __TERRALIB_VP_INTERNAL_POLYGONSUBDIVIDER_H
34 #include "../geometry/CommonDataStructures.h"
35 #include "../geometry/Enums.h"
54 class SubdividerTilling;
208 #endif //__TERRALIB_VP_INTERNAL_POLYGONSUBDIVIDER_H
static SetIndexes getUniqueIndexes(const GeometryAssociations &geometryAssociations)
static bool filterSegmentsInBorder(const te::gm::Geometry *geometry, std::size_t geometryIndex, const te::gm::LineString *splitLine, std::vector< te::vp::SegmentInfo * > &vecSegmentsInBorder)
From the givem geometry, creates a list of all the segments that are exactly in the border of the giv...
An Envelope defines a 2D rectangular region.
static te::gm::GeometryVector subdivide(const te::gm::GeometryVector &vecInputGeometries, std::size_t maxCoordinates, std::vector< std::size_t > &vecParentIndexes)
Subdivides the given vecInputGeometries using the given envelope. This has the same result as an inte...
std::set< std::size_t > SetIndexes
static te::gm::GeometryVector subdivide(const te::gm::GeometryVector &vecInputGeometries, const te::gm::Envelope &envelope, std::size_t maxCoordinates)
std::pair< std::size_t, std::size_t > GeometryAssociation
static Clusters calculateGeometryClusters(const GeometryAssociations &geometryMatchMap)
Normalizes an match map ensuring that all the list of indexes is complete, that is,...
static te::gm::GeometryVector subdivide(const te::gm::Geometry *geometry, const te::gm::Envelope &envelope, std::size_t maxCoordinates)
Subdivides the given geometry using the given envelope. This has the same result as an intersection o...
Algorithm to help controlling creating and iterating in a tile.
static GeometryAssociations calculateGeometryAssociations(const std::vector< te::vp::SegmentInfo * > &vecBorderSegments, te::gm::Dimensionality dimensionality)
Creates a non-normalized match map containing only the indexes of geometries that have a border relat...
static GeometryAssociations calculateGeometryAssociations(const te::gm::GeometryVector &vecFragments, const te::gm::LineString *splitLine)
Creates a normalized match map containing only the indexes of geometries that have a border relation ...
std::vector< te::gm::Geometry * > GeometryVector
#define TEVPEXPORT
You can use this macro in order to export/import classes and functions from this module.
std::vector< std::size_t > ClusterIndexes
std::vector< GeometryAssociation > GeometryAssociations
static std::vector< te::vp::SegmentInfo * > filterSegmentsInBorder(const te::gm::GeometryVector &vecFragments, const te::gm::LineString *splitLine, std::vector< std::size_t > &vecIndexesNotInBorder)
From the givem geometry vector, creates a list of all the segments that are exactly in the border of ...
Dimensionality
From Wikipedia: "in mathematics, the dimension of an object is an intrinsic property,...
LineString is a curve with linear interpolation between points.
static te::gm::GeometryVector subdivide(const te::gm::GeometryVector &vecInputGeometries, const SubdividerTilling &tilling, std::size_t maxCoordinates)
Subdivides the given vecInputGeometries using the given envelope. This has the same result as an inte...
std::vector< ClusterIndexes > Clusters
static te::gm::GeometryVector merge(const te::gm::GeometryVector &vecFragments, const SubdividerTilling &tilling)
Dissolves all the geometries from the given fragments vector that have borders with the given split r...
Proxy configuration file for TerraView (see terraview_config.h).
static te::gm::GeometryVector subdivide(const te::gm::Geometry *geometry, const SubdividerTilling &tilling, std::size_t maxCoordinates)
Subdivides the given geometry using the given envelope. This has the same result as an intersection o...
Algorithm to subdivide polygons based on a cell tilling and merge them back to their original format.
Utility classes, structures and definitions for Vector Processing.
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
static te::gm::GeometryVector merge(const te::gm::GeometryVector &vecFragments, const te::gm::LineString *splitLine)
Dissolves all the geometries from the given fragments vector that have borders with the given split r...
static bool checkForGeometrySubdivision(const te::gm::Envelope ¤tTile, const te::gm::Geometry *geometry, std::size_t geometryIndex, std::vector< te::vp::SegmentInfo * > &vecSegmentsInBorder)
static te::gm::GeometryVector dissolveFragments(const te::gm::GeometryVector &vecFragments, const Clusters &clusters)
Dissolves all the geometries from the given fragments vector using the given match map as reference.
static te::gm::GeometryVector subdivide(const te::gm::Geometry *geometry, std::size_t maxCoordinates)
Subdivides the given geometry using the given envelope. This has the same result as an intersection o...