ScaledNoder class

Wraps a {@link Noder} and transforms its input into the integer domain. This is intended for use with Snap-Rounding noders, which typically are only intended to work in the integer domain. Offsets can be provided to increase the number of digits of available precision.

Clients should be aware that rescaling can involve loss of precision, which can cause zero-length line segments to be created. These in turn can cause problems when used to build a planar graph. This situation should be checked for and collapsed segments removed if necessary.

@version 1.7

Implemented types

Constructors

ScaledNoder(Noder noder, double scaleFactor)
ScaledNoder.withOffests(Noder noder, double scaleFactor, double offsetX, double offsetY)

Properties

hashCode int
The hash code for this object.
no setterinherited
isScaled bool
getter/setter pair
noder Noder
getter/setter pair
offsetX double
getter/setter pair
offsetY double
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
scaleFactor double
getter/setter pair

Methods

computeNodes(List inputSegStrings) → void
Computes the noding for a collection of {@link SegmentString}s. Some Noders may add all these nodes to the input SegmentStrings; others may only add some or none at all.
override
getNodedSubstrings() List
Returns a {@link List} of fully noded {@link SegmentString}s. The SegmentStrings have the same context as their parent.
override
isIntegerPrecision() bool
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
rescale(List segStrings) → void
rescaleCoords(List<Coordinate> pts) → void
scale(List segStrings) List
scaleCoords(List<Coordinate> pts) List<Coordinate>
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited