public class GeometricShapeFactory extends Object
Example of usage:
GeometricShapeFactory gsf = new GeometricShapeFactory(); gsf.setSize(100); gsf.setNumPoints(100); gsf.setBase(new Coordinate(100, 100)); gsf.setRotation(0.5); Polygon rect = gsf.createRectangle();
Constructor and Description |
---|
GeometricShapeFactory()
Create a shape factory which will create shapes using the default
GeometryFactory . |
GeometricShapeFactory(GeometryFactory geomFact)
Create a shape factory which will create shapes using the given
GeometryFactory . |
Modifier and Type | Method and Description |
---|---|
LineString |
createArc(double startAng,
double angExtent)
Creates an elliptical arc, as a
LineString . |
Polygon |
createArcPolygon(double startAng,
double angExtent)
Creates an elliptical arc polygon.
|
Polygon |
createCircle()
Creates a circular or elliptical
Polygon . |
Polygon |
createEllipse()
Creates an elliptical
Polygon . |
Polygon |
createRectangle()
Creates a rectangular
Polygon . |
Polygon |
createSquircle()
Creates a squircular
Polygon . |
Polygon |
createSupercircle(double power)
Creates a supercircular
Polygon
of a given positive power. |
void |
setBase(Coordinate base)
Sets the location of the shape by specifying the base coordinate
(which in most cases is the
lower left point of the envelope containing the shape).
|
void |
setCentre(Coordinate centre)
Sets the location of the shape by specifying the centre of
the shape's bounding box
|
void |
setEnvelope(Envelope env) |
void |
setHeight(double height)
Sets the height of the shape.
|
void |
setNumPoints(int nPts)
Sets the total number of points in the created
Geometry . |
void |
setRotation(double radians)
Sets the rotation angle to use for the shape.
|
void |
setSize(double size)
Sets the size of the extent of the shape in both x and y directions.
|
void |
setWidth(double width)
Sets the width of the shape.
|
public GeometricShapeFactory()
GeometryFactory
.public GeometricShapeFactory(GeometryFactory geomFact)
GeometryFactory
.geomFact
- the factory to usepublic void setEnvelope(Envelope env)
public void setBase(Coordinate base)
base
- the base coordinate of the shapepublic void setCentre(Coordinate centre)
centre
- the centre coordinate of the shapepublic void setNumPoints(int nPts)
Geometry
.
The created geometry will have no more than this number of points,
unless more are needed to create a valid geometry.public void setSize(double size)
size
- the size of the shape's extentpublic void setWidth(double width)
width
- the width of the shapepublic void setHeight(double height)
height
- the height of the shapepublic void setRotation(double radians)
radians
- the rotation angle in radians.public Polygon createRectangle()
Polygon
.public Polygon createCircle()
Polygon
.public Polygon createEllipse()
Polygon
.
If the supplied envelope is square the
result will be a circle.public Polygon createSupercircle(double power)
Polygon
of a given positive power.public LineString createArc(double startAng, double angExtent)
LineString
.
The arc is always created in a counter-clockwise direction.
This can easily be reversed if required by using
{#link LineString.reverse()}startAng
- start angle in radiansangExtent
- size of angle in radianspublic Polygon createArcPolygon(double startAng, double angExtent)
startAng
- start angle in radiansangExtent
- size of angle in radiansCopyright © 2024. All rights reserved.