geos::geom::MultiLineString Class Reference

Models a collection of LineStrings. More...

`#include <MultiLineString.h>`

Inheritance diagram for geos::geom::MultiLineString:

## Public Member Functions

Dimension::DimensionType | getDimension () const override
| Returns line dimension (1).
bool | hasDimension (Dimension::DimensionType d) const override
| Checks whether any component of this geometry has dimension d.
bool | isDimensionStrict (Dimension::DimensionType d) const override
| Checks whether this Geometry consists only of components having dimension d.
int | getBoundaryDimension () const override
| Returns Dimension::False if all LineStrings in the collection are closed, 0 otherwise.
std::unique_ptr< Geometry > | getBoundary () const override
| Returns a (possibly empty) MultiPoint.
const LineString * | getGeometryN (std::size_t n) const override
| Returns a pointer to the nth Geometry in this collection.
std::string | getGeometryType () const override
| Return a string representation of this Geometry type.
GeometryTypeId | getGeometryTypeId () const override
| Return an integer representation of this Geometry type.
bool | isClosed () const
std::unique_ptr< MultiLineString > | clone () const
std::unique_ptr< MultiLineString > | reverse () const
Public Member Functions inherited from geos::geom::GeometryCollection
const_iterator | begin () const
const_iterator | end () const
std::unique_ptr< GeometryCollection > | clone () const
void | setSRID (int) override
| Sets the ID of the Spatial Reference System used by the Geometry.
std::unique_ptr< CoordinateSequence > | getCoordinates () const override
| Collects all coordinates of all subgeometries into a CoordinateSequence.
bool | isEmpty () const override
| Returns whether or not the set of points in this Geometry is empty.
uint8_t | getCoordinateDimension () const override
| Returns coordinate dimension.
bool | hasM () const override
bool | hasZ () const override
std::size_t | getNumPoints () const override
| Returns the count of this Geometrys vertices.
bool | equalsExact (const Geometry *other, double tolerance=0) const override
| Returns true iff the two Geometrys are of the same type and their vertices corresponding by index are equal up to a specified distance tolerance. Geometries are not required to have the same dimemsion; any Z/M values are ignored.
bool | equalsIdentical (const Geometry *other) const override
| Returns true if the two geometries are of the same type and their vertices corresponding by index are equal in all dimensions.
void | apply_ro (CoordinateFilter *filter) const override
void | apply_rw (const CoordinateFilter *filter) override
void | apply_ro (GeometryFilter *filter) const override
void | apply_rw (GeometryFilter *filter) override
void | apply_ro (GeometryComponentFilter *filter) const override
void | apply_rw (GeometryComponentFilter *filter) override
void | apply_rw (CoordinateSequenceFilter &filter) override
void | apply_ro (CoordinateSequenceFilter &filter) const override
void | normalize () override
const CoordinateXY * | getCoordinate () const override
| Returns a vertex of this Geometry, or NULL if this is the empty geometry.
double | getArea () const override
| Returns the total area of this collection.
double | getLength () const override
| Returns the total length of this collection.
std::size_t | getNumGeometries () const override
| Returns the number of geometries in this collection.
std::vector< std::unique_ptr< Geometry > > | releaseGeometries ()
| Take ownership of the sub-geometries managed by this GeometryCollection. After releasing the sub-geometries, the collection should be considered in a moved-from state and should not be accessed.
std::unique_ptr< GeometryCollection > | reverse () const
const Envelope * | getEnvelopeInternal () const override
| Returns the minimum and maximum x and y values in this Geometry, or a null Envelope if this Geometry is empty.
Public Member Functions inherited from geos::geom::Geometry
std::unique_ptr< Geometry > | clone () const
| Make a deep-copy of this 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 () const
| Gets the user data object for this geometry, if any.
int | getSRID () const
| Returns the ID of the Spatial Reference System used by the Geometry.
const PrecisionModel * | getPrecisionModel () const
| Get the PrecisionModel used to create this Geometry.
virtual bool | isSimple () const
| Returns false if the Geometry not simple.
bool | isValid () const
| Tests the validity of this `Geometry`.
virtual bool | isRectangle () const
| Polygon overrides to check for actual rectangle.
bool | isPuntal () const
bool | isLineal () const
bool | isPolygonal () const
bool | isMixedDimension () const
bool | isMixedDimension (Dimension::DimensionType *baseDim) const
bool | isCollection () const
virtual std::unique_ptr< Geometry > | getEnvelope () const
| Returns this Geometrys bounding box.
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).
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
std::unique_ptr< IntersectionMatrix > | relate (const Geometry *g) const
| Returns the DE-9IM intersection matrix for the two Geometrys.
std::unique_ptr< IntersectionMatrix > | relate (const Geometry &g) const
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
std::unique_ptr< Geometry > | buffer (double distance) const
std::unique_ptr< 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.
std::unique_ptr< 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 std::unique_ptr< Geometry > | convexHull () const
| Returns the smallest convex Polygon that contains all the points in the Geometry.
std::unique_ptr< Geometry > | reverse () const
| Computes a new geometry which has all component coordinate sequences in reverse order (opposite orientation) to this one.
std::unique_ptr< Geometry > | intersection (const Geometry *other) const
| Returns a Geometry representing the points shared by this Geometry and other.
std::unique_ptr< Geometry > | Union (const Geometry *other) const
| Returns a Geometry representing all the points in this Geometry and other.
Ptr | Union () const
| Computes the union of all the elements of this geometry. Heterogeneous GeometryCollections are fully supported.
std::unique_ptr< Geometry > | difference (const Geometry *other) const
| Returns a Geometry representing the points making up this Geometry that do not make up other.
std::unique_ptr< 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 filter to each component of this geometry. The filter is expected to provide a .filter(const Geometry*) method.
int | compareTo (const Geometry *geom) const
| Comparator for sorting geometry.
virtual double | distance (const Geometry *g) const
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 std::unique_ptr< Point > | getCentroid () const
| Computes the centroid of this `Geometry`.
virtual bool | getCentroid (CoordinateXY &ret) const
| Computes the centroid of this Geometry as a Coordinate.
std::unique_ptr< Point > | getInteriorPoint () const
| Computes an interior point of this `Geometry`.
void | geometryChanged ()
| Notifies this Geometry that its Coordinates have been changed by an external party (using a CoordinateFilter, for example).

## Protected Member Functions

| MultiLineString (std::vector< std::unique_ptr< LineString > > &&newLines, const GeometryFactory &newFactory)
| Constructs a MultiLineString.
| MultiLineString (std::vector< std::unique_ptr< Geometry > > &&newLines, const GeometryFactory &newFactory)
| MultiLineString (const MultiLineString &mp)
MultiLineString * | cloneImpl () const override
| Make a deep-copy of this Geometry.
MultiLineString * | reverseImpl () const override
| Make a geometry with coordinates in reverse order.
int | getSortIndex () const override
bool | hasCurvedComponents () const override
| Returns whether the Geometry contains curved components.
Protected Member Functions inherited from geos::geom::GeometryCollection
| GeometryCollection (const GeometryCollection &gc)
GeometryCollection & | operator= (const GeometryCollection &gc)
| GeometryCollection (std::vector< std::unique_ptr< Geometry > > &&newGeoms, const GeometryFactory &newFactory)
| Construct a GeometryCollection with the given GeometryFactory. Will keep a reference to the factory, so don't delete it until al Geometry objects referring to it are deleted. Will take ownership of the Geometry vector.
template<typename T>
| GeometryCollection (std::vector< std::unique_ptr< T > > &&newGeoms, const GeometryFactory &newFactory)
| Convenience constructor to build a GeometryCollection from vector of Geometry subclass pointers.
Envelope | computeEnvelopeInternal () const
void | geometryChangedAction () override
| Notifies this Geometry that its Coordinates have been changed by an external party.
int | compareToSameClass (const Geometry *gc) const override
void | setFlags () 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.
bool | equal (const CoordinateXY &a, const CoordinateXY &b, double tolerance) const
| Geometry (const Geometry &geom)
| Geometry (const GeometryFactory *factory)
| Construct a geometry with the given GeometryFactory.

## Friends

class | GeometryFactory

## Additional Inherited Members

Public Types inherited from geos::geom::GeometryCollection
typedef std::vector< std::unique_ptr< Geometry > >::const_iterator | const_iterator
typedef std::vector< std::unique_ptr< Geometry > >::iterator | iterator
Public Types inherited from geos::geom::Geometry
using | ConstVect = std::vector<const Geometry*>
| A vector of const Geometry pointers.
using | NonConstVect = std::vector<Geometry*>
| A vector of non-const Geometry pointers.
using | Ptr = std::unique_ptr<Geometry>
| An unique_ptr of Geometry.
Static Public Member Functions inherited from geos::geom::Geometry
static GeometryTypeId | multiTypeId (GeometryTypeId typeId)
Static Protected Member Functions inherited from geos::geom::Geometry
template<typename T>
static bool | hasNonEmptyElements (const std::vector< T > *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.
template<typename T>
static bool | hasNullElements (const std::vector< T > *geometries)
| Returns true if the vector contains any null elements.
static void | checkNotGeometryCollection (const Geometry *g)
template<typename T>
static int | compare (const T &a, const T &b)
template<typename T>
static std::vector< std::unique_ptr< Geometry > > | toGeometryArray (std::vector< std::unique_ptr< T > > &&v)
static std::vector< std::unique_ptr< Geometry > > | toGeometryArray (std::vector< std::unique_ptr< Geometry > > &&v)
Protected Attributes inherited from geos::geom::GeometryCollection
std::vector< std::unique_ptr< Geometry > > | geometries
CollectionFlags | flags
Envelope | envelope
Protected Attributes inherited from geos::geom::Geometry
int | SRID

## Detailed Description

Models a collection of LineStrings.

## Constructor & Destructor Documentation

## MultiLineString()

geos::geom::MultiLineString::MultiLineString | ( | std::vector< std::unique_ptr< LineString > > && | newLines,
|  | const GeometryFactory & | newFactory )

protected

Constructs a MultiLineString.

Parameters

  newLines | The LineStrings for this MultiLineString, or null or an empty array to create the empty geometry. Elements may be empty LineString, but not nulls.
  newFactory | The GeometryFactory used to create this geometry. Caller must keep the factory alive for the life-time of the constructed MultiLineString.

Note
  Constructed object will take ownership of the vector and its elements.

References MultiLineString().

Referenced by cloneImpl(), MultiLineString(), and reverseImpl().

## Member Function Documentation

## cloneImpl()

MultiLineString * geos::geom::MultiLineString::cloneImpl | ( |  | ) | const

inline override protected virtual

Make a deep-copy of this Geometry.

Reimplemented from geos::geom::GeometryCollection.

References MultiLineString().

Referenced by getGeometryTypeId().

## getBoundary()

std::unique_ptr< Geometry > geos::geom::MultiLineString::getBoundary | ( |  | ) | const

override virtual

Returns a (possibly empty) MultiPoint.

Reimplemented from geos::geom::GeometryCollection.

## getBoundaryDimension()

int geos::geom::MultiLineString::getBoundaryDimension | ( |  | ) | const

override virtual

Returns Dimension::False if all LineStrings in the collection are closed, 0 otherwise.

Reimplemented from geos::geom::GeometryCollection.

## getDimension()

Dimension::DimensionType geos::geom::MultiLineString::getDimension | ( |  | ) | const

override virtual

Returns line dimension (1).

Reimplemented from geos::geom::GeometryCollection.

## getGeometryN()

const LineString * geos::geom::MultiLineString::getGeometryN | ( | std::size_t | n | ) | const

override virtual

Returns a pointer to the nth Geometry in this collection.

Reimplemented from geos::geom::GeometryCollection.

## getGeometryType()

std::string geos::geom::MultiLineString::getGeometryType | ( |  | ) | const

override virtual

Return a string representation of this Geometry type.

Reimplemented from geos::geom::GeometryCollection.

## getGeometryTypeId()

GeometryTypeId geos::geom::MultiLineString::getGeometryTypeId | ( |  | ) | const

override virtual

Return an integer representation of this Geometry type.

Reimplemented from geos::geom::GeometryCollection.

References cloneImpl().

## getSortIndex()

int geos::geom::MultiLineString::getSortIndex | ( |  | ) | const

inline override protected virtual

Reimplemented from geos::geom::GeometryCollection.

## hasCurvedComponents()

bool geos::geom::MultiLineString::hasCurvedComponents | ( |  | ) | const

inline override protected virtual

Returns whether the Geometry contains curved components.

Reimplemented from geos::geom::GeometryCollection.

## hasDimension()

bool geos::geom::MultiLineString::hasDimension | ( | Dimension::DimensionType | d | ) | const

inline override virtual

Checks whether any component of this geometry has dimension d.

Reimplemented from geos::geom::GeometryCollection.

References geos::geom::Dimension::L.

## isDimensionStrict()

bool geos::geom::MultiLineString::isDimensionStrict | ( | Dimension::DimensionType | d | ) | const

inline override virtual

Checks whether this Geometry consists only of components having dimension d.

Reimplemented from geos::geom::GeometryCollection.

References geos::geom::Dimension::L.

## reverse()

std::unique_ptr< MultiLineString > geos::geom::MultiLineString::reverse | ( |  | ) | const

inline

Creates a MultiLineString in the reverse order to this object. Both the order of the component LineStrings and the order of their coordinate sequences are reversed.

Returns
  a MultiLineString in the reverse order

References reverseImpl().

## reverseImpl()

MultiLineString * geos::geom::MultiLineString::reverseImpl | ( |  | ) | const

override protected virtual

Make a geometry with coordinates in reverse order.

Reimplemented from geos::geom::GeometryCollection.

References MultiLineString().

Referenced by reverse().

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

- MultiLineString.h