GEOS 3.4.2

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

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:

## Public Member Functions
| LinearRing (const LinearRing &lr)
| LinearRing (CoordinateSequence *points, const GeometryFactory *newFactory)
| Constructs a `LinearRing` with the given points.
| LinearRing (CoordinateSequence::AutoPtr points, const GeometryFactory *newFactory)
| Hopefully cleaner version of the above.
virtual Geometry * | clone () const
int | getBoundaryDimension () const
| Returns `Dimension.FALSE`, since by definition LinearRings do not have a boundary.
bool | isSimple () const
| Returns `true`, since by definition LinearRings are always simple.
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)
Geometry * | reverse () const
Public Member Functions inherited from geos::geom::LineString
virtual CoordinateSequence * | getCoordinates () const
| Returns this Geometry vertices. Caller takes ownership of the returned object.
const CoordinateSequence * | getCoordinatesRO () const
| Returns a read-only pointer to internal CoordinateSequence.
virtual const Coordinate & | getCoordinateN (int n) const
virtual Dimension::DimensionType | getDimension () const
| Returns line dimension (1)
virtual int | getCoordinateDimension () const
| Returns coordinate dimension.
virtual Geometry * | getBoundary () 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 Point * | getPointN (std::size_t n) const
virtual Point * | getStartPoint () const
| Return the start point of the LineString or NULL if this is an EMPTY LineString.
virtual Point * | getEndPoint () 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.
virtual int | compareToSameClass (const Geometry *ls) const
virtual const Coordinate * | getCoordinate () 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.
Geometry * | reverse () const
Public Member Functions inherited from geos::geom::Geometry
virtual | ~Geometry ()
| Destroy Geometry and all components.
const GeometryFactory * | getFactory () const
| Gets the factory which contains the context in which this geometry was created.
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.
void * | getUserData ()
| Gets the user data object for this geometry, if any.
virtual int | getSRID () const
virtual void | setSRID (int newSRID)
const PrecisionModel * | getPrecisionModel () const
| Get the PrecisionModel used to create this Geometry.
virtual std::size_t | getNumGeometries () const
virtual const Geometry * | getGeometryN (std::size_t) const
virtual bool | isValid () const
| Tests the validity of this `Geometry`.
virtual bool | isRectangle () const
| Polygon overrides to check for actual rectangle.
virtual Geometry * | getEnvelope () const
| Returns this Geometrys bounding box.
virtual const Envelope * | getEnvelopeInternal () 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.
bool | relate (const Geometry &g, const std::string &intersectionPattern) const
virtual IntersectionMatrix * | relate (const Geometry *g) const
| Returns the DE-9IM intersection matrix for the two Geometrys.
IntersectionMatrix * | relate (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.
bool | coveredBy (const Geometry *g) const
| Tests whether this geometry is covered by the specified geometry.
virtual std::string | toString () const
| Returns the Well-known Text representation of this Geometry.
virtual std::string | toText () const
virtual Geometry * | buffer (double distance) const
| Returns a buffer region around this Geometry having the given width.
virtual Geometry * | buffer (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.
virtual Geometry * | buffer (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.
virtual Geometry * | convexHull () const
| Returns the smallest convex Polygon that contains all the points in the Geometry.
virtual Geometry * | intersection (const Geometry *other) const
| Returns a Geometry representing the points shared by this Geometry and other.
Geometry * | Union (const Geometry *other) const
| Returns a Geometry representing all the points in this Geometry and other.
AutoPtr | Union () const
virtual Geometry * | difference (const Geometry *other) const
| Returns a Geometry representing the points making up this Geometry that do not make up other.
virtual Geometry * | symDifference (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.
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.
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.
virtual Point * | getCentroid () const
| Computes the centroid of this `Geometry`.
virtual bool | getCentroid (Coordinate &ret) const
| Computes the centroid of this Geometry as a Coordinate.
virtual Point * | getInteriorPoint () const
| Computes an interior point of this `Geometry`.
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.
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
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

## 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

  points | points 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.
  newFactory | the GeometryFactory used to create this geometry

## Member Function Documentation

virtual Geometry* geos::geom::LinearRing::clone | ( |  | ) | const
| inline virtual

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:

- LinearRing.h