39 #ifndef __OPENFLUID_LANDR_LANDRTOOLS_HPP__    40 #define __OPENFLUID_LANDR_LANDRTOOLS_HPP__    45 #include <geos/geom/CoordinateArraySequenceFactory.h>    51 namespace geos { 
namespace geom {
    70       NONE, INTERSECTS, CONTAINS, EQUALS, TOUCHES
    79     static geos::geom::LineString* computeMergedLineStringFromGeometry(geos::geom::Geometry* Geom);
    88     static std::vector<geos::geom::LineString*>* computeMergedLineStringsFromGeometry(geos::geom::Geometry* Geom);
   115     static std::vector<geos::geom::LineString*>* computeNodedLines(geos::geom::Geometry* Geom1,
   116                                                                    geos::geom::Geometry* Geom2,
   117                                                                    double SnapTolerance = 0,
   118                                                                    double PrecisionReducer=10000000);
   128     static geos::geom::Geometry* computeSnapOverlayUnion(geos::geom::Geometry& Geom1,
   129                                                          geos::geom::Geometry& Geom2,
   130                                                          double SnapTolerance = 0);
   139     static bool exists(geos::geom::LineString* Line,
   140                        std::list<geos::geom::LineString*> RefLines,
   141                        double Tolerance = 0);
   149     static void polygonizeGeometry(std::vector<geos::geom::Geometry*>& Lines,
   150                                    std::vector<geos::geom::Polygon*>& Polygons,
   151                                    std::vector<const geos::geom::LineString*>& Dangles);
   157     static void markVisitedNodesUsingDFS(geos::planargraph::Node* Node);
   165     static std::vector<geos::geom::Polygon*> computeIntersectPolygons(geos::geom::Geometry* Geom1,
   166                                                                       geos::geom::Geometry* Geom2);
   176     static std::vector<geos::geom::LineString*> splitLineStringByPoint(geos::geom::LineString& Entity,
   177                                                                        geos::geom::Point& Point,
   178                                                                        double SnapTolerance);
   188     static void splitLineStringByPoints(geos::geom::LineString& Entity,
   189                                         std::vector<geos::geom::Point*>& Points,
   190                                         double SnapTolerance,
   191                                         std::vector<geos::geom::LineString*>& vLines,
   192                                         unsigned int step=0);
   200     static std::vector<geos::geom::LineString*>* cleanLineStrings(std::vector<geos::geom::LineString*> vLines,
   201                                                                   double SnapTolerance);
   208     static std::vector<geos::geom::Point*> computeNodesFromVectorOfLines(
   209                                                std::vector<geos::geom::LineString*>& NodedLines);
   216     static void markInvertedLineStringEntityUsingDFS(geos::planargraph::Node* Node,std::vector<int>& vectIdent);
   221      static bool isExtentsIntersect(std::vector<OGREnvelope> vEnvelope);
 #define OPENFLUID_API
Definition: dllexport.hpp:87
Definition: ApplicationException.hpp:47
Relationship
Definition: LandRTools.hpp:68
Interface for managing Vector Data format. 
Definition: VectorDataset.hpp:64
Definition: LandREntity.hpp:53
Set of tools to manage LandR elements. 
Definition: LandRTools.hpp:64