21#include <geos/export.h>
26#include <geos/noding/Noder.h>
31#pragma warning(disable: 4251)
58class GEOS_DLL ScaledNoder :
public Noder {
65 return (scaleFactor == 1.0);
68 ScaledNoder(Noder& n,
double nScaleFactor,
69 double nOffsetX = 0.0,
double nOffsetY = 0.0)
72 scaleFactor(nScaleFactor),
75 isScaled(nScaleFactor != 1.0)
78 ~ScaledNoder()
override;
82 void computeNodes(std::vector<SegmentString*>* inputSegStr)
override;
89 ::geos::ignore_unused_variable_warning(c);
107 void rescale(std::vector<SegmentString*>& segStrings)
const;
109 void scale(std::vector<SegmentString*>& segStrings)
const;
115 friend class ScaledNoder::Scaler;
117 friend class ScaledNoder::ReScaler;
119 mutable std::vector<geom::CoordinateSequence*> newCoordSeq;
The internal representation of a list of coordinates inside a Geometry.
Definition CoordinateSequence.h:56
Coordinate is the lightweight class used to store coordinates.
Definition Coordinate.h:217
Computes all intersections between segments in a set of SegmentString.
Definition Noder.h:46
Wraps a Noder and transforms its input into the integer domain.
Definition ScaledNoder.h:58
void computeNodes(std::vector< SegmentString * > *inputSegStr) override
Computes the noding for a collection of SegmentStrings.
std::vector< SegmentString * > * getNodedSubstrings() const override
Returns a collection of fully noded SegmentStrings. The SegmentStrings have the same context as their...
An interface for classes which represent a sequence of contiguous line segments.
Definition SegmentString.h:47
Classes to compute nodings for arrangements of line segments and line segment sequences.
Definition InvalidSegmentDetector.h:25
Basic namespace for all GEOS functionalities.
Definition geos.h:39