|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.vividsolutions.jts.util.GeometricShapeFactory
public class GeometricShapeFactory
Computes various kinds of common geometric shapes. Provides various ways of specifying the location and extent and rotations of the generated shapes, as well as number of line segments used to form them.
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();
Nested Class Summary | |
---|---|
protected class |
GeometricShapeFactory.Dimensions
|
Field Summary | |
---|---|
protected GeometricShapeFactory.Dimensions |
dim
|
protected GeometryFactory |
geomFact
|
protected int |
nPts
|
protected PrecisionModel |
precModel
|
protected double |
rotationAngle
Default is no rotation. |
Constructor Summary | |
---|---|
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 . |
Method Summary | |
---|---|
protected Coordinate |
coord(double x,
double y)
|
protected Coordinate |
coordTrans(double x,
double y,
Coordinate trans)
|
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. |
protected Geometry |
rotate(Geometry geom)
|
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. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected GeometryFactory geomFact
protected PrecisionModel precModel
protected GeometricShapeFactory.Dimensions dim
protected int nPts
protected double rotationAngle
Constructor Detail |
---|
public GeometricShapeFactory()
GeometryFactory
.
public GeometricShapeFactory(GeometryFactory geomFact)
GeometryFactory
.
geomFact
- the factory to useMethod Detail |
---|
public 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.protected Geometry rotate(Geometry geom)
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 createSquircle()
Polygon
.
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 radians
public Polygon createArcPolygon(double startAng, double angExtent)
startAng
- start angle in radiansangExtent
- size of angle in radians
protected Coordinate coord(double x, double y)
protected Coordinate coordTrans(double x, double y, Coordinate trans)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |