40 #ifndef __OPENFLUID_LANDR_LANDRTOOLS_HPP__ 41 #define __OPENFLUID_LANDR_LANDRTOOLS_HPP__ 47 #include <geos/geom/CoordinateArraySequenceFactory.h> 53 namespace geos {
namespace geom {
72 NONE, INTERSECTS, CONTAINS, EQUALS, TOUCHES
81 static geos::geom::LineString* computeMergedLineStringFromGeometry(geos::geom::Geometry* Geom);
90 static std::vector<geos::geom::LineString*>* computeMergedLineStringsFromGeometry(geos::geom::Geometry* Geom);
117 static std::vector<geos::geom::LineString*>* computeNodedLines(geos::geom::Geometry* Geom1,
118 geos::geom::Geometry* Geom2,
119 double SnapTolerance = 0,
120 double PrecisionReducer=10000000);
130 static geos::geom::Geometry* computeSnapOverlayUnion(geos::geom::Geometry& Geom1,
131 geos::geom::Geometry& Geom2,
132 double SnapTolerance = 0);
141 static bool exists(geos::geom::LineString* Line,
142 std::list<geos::geom::LineString*> RefLines,
143 double Tolerance = 0);
151 static void polygonizeGeometry(std::vector<geos::geom::Geometry*>& Lines,
152 std::vector<geos::geom::Polygon*>& Polygons,
153 std::vector<const geos::geom::LineString*>& Dangles);
159 static void markVisitedNodesUsingDFS(geos::planargraph::Node* Node);
167 static std::vector<geos::geom::Polygon*> computeIntersectPolygons(geos::geom::Geometry* Geom1,
168 geos::geom::Geometry* Geom2);
178 static std::vector<geos::geom::LineString*> splitLineStringByPoint(geos::geom::LineString& Entity,
179 geos::geom::Point& Point,
180 double SnapTolerance);
190 static void splitLineStringByPoints(geos::geom::LineString& Entity,
191 std::vector<geos::geom::Point*>& Points,
192 double SnapTolerance,
193 std::vector<geos::geom::LineString*>& vLines,
194 unsigned int step=0);
202 static std::vector<geos::geom::LineString*>* cleanLineStrings(std::vector<geos::geom::LineString*> vLines,
203 double SnapTolerance);
210 static std::vector<geos::geom::Point*> computeNodesFromVectorOfLines(
211 std::vector<geos::geom::LineString*>& NodedLines);
218 static void markInvertedLineStringEntityUsingDFS(geos::planargraph::Node* Node,std::vector<int>& vectIdent);
223 static bool isExtentsIntersect(std::vector<OGREnvelope> vEnvelope);
Definition: ApplicationException.hpp:47
Set of tools to manage LandR elements.
Definition: LandRTools.hpp:66
Interface for managing Vector Data format.
Definition: VectorDataset.hpp:64
Definition: LandREntity.hpp:53
#define OPENFLUID_API
Definition: dllexport.hpp:86
Relationship
Definition: LandRTools.hpp:70