GEOS  3.3.6
Public Member Functions | Protected Member Functions | Protected Attributes
geos::util::GeometricShapeFactory Class Reference

#include <GeometricShapeFactory.h>

Inheritance diagram for geos::util::GeometricShapeFactory:
geos::geom::util::SineStarFactory

List of all members.

Public Member Functions

 GeometricShapeFactory (const geom::GeometryFactory *factory)
 Create a shape factory which will create shapes using the given GeometryFactory.
geom::LineStringcreateArc (double startAng, double angExtent)
 Creates an elliptical arc, as a LineString.
geom::PolygoncreateArcPolygon (double startAng, double angExt)
 Creates an elliptical arc polygon.
geom::PolygoncreateCircle ()
 Creates a circular Polygon.
geom::PolygoncreateRectangle ()
 Creates a rectangular Polygon.
void setBase (const geom::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 (const geom::Coordinate &centre)
 Sets the location of the shape by specifying the centre of the shape's bounding box.
void setHeight (double height)
 Sets the height of the shape.
void setNumPoints (int nNPts)
 Sets the total number of points in the created Geometry.
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.

Protected Member Functions

geom::Coordinate coord (double x, double y) const

Protected Attributes

const geom::GeometryFactorygeomFact
const geom::PrecisionModelprecModel
Dimensions dim
int nPts

Detailed Description

Computes various kinds of common geometric shapes.

Allows various ways of specifying the location and extent of the shapes, as well as number of line segments used to form them.

Example:

  GeometricShapeFactory gsf(factory);
  gsf.setSize(100);
  gsf.setNumPoints(100);
  gsf.setBase(Coordinate(0, 0));
  std::auto_ptr<Polygon> rect ( gsf.createRectangle() );
 

Constructor & Destructor Documentation

Create a shape factory which will create shapes using the given GeometryFactory.

Parameters:
factorythe factory to use. You need to keep the factory alive for the whole GeometricShapeFactory life time.

Member Function Documentation

geom::LineString* geos::util::GeometricShapeFactory::createArc ( double  startAng,
double  angExtent 
)

Creates an elliptical arc, as a LineString.

The arc is always created in a counter-clockwise direction.

Parameters:
startAngstart angle in radians
angExtentsize of angle in radians
Returns:
an elliptical arc
geom::Polygon* geos::util::GeometricShapeFactory::createArcPolygon ( double  startAng,
double  angExt 
)

Creates an elliptical arc polygon.

The polygon is formed from the specified arc of an ellipse and the two radii connecting the endpoints to the centre of the ellipse.

Parameters:
startAngstart angle in radians
angExtentsize of angle in radians
Returns:
an elliptical arc polygon

Creates a circular Polygon.

Returns:
a circle

Creates a rectangular Polygon.

Returns:
a rectangular Polygon

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).

Parameters:
basethe base coordinate of the shape

Sets the location of the shape by specifying the centre of the shape's bounding box.

Parameters:
centrethe centre coordinate of the shape

Sets the height of the shape.

Parameters:
heightthe height of the shape

Sets the size of the extent of the shape in both x and y directions.

Parameters:
sizethe size of the shape's extent

Sets the width of the shape.

Parameters:
widththe width of the shape

The documentation for this class was generated from the following file: