public final class PolygonIterator extends AbstractLiteIterator
dcoords
SEG_CLOSE, SEG_CUBICTO, SEG_LINETO, SEG_MOVETO, SEG_QUADTO, WIND_EVEN_ODD, WIND_NON_ZERO
Constructor and Description |
---|
PolygonIterator(Polygon p,
AffineTransform at)
Creates a new PolygonIterator object.
|
PolygonIterator(Polygon p,
AffineTransform at,
boolean generalize)
Creates a new PolygonIterator object.
|
PolygonIterator(Polygon p,
AffineTransform at,
boolean generalize,
double maxDistance)
Creates a new PolygonIterator object.
|
Modifier and Type | Method and Description |
---|---|
int |
currentSegment(double[] coords)
Returns the coordinates and type of the current path segment in the iteration.
|
double |
getMaxDistance()
Returns the distance limit for point skipping during distance based generalization
|
int |
getWindingRule()
Return the winding rule for determining the interior of the path.
|
boolean |
isDone()
Tests if the iteration is complete.
|
void |
next()
Moves the iterator to the next segment of the path forwards along the primary direction of
traversal as long as there are more points in that direction.
|
void |
setMaxDistance(double distance)
Sets the distance limit for point skipping during distance based generalization
|
protected void |
transform(double[] src,
int index,
double[] dest,
int destIndex,
int numPoints) |
currentSegment
public PolygonIterator(Polygon p, AffineTransform at)
p
- The polygonat
- The affine transform applied to coordinates during iterationpublic PolygonIterator(Polygon p, AffineTransform at, boolean generalize)
p
- The polygonat
- The affine transform applied to coordinates during iterationgeneralize
- if true apply simple distance based generalizationpublic PolygonIterator(Polygon p, AffineTransform at, boolean generalize, double maxDistance)
p
- The polygonat
- The affine transform applied to coordinates during iterationgeneralize
- if true apply simple distance based generalizationmaxDistance
- during iteration, a point will be skipped if it's distance from the
previous is less than maxDistancepublic void setMaxDistance(double distance)
distance
- the maximum distance for point skippingpublic double getMaxDistance()
public int currentSegment(double[] coords)
coords
- an array that holds the data returned from this methodPathIterator.SEG_MOVETO
,
PathIterator.SEG_LINETO
,
PathIterator.SEG_QUADTO
,
PathIterator.SEG_CUBICTO
,
PathIterator.SEG_CLOSE
protected void transform(double[] src, int index, double[] dest, int destIndex, int numPoints)
public int getWindingRule()
WIND_EVEN_ODD
by default.public boolean isDone()
true
if all the segments have been read; false
otherwise.public void next()
Copyright © 1996–2019 Geotools. All rights reserved.