public class RingClipper extends Object
In general the output is not topologically valid.
In particular, the output may contain coincident non-noded line segments
along the clip rectangle sides.
However, the output is sufficiently well-structured
that it can be used as input to the OverlayNG
algorithm
(which is able to process coincident linework due
to the need to handle topology collapse under precision reduction).
Because of the likelihood of creating extraneous line segments along the clipping rectangle sides, this class is not suitable for clipping linestrings.
The clipping envelope should be generated using RobustClipEnvelopeComputer
,
to ensure that intersecting line segments are not perturbed
by clipping.
This is required to ensure that the overlay of the
clipped geometry is robust and correct (i.e. the same as
if clipping was not used).
LineLimiter
Constructor and Description |
---|
RingClipper(Envelope clipEnv)
Creates a new clipper for the given envelope.
|
Modifier and Type | Method and Description |
---|---|
Coordinate[] |
clip(Coordinate[] pts)
Clips a list of points to the clipping rectangle box.
|
public RingClipper(Envelope clipEnv)
clipEnv
- the clipping envelopepublic Coordinate[] clip(Coordinate[] pts)
pts
- Copyright © 2024. All rights reserved.