addLineString method
Implementation
void addLineString(LineString line)
{
if (curveBuilder!.isLineOffsetEmpty(distance)) return;
List<Coordinate> coord = clean(line.getCoordinates());
/**
* Rings (closed lines) are generated with a continuous curve,
* with no end arcs. This produces better quality linework,
* and avoids noding issues with arcs around almost-parallel end segments.
* See JTS #523 and #518.
*
* Singled-sided buffers currently treat rings as if they are lines.
*/
if (CoordinateArrays.isRing(coord) && ! curveBuilder!.bufParams.isSingleSided) {
addRingBothSides(coord, distance);
}
else {
List<Coordinate>? curve = curveBuilder!.getLineCurve(coord, distance);
addCurve(curve, Location.EXTERIOR, Location.INTERIOR);
}
// TESTING
//List<Coordinate> curveTrim = BufferCurveLoopPruner.prune(curve);
//addCurve(curveTrim, Location.EXTERIOR, Location.INTERIOR);
}