public class TLcdLonLatComplexPolygonContourBuilder extends Object implements ILcdContourBuilder
ILcdFunction
only when endLevel is called by the contour finder.Constructor and Description |
---|
TLcdLonLatComplexPolygonContourBuilder(ILcdFunction aFunction)
Construct a new TLcdLonLatComplexPolygonContourBuilder.
|
TLcdLonLatComplexPolygonContourBuilder(ILcdFunction aFunction,
boolean aSplitComplexPolygon)
Construct a new TLcdLonLatComplexPolygonContourBuilder.
|
Modifier and Type | Method and Description |
---|---|
void |
createContour(double[] aXCoordinates,
double[] aYCoordinates,
int aPointCount,
boolean aClosed)
Collect a single open or closed contour for the level the contour finder is calculating.
|
void |
endLevel()
This method is called by the contour finder when it is done finding contours for the
current level.
|
void |
startLevel(double aValue)
This method is called by the contour finder when it starts finding contours for a new
level, when the contour represents an exact value.
|
void |
startLevel(ILcdInterval aInterval)
This method is called by the contour finder when it starts finding contours for a new
level, when the contour represents a range of values (an interval).
|
public TLcdLonLatComplexPolygonContourBuilder(ILcdFunction aFunction)
aFunction
- A function that will be provided with TLcdIntervalContour and TLcdValuedContour
instances which contain ILcdComplexPolygon as base shape.public TLcdLonLatComplexPolygonContourBuilder(ILcdFunction aFunction, boolean aSplitComplexPolygon)
aFunction
- A function that will be provided with TLcdIntervalContour and
TLcdValuedContour instances which contain ILcdComplexPolygon as base
shape.aSplitComplexPolygon
- If false, one large complex polygon per contour level will be
created. If true, then if possible, the complex polygon is
post-processed to be split into multiple complex polygons, where
each complex polygon has exactly one outer shell and multiple
holes. This gives the same overall data, but it is more efficient
for a painter to draw multiple smaller complex polygons, than one
big complex polygon. This post-processing itself requires more
calculation time however.public void createContour(double[] aXCoordinates, double[] aYCoordinates, int aPointCount, boolean aClosed)
ILcdContourBuilder
createContour
in interface ILcdContourBuilder
aXCoordinates
- The array of x-coordinates.aYCoordinates
- The array of y-coordinates.aPointCount
- The number of coordinates to take into account.aClosed
- Whether the given array of points represents an open or a closed contour. In
the case of a closed contour, the first and the last provided coordinate are not the same.
Some shapes, such as ILcdPolyline, require that the first and last point of a closed contour
are the same, in that case it needs to be added by the implementation.public void startLevel(ILcdInterval aInterval)
ILcdContourBuilder
startLevel
in interface ILcdContourBuilder
aInterval
- The interval representing this level. The is the range of values represented
by the lines or areas of the contours of this level.public void startLevel(double aValue)
ILcdContourBuilder
startLevel
in interface ILcdContourBuilder
aValue
- The value of the contour.public void endLevel()
ILcdContourBuilder
endLevel
in interface ILcdContourBuilder