OffsetCurveSetBuilder class

Creates all the raw offset curves for a buffer of a {@link Geometry}. Raw curves need to be noded together and polygonized to form the final buffer area.

@version 1.7

Constructors

OffsetCurveSetBuilder(Geometry inputGeom, double distance, OffsetCurveBuilder curveBuilder)

Properties

curveBuilder OffsetCurveBuilder
getter/setter pair
curveList List
getter/setter pair
distance double
getter/setter pair
hashCode int
The hash code for this object.
no setterinherited
inputGeom Geometry
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

add(Geometry g) → void
addCollection(GeometryCollection gc) → void
addCurve(List<Coordinate>? coord, int leftLoc, int rightLoc) → void
Creates a {@link SegmentString} for a coordinate list which is a raw offset curve, and adds it to the list of buffer curves. The SegmentString is tagged with a Label giving the topology of the curve. The curve may be oriented in either direction. If the curve is oriented CW, the locations will be:
Left: Location.EXTERIOR
Right: Location.INTERIOR
addLineString(LineString line) → void
addPoint(Point p) → void
Add a Point to the graph.
addPolygon(Polygon p) → void
addPolygonRing(List<Coordinate> coord, double offsetDistance, int side, int cwLeftLoc, int cwRightLoc) → void
Adds an offset curve for a polygon ring. The side and left and right topological location arguments assume that the ring is oriented CW. If the ring is in the opposite orientation, the left and right locations must be interchanged and the side flipped.
addRingBothSides(List<Coordinate> coord, double distance) → void
addRingSide(List<Coordinate> coord, double offsetDistance, int side, int cwLeftLoc, int cwRightLoc) → void
Adds an offset curve for one side of a ring. The side and left and right topological location arguments are provided as if the ring is oriented CW. (If the ring is in the opposite orientation, this is detected and the left and right locations are interchanged and the side is flipped.)
getCurves() List
Computes the set of raw offset curves for the buffer. Each offset curve has an attached {@link Label} indicating its left and right location.
isErodedCompletely(LinearRing ring, double bufferDistance) bool
The ringCoord is assumed to contain no repeated points. It may be degenerate (i.e. contain only 1, 2, or 3 points). In this case it has no area, and hence has a minimum diameter of 0.
isTriangleErodedCompletely(List<Coordinate> triangleCoord, double bufferDistance) bool
Tests whether a triangular ring would be eroded completely by the given buffer distance. This is a precise test. It uses the fact that the inner buffer of a triangle converges on the inCentre of the triangle (the point equidistant from all sides). If the buffer distance is greater than the distance of the inCentre from a side, the triangle will be eroded completely.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

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