Package org.esa.snap.core.util
Class ShapeRasterizer
java.lang.Object
org.esa.snap.core.util.ShapeRasterizer
Instances of this class are used to rasterize the outline of a
java.awt.Shape
.- Version:
- $Revision$ $Date$
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
The Bresenham Algorithm is the default algorithm used to rasterize lines.static interface
Visits each pixel of a rasterized line.static interface
An abstract representation of an algorithm used to rasterize lines. -
Constructor Summary
ConstructorsConstructorDescriptionConstructs a new rasterizer with a no affine transformation, a flatness of1.0
and a bresenham line rasterizer.ShapeRasterizer
(AffineTransform transform, double flatness, ShapeRasterizer.LineRasterizer lineRasterizer) Constructs a new rasterizer with the specified affine transformation, flatness and line rasterizer. -
Method Summary
Modifier and TypeMethodDescriptiondouble
Gets the flatness of the of the rasterized outlines to be created.Sets the rasterizing algorithm.Gets the affine transformation to be applied before a shape is rasterized.Point2D[]
getVertices
(Shape shape) Converts the given shape into an array of vertices.Point2D[]
Rasterizes the given shape given as a vertices array.Point2D[]
Rasterizes the given shape given as a vertices array.Point2D[]
Rasterizes the given shape.void
setFlatness
(double flatness) Sets the flatness of the of the rasterized outlines to be created.void
setLineRasterizer
(ShapeRasterizer.LineRasterizer lineRasterizer) Sets the rasterizing algorithm.void
setTransform
(AffineTransform transform) Sets the affine transformation to be applied before a shape is rasterized.
-
Constructor Details
-
ShapeRasterizer
public ShapeRasterizer()Constructs a new rasterizer with a no affine transformation, a flatness of1.0
and a bresenham line rasterizer.- See Also:
-
ShapeRasterizer
public ShapeRasterizer(AffineTransform transform, double flatness, ShapeRasterizer.LineRasterizer lineRasterizer) Constructs a new rasterizer with the specified affine transformation, flatness and line rasterizer.- Parameters:
transform
- the affine transformation to be applied before a shape is rasterized. Can benull
.flatness
- the flatness of the rasterized outlines to be created.lineRasterizer
- the rasterizing algorithm
-
-
Method Details
-
getTransform
Gets the affine transformation to be applied before a shape is rasterized.- Returns:
- the affine transformation, can be
null
.
-
setTransform
Sets the affine transformation to be applied before a shape is rasterized.- Parameters:
transform
- the affine transformation to be applied before a shape is rasterized. Can benull
.
-
getFlatness
public double getFlatness()Gets the flatness of the of the rasterized outlines to be created.- Returns:
- the flatness.
-
setFlatness
public void setFlatness(double flatness) Sets the flatness of the of the rasterized outlines to be created.- Parameters:
flatness
- the flatness.
-
getLineRasterizer
Sets the rasterizing algorithm.- Returns:
- the rasterizing algorithm
-
setLineRasterizer
Sets the rasterizing algorithm.- Parameters:
lineRasterizer
- the rasterizing algorithm
-
rasterize
Rasterizes the given shape.- Parameters:
shape
- the shape to be rasterized- Returns:
- an array of points representing the rasterized shape outline
-
rasterize
Rasterizes the given shape given as a vertices array.- Parameters:
vertices
- the shape to be rasterized given as vertices- Returns:
- an array of points representing the rasterized shape outline
-
rasterize
Rasterizes the given shape given as a vertices array. The method also stores the indeices of the original vertices in the given index array.- Parameters:
vertices
- the shape to be rasterized given as verticesvertexIndexes
- if notnull
, the method stores the original vertex indices in this array- Returns:
- an array of points representing the rasterized shape outline
-
getVertices
Converts the given shape into an array of vertices.- Parameters:
shape
- the shape- Returns:
- the shape given as a vertices array
-