GEOS  3.4.2
Public Member Functions | Static Public Attributes | List of all members
geos::geom::LinearRing Class Reference

Models an OGC SFS LinearRing. More...

#include <LinearRing.h>

Inheritance diagram for geos::geom::LinearRing:
geos::geom::LineString geos::geom::Geometry geos::geom::Lineal geos::geom::Geometry

Public Member Functions

 LinearRing (const LinearRing &lr)
 
 LinearRing (CoordinateSequence *points, const GeometryFactory *newFactory)
 Constructs a LinearRing with the given points. More...
 
 LinearRing (CoordinateSequence::AutoPtr points, const GeometryFactory *newFactory)
 Hopefully cleaner version of the above.
 
virtual Geometryclone () const
 
int getBoundaryDimension () const
 Returns Dimension.FALSE, since by definition LinearRings do not have a boundary. More...
 
bool isSimple () const
 Returns true, since by definition LinearRings are always simple. More...
 
bool isClosed () const
 
std::string getGeometryType () const
 Return a string representation of this Geometry type.
 
virtual GeometryTypeId getGeometryTypeId () const
 Return an integer representation of this Geometry type.
 
void setPoints (CoordinateSequence *cl)
 
Geometryreverse () const
 
- Public Member Functions inherited from geos::geom::LineString
virtual CoordinateSequencegetCoordinates () const
 Returns this Geometry vertices. Caller takes ownership of the returned object.
 
const CoordinateSequencegetCoordinatesRO () const
 Returns a read-only pointer to internal CoordinateSequence.
 
virtual const CoordinategetCoordinateN (int n) const
 
virtual Dimension::DimensionType getDimension () const
 Returns line dimension (1)
 
virtual int getCoordinateDimension () const
 Returns coordinate dimension.
 
virtual GeometrygetBoundary () const
 Returns a MultiPoint. Empty for closed LineString, a Point for each vertex otherwise.
 
virtual bool isEmpty () const
 Returns whether or not the set of points in this Geometry is empty.
 
virtual std::size_t getNumPoints () const
 Returns the count of this Geometrys vertices.
 
virtual PointgetPointN (std::size_t n) const
 
virtual PointgetStartPoint () const
 Return the start point of the LineString or NULL if this is an EMPTY LineString.
 
virtual PointgetEndPoint () const
 Return the end point of the LineString or NULL if this is an EMPTY LineString.
 
virtual bool isRing () const
 
virtual bool isCoordinate (Coordinate &pt) const
 
virtual bool equalsExact (const Geometry *other, double tolerance=0) const
 Returns true if the two Geometrys are exactly equal, up to a specified tolerance.
 
virtual void apply_rw (const CoordinateFilter *filter)
 
virtual void apply_ro (CoordinateFilter *filter) const
 
virtual void apply_rw (GeometryFilter *filter)
 
virtual void apply_ro (GeometryFilter *filter) const
 
virtual void apply_rw (GeometryComponentFilter *filter)
 
virtual void apply_ro (GeometryComponentFilter *filter) const
 
void apply_rw (CoordinateSequenceFilter &filter)
 
void apply_ro (CoordinateSequenceFilter &filter) const
 
virtual void normalize ()
 Normalizes a LineString. More...
 
virtual int compareToSameClass (const Geometry *ls) const
 
virtual const CoordinategetCoordinate () const
 Returns a vertex of this Geometry, or NULL if this is the empty geometry.
 
virtual double getLength () const
 Returns the length of this Geometry.
 
Geometryreverse () const
 
- Public Member Functions inherited from geos::geom::Geometry
virtual ~Geometry ()
 Destroy Geometry and all components.
 
const GeometryFactorygetFactory () const
 Gets the factory which contains the context in which this geometry was created. More...
 
void setUserData (void *newUserData)
 A simple scheme for applications to add their own custom data to a Geometry. An example use might be to add an object representing a Coordinate Reference System. More...
 
void * getUserData ()
 Gets the user data object for this geometry, if any. More...
 
virtual int getSRID () const
 
virtual void setSRID (int newSRID)
 
const PrecisionModelgetPrecisionModel () const
 Get the PrecisionModel used to create this Geometry.
 
virtual std::size_t getNumGeometries () const
 
virtual const GeometrygetGeometryN (std::size_t) const
 
virtual bool isValid () const
 Tests the validity of this Geometry. More...
 
virtual bool isRectangle () const
 Polygon overrides to check for actual rectangle.
 
virtual GeometrygetEnvelope () const
 Returns this Geometrys bounding box.
 
virtual const EnvelopegetEnvelopeInternal () const
 Returns the minimum and maximum x and y values in this Geometry, or a null Envelope if this Geometry is empty.
 
virtual bool disjoint (const Geometry *other) const
 
virtual bool touches (const Geometry *other) const
 Returns true if the DE-9IM intersection matrix for the two Geometrys is FT*******, F**T***** or F***T****.
 
virtual bool intersects (const Geometry *g) const
 Returns true if disjoint returns false.
 
virtual bool crosses (const Geometry *g) const
 
virtual bool within (const Geometry *g) const
 Returns true if the DE-9IM intersection matrix for the two Geometrys is T*F**F***.
 
virtual bool contains (const Geometry *g) const
 Returns true if other.within(this) returns true.
 
virtual bool overlaps (const Geometry *g) const
 Returns true if the DE-9IM intersection matrix for the two Geometrys is T*T***T** (for two points or two surfaces) 1*T***T** (for two curves).
 
virtual bool relate (const Geometry *g, const std::string &intersectionPattern) const
 Returns true if the elements in the DE-9IM intersection matrix for the two Geometrys match the elements in intersectionPattern. More...
 
bool relate (const Geometry &g, const std::string &intersectionPattern) const
 
virtual IntersectionMatrixrelate (const Geometry *g) const
 Returns the DE-9IM intersection matrix for the two Geometrys.
 
IntersectionMatrixrelate (const Geometry &g) const
 
virtual bool equals (const Geometry *g) const
 Returns true if the DE-9IM intersection matrix for the two Geometrys is T*F**FFF*.
 
bool covers (const Geometry *g) const
 Returns true if this geometry covers the specified geometry. More...
 
bool coveredBy (const Geometry *g) const
 Tests whether this geometry is covered by the specified geometry. More...
 
virtual std::string toString () const
 Returns the Well-known Text representation of this Geometry.
 
virtual std::string toText () const
 
virtual Geometrybuffer (double distance) const
 Returns a buffer region around this Geometry having the given width. More...
 
virtual Geometrybuffer (double distance, int quadrantSegments) const
 Returns a buffer region around this Geometry having the given width and with a specified number of segments used to approximate curves. More...
 
virtual Geometrybuffer (double distance, int quadrantSegments, int endCapStyle) const
 Computes a buffer area around this geometry having the given width and with a specified accuracy of approximation for circular arcs, and using a specified end cap style. More...
 
virtual GeometryconvexHull () const
 Returns the smallest convex Polygon that contains all the points in the Geometry.
 
virtual Geometryintersection (const Geometry *other) const
 Returns a Geometry representing the points shared by this Geometry and other. More...
 
GeometryUnion (const Geometry *other) const
 Returns a Geometry representing all the points in this Geometry and other. More...
 
AutoPtr Union () const
 
virtual Geometrydifference (const Geometry *other) const
 Returns a Geometry representing the points making up this Geometry that do not make up other. More...
 
virtual GeometrysymDifference (const Geometry *other) const
 Returns a set combining the points in this Geometry not in other, and the points in other not in this Geometry. More...
 
template<class T >
void applyComponentFilter (T &f) const
 Apply a fiter to each component of this geometry. The filter is expected to provide a .filter(const Geometry*) method. More...
 
virtual int compareTo (const Geometry *geom) const
 
virtual double distance (const Geometry *g) const
 Returns the minimum distance between this Geometry and the Geometry g.
 
virtual double getArea () const
 Returns the area of this Geometry.
 
virtual bool isWithinDistance (const Geometry *geom, double cDistance) const
 Tests whether the distance from this Geometry to another is less than or equal to a specified value. More...
 
virtual PointgetCentroid () const
 Computes the centroid of this Geometry. More...
 
virtual bool getCentroid (Coordinate &ret) const
 Computes the centroid of this Geometry as a Coordinate. More...
 
virtual PointgetInteriorPoint () const
 Computes an interior point of this Geometry. More...
 
virtual void geometryChanged ()
 
void geometryChangedAction ()
 Notifies this Geometry that its Coordinates have been changed by an external party.
 

Static Public Attributes

static const unsigned int MINIMUM_VALID_SIZE = 4
 

Additional Inherited Members

- Public Types inherited from geos::geom::LineString
typedef std::vector< const
LineString * > 
ConstVect
 A vector of const LineString pointers.
 
- Public Types inherited from geos::geom::Geometry
typedef std::vector< const
Geometry * > 
ConstVect
 A vector of const Geometry pointers.
 
typedef std::vector< Geometry * > NonConstVect
 A vector of non-const Geometry pointers.
 
typedef std::auto_ptr< GeometryAutoPtr
 An auto_ptr of Geometry.
 
- Protected Member Functions inherited from geos::geom::LineString
 LineString (const LineString &ls)
 
 LineString (CoordinateSequence *pts, const GeometryFactory *newFactory)
 Constructs a LineString taking ownership the given CoordinateSequence.
 
 LineString (CoordinateSequence::AutoPtr pts, const GeometryFactory *newFactory)
 Hopefully cleaner version of the above.
 
Envelope::AutoPtr computeEnvelopeInternal () const
 
- Protected Member Functions inherited from geos::geom::Geometry
virtual bool isEquivalentClass (const Geometry *other) const
 Returns whether the two Geometrys are equal, from the point of view of the equalsExact method.
 
int compare (std::vector< Coordinate > a, std::vector< Coordinate > b) const
 
int compare (std::vector< Geometry * > a, std::vector< Geometry * > b) const
 
bool equal (const Coordinate &a, const Coordinate &b, double tolerance) const
 
 Geometry (const Geometry &geom)
 Polygon overrides to check for actual rectangle. More...
 
 Geometry (const GeometryFactory *factory)
 Construct a geometry with the given GeometryFactory. More...
 
- Static Protected Member Functions inherited from geos::geom::Geometry
static bool hasNonEmptyElements (const std::vector< Geometry * > *geometries)
 Returns true if the array contains any non-empty Geometrys.
 
static bool hasNullElements (const CoordinateSequence *list)
 Returns true if the CoordinateSequence contains any null elements.
 
static bool hasNullElements (const std::vector< Geometry * > *lrs)
 Returns true if the vector contains any null elements.
 
static void checkNotGeometryCollection (const Geometry *g)
 
- Protected Attributes inherited from geos::geom::LineString
CoordinateSequence::AutoPtr points
 
- Protected Attributes inherited from geos::geom::Geometry
std::auto_ptr< Envelopeenvelope
 The bounding box of this Geometry.
 
int SRID
 

Detailed Description

Models an OGC SFS LinearRing.

A LinearRing is a LineString which is both closed and simple. In other words, the first and last coordinate in the ring must be equal, and the interior of the ring must not self-intersect. Either orientation of the ring is allowed.

A ring must have either 0 or 4 or more points. The first and last points must be equal (in 2D). If these conditions are not met, the constructors throw an IllegalArgumentException

Constructor & Destructor Documentation

geos::geom::LinearRing::LinearRing ( CoordinateSequence points,
const GeometryFactory newFactory 
)

Constructs a LinearRing with the given points.

Parameters
pointspoints forming a closed and simple linestring, or null or an empty array to create the empty geometry. This array must not contain null elements. If not null LinearRing will take ownership of points.
newFactorythe GeometryFactory used to create this geometry

Member Function Documentation

virtual Geometry* geos::geom::LinearRing::clone ( ) const
inlinevirtual

Creates and returns a full copy of this LineString object. (including all coordinates contained by it).

Returns
a clone of this instance

Reimplemented from geos::geom::LineString.

int geos::geom::LinearRing::getBoundaryDimension ( ) const
virtual

Returns Dimension.FALSE, since by definition LinearRings do not have a boundary.

Returns
Dimension::False

Reimplemented from geos::geom::LineString.

bool geos::geom::LinearRing::isSimple ( ) const
virtual

Returns true, since by definition LinearRings are always simple.

Returns
true
See Also
Geometry::isSimple

Reimplemented from geos::geom::Geometry.

Member Data Documentation

const unsigned int geos::geom::LinearRing::MINIMUM_VALID_SIZE = 4
static

The minimum number of vertices allowed in a valid non-empty ring (= 4). Empty rings with 0 vertices are also valid.


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