19#ifndef GEOS_NODING_SNAPROUND_SIMPLESNAPROUNDER_H
20#define GEOS_NODING_SNAPROUND_SIMPLESNAPROUNDER_H
22#include <geos/export.h>
26#include <geos/inline.h>
28#include <geos/noding/Noder.h>
29#include <geos/algorithm/LineIntersector.h>
30#include <geos/geom/Coordinate.h>
31#include <geos/geom/PrecisionModel.h>
73class GEOS_DLL SimpleSnapRounder:
public Noder {
81 void computeNodes(std::vector<SegmentString*>* inputSegmentStrings);
99 std::vector<SegmentString*>* nodedSegStrings;
101 void checkCorrectness(std::vector<SegmentString*>& inputSegmentStrings);
103 void snapRound(std::vector<SegmentString*>* segStrings,
117 void findInteriorIntersections(std::vector<SegmentString*>& segStrings,
125 void computeSnaps(
const std::vector<SegmentString*>& segStrings,
126 std::vector<geom::Coordinate>& snapPts);
138 SimpleSnapRounder(
const SimpleSnapRounder& other);
139 SimpleSnapRounder& operator=(
const SimpleSnapRounder& rhs);
A LineIntersector is an algorithm that can both test whether two line segments intersect and compute ...
Definition LineIntersector.h:49
Specifies the precision model of the Coordinate in a Geometry.
Definition PrecisionModel.h:87
Represents a list of contiguous line segments, and supports noding the segments.
Definition NodedSegmentString.h:58
An interface for classes which represent a sequence of contiguous line segments.
Definition SegmentString.h:46
Implements a "hot pixel" as used in the Snap Rounding algorithm.
Definition HotPixel.h:62
void computeNodes(std::vector< SegmentString * > *inputSegmentStrings)
Computes the noding for a collection of SegmentStrings.
void computeVertexSnaps(const std::vector< SegmentString * > &edges)
std::vector< SegmentString * > * getNodedSubstrings() const
Returns a Collection of fully noded SegmentStrings. The SegmentStrings have the same context as their...
Contains classes and interfaces implementing fundamental computational geometry algorithms.
Definition Angle.h:33
Contains the Geometry interface hierarchy and supporting classes.
Definition IndexedNestedRingTester.h:26
Contains classes to implement the Snap Rounding algorithm for noding linestrings.
Definition HotPixel.h:49
Classes to compute nodings for arrangements of line segments and line segment sequences.
Definition PreparedLineString.h:27
Basic namespace for all GEOS functionalities.
Definition IndexedNestedRingTester.h:25