GEOS  3.9.1dev
Public Member Functions | Protected Member Functions | Friends | List of all members
geos::geom::MultiPoint Class Reference

#include <MultiPoint.h>

Inheritance diagram for geos::geom::MultiPoint:
[legend]
Collaboration diagram for geos::geom::MultiPoint:
[legend]

Public Member Functions

 ~MultiPoint () override=default
 
Dimension::DimensionType getDimension () const override
 Returns point dimension (0) More...
 
bool isDimensionStrict (Dimension::DimensionType d) const override
 Checks whether this Geometry consists only of components having dimension d. More...
 
int getBoundaryDimension () const override
 Returns Dimension::False (Point has no boundary) More...
 
std::unique_ptr< GeometrygetBoundary () const override
 Gets the boundary of this geometry. More...
 
const PointgetGeometryN (std::size_t n) const override
 Returns a pointer to the nth Geometry in this collection. More...
 
std::string getGeometryType () const override
 Return a string representation of this Geometry type. More...
 
GeometryTypeId getGeometryTypeId () const override
 Return an integer representation of this Geometry type. More...
 
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 tolerance. More...
 
std::unique_ptr< Geometryclone () const override
 
std::unique_ptr< Geometryreverse () const override
 
- Public Member Functions inherited from geos::geom::GeometryCollection
const_iterator begin () const
 
const_iterator end () const
 
 ~GeometryCollection () override=default
 
void setSRID (int) override
 Sets the ID of the Spatial Reference System used by the Geometry. More...
 
std::unique_ptr< CoordinateSequencegetCoordinates () const override
 Collects all coordinates of all subgeometries into a CoordinateSequence. More...
 
bool isEmpty () const override
 Returns whether or not the set of points in this Geometry is empty. More...
 
uint8_t getCoordinateDimension () const override
 Returns coordinate dimension. More...
 
std::size_t getNumPoints () const override
 Returns the count of this Geometrys vertices. More...
 
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 CoordinategetCoordinate () const override
 Returns a vertex of this Geometry, or NULL if this is the empty geometry. More...
 
double getArea () const override
 Returns the total area of this collection. More...
 
double getLength () const override
 Returns the total length of this collection. More...
 
std::size_t getNumGeometries () const override
 Returns the number of geometries in this collection. More...
 
- Public Member Functions inherited from geos::geom::Geometry
virtual ~Geometry ()
 Destroy Geometry and all components. More...
 
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 () const
 Gets the user data object for this geometry, if any. More...
 
virtual int getSRID () const
 Returns the ID of the Spatial Reference System used by the Geometry. More...
 
const PrecisionModelgetPrecisionModel () const
 Get the PrecisionModel used to create this Geometry. More...
 
virtual bool isSimple () const
 Returns false if the Geometry not simple. More...
 
virtual bool isValid () const
 Tests the validity of this Geometry. More...
 
virtual bool isRectangle () const
 Polygon overrides to check for actual rectangle. More...
 
bool isPuntal () const
 
bool isLineal () const
 
bool isPolygonal () const
 
bool isCollection () const
 
virtual std::unique_ptr< GeometrygetEnvelope () const
 Returns this Geometrys bounding box. More...
 
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. More...
 
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****. More...
 
virtual bool intersects (const Geometry *g) const
 Returns true if disjoint returns false. More...
 
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***. More...
 
virtual bool contains (const Geometry *g) const
 Returns true if other.within(this) returns true. More...
 
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). More...
 
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
 
std::unique_ptr< IntersectionMatrixrelate (const Geometry *g) const
 Returns the DE-9IM intersection matrix for the two Geometrys. More...
 
std::unique_ptr< 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*. More...
 
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. More...
 
virtual std::string toText () const
 
std::unique_ptr< Geometrybuffer (double distance) const
 
std::unique_ptr< 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...
 
std::unique_ptr< 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 std::unique_ptr< GeometryconvexHull () const
 Returns the smallest convex Polygon that contains all the points in the Geometry. More...
 
std::unique_ptr< Geometryintersection (const Geometry *other) const
 Returns a Geometry representing the points shared by this Geometry and other. More...
 
std::unique_ptr< GeometryUnion (const Geometry *other) const
 Returns a Geometry representing all the points in this Geometry and other. More...
 
Ptr Union () const
 Computes the union of all the elements of this geometry. Heterogeneous GeometryCollections are fully supported. More...
 
std::unique_ptr< Geometrydifference (const Geometry *other) const
 Returns a Geometry representing the points making up this Geometry that do not make up other. More...
 
std::unique_ptr< 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 filter 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
 Comparator for sorting geometry. More...
 
virtual double distance (const Geometry *g) const
 Returns the minimum distance between this Geometry and the Geometry g. More...
 
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 std::unique_ptr< 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...
 
std::unique_ptr< PointgetInteriorPoint () const
 Computes an interior point of this Geometry. More...
 
virtual void geometryChanged ()
 Notifies this Geometry that its Coordinates have been changed by an external party (using a CoordinateFilter, for example). More...
 
void geometryChangedAction ()
 Notifies this Geometry that its Coordinates have been changed by an external party. More...
 

Protected Member Functions

 MultiPoint (std::vector< Geometry * > *newPoints, const GeometryFactory *newFactory)
 Constructs a MultiPoint. More...
 
 MultiPoint (std::vector< std::unique_ptr< Point >> &&newPoints, const GeometryFactory &newFactory)
 
 MultiPoint (std::vector< std::unique_ptr< Geometry >> &&newPoints, const GeometryFactory &newFactory)
 
 MultiPoint (const MultiPoint &mp)
 
const CoordinategetCoordinateN (size_t n) const
 
int getSortIndex () const override
 
- Protected Member Functions inherited from geos::geom::GeometryCollection
 GeometryCollection (const GeometryCollection &gc)
 
 GeometryCollection (std::vector< 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. More...
 
 GeometryCollection (std::vector< std::unique_ptr< Geometry >> &&newGeoms, const GeometryFactory &newFactory)
 
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. More...
 
Envelope::Ptr computeEnvelopeInternal () const override
 
int compareToSameClass (const Geometry *gc) const override
 
- 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. More...
 
int compare (std::vector< Coordinate > a, std::vector< Coordinate > b) const
 
int compare (std::vector< Geometry * > a, std::vector< Geometry * > b) const
 
int compare (const std::vector< std::unique_ptr< Geometry >> &a, const std::vector< std::unique_ptr< Geometry >> &b) const
 
bool equal (const Coordinate &a, const Coordinate &b, double tolerance) const
 
 Geometry (const Geometry &geom)
 
 Geometry (const GeometryFactory *factory)
 Construct a geometry with the given GeometryFactory. More...
 

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. More...
 
using NonConstVect = std::vector< Geometry * >
 A vector of non-const Geometry pointers. More...
 
using Ptr = std::unique_ptr< Geometry >
 An unique_ptr of Geometry. More...
 
- 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. More...
 
static bool hasNullElements (const CoordinateSequence *list)
 Returns true if the CoordinateSequence contains any null elements. More...
 
template<typename T >
static bool hasNullElements (const std::vector< T > *geometries)
 Returns true if the vector contains any null elements. More...
 
static void checkNotGeometryCollection (const Geometry *g)
 
template<typename T >
static std::vector< std::unique_ptr< Geometry > > toGeometryArray (std::vector< std::unique_ptr< T >> &&v)
 
- Protected Attributes inherited from geos::geom::GeometryCollection
std::vector< std::unique_ptr< Geometry > > geometries
 
- Protected Attributes inherited from geos::geom::Geometry
std::unique_ptr< Envelopeenvelope
 The bounding box of this Geometry. More...
 
int SRID
 

Detailed Description

Models a collection of Point objects.

Any collection of Points is a valid MultiPoint.

Definition at line 54 of file MultiPoint.h.

Constructor & Destructor Documentation

geos::geom::MultiPoint::~MultiPoint ( )
overridedefault
geos::geom::MultiPoint::MultiPoint ( std::vector< Geometry * > *  newPoints,
const GeometryFactory newFactory 
)
protected

Constructs a MultiPoint.

Parameters
newPointsthe Points for this MultiPoint, or null or an empty array to create the empty geometry. Elements may be empty Points, but not nulls.

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

Parameters
newFactoryThe GeometryFactory used to create this geometry Caller must keep the factory alive for the life-time of the constructed MultiPoint.
geos::geom::MultiPoint::MultiPoint ( std::vector< std::unique_ptr< Point >> &&  newPoints,
const GeometryFactory newFactory 
)
protected
geos::geom::MultiPoint::MultiPoint ( std::vector< std::unique_ptr< Geometry >> &&  newPoints,
const GeometryFactory newFactory 
)
protected
geos::geom::MultiPoint::MultiPoint ( const MultiPoint mp)
inlineprotected

Definition at line 129 of file MultiPoint.h.

Member Function Documentation

std::unique_ptr<Geometry> geos::geom::MultiPoint::clone ( ) const
inlineoverridevirtual

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

Returns
a clone of this instance

Reimplemented from geos::geom::GeometryCollection.

Definition at line 92 of file MultiPoint.h.

bool geos::geom::MultiPoint::equalsExact ( const Geometry other,
double  tolerance = 0 
) const
overridevirtual

Returns true iff the two Geometrys are of the same type and their vertices corresponding by index are equal up to a specified tolerance.

Reimplemented from geos::geom::GeometryCollection.

std::unique_ptr<Geometry> geos::geom::MultiPoint::getBoundary ( ) const
overridevirtual

Gets the boundary of this geometry.

Zero-dimensional geometries have no boundary by definition, so an empty GeometryCollection is returned.

Returns
an empty GeometryCollection
See also
Geometry::getBoundary

Reimplemented from geos::geom::GeometryCollection.

int geos::geom::MultiPoint::getBoundaryDimension ( ) const
overridevirtual

Returns Dimension::False (Point has no boundary)

Reimplemented from geos::geom::GeometryCollection.

const Coordinate* geos::geom::MultiPoint::getCoordinateN ( size_t  n) const
protected
Dimension::DimensionType geos::geom::MultiPoint::getDimension ( ) const
overridevirtual

Returns point dimension (0)

Reimplemented from geos::geom::GeometryCollection.

const Point* geos::geom::MultiPoint::getGeometryN ( std::size_t  n) const
overridevirtual

Returns a pointer to the nth Geometry in this collection.

Reimplemented from geos::geom::GeometryCollection.

std::string geos::geom::MultiPoint::getGeometryType ( ) const
overridevirtual

Return a string representation of this Geometry type.

Reimplemented from geos::geom::GeometryCollection.

GeometryTypeId geos::geom::MultiPoint::getGeometryTypeId ( ) const
overridevirtual

Return an integer representation of this Geometry type.

Reimplemented from geos::geom::GeometryCollection.

int geos::geom::MultiPoint::getSortIndex ( ) const
inlineoverrideprotectedvirtual

Reimplemented from geos::geom::GeometryCollection.

Definition at line 134 of file MultiPoint.h.

References geos::geom::SORTINDEX_MULTIPOINT.

bool geos::geom::MultiPoint::isDimensionStrict ( Dimension::DimensionType  d) const
inlineoverridevirtual

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

Reimplemented from geos::geom::GeometryCollection.

Definition at line 65 of file MultiPoint.h.

References geos::geom::Dimension::P.

std::unique_ptr<Geometry> geos::geom::MultiPoint::reverse ( ) const
inlineoverridevirtual

Creates a GeometryCollection with every component reversed. The order of the components in the collection are not reversed.

Returns
a GeometryCollection in the reverse order

Reimplemented from geos::geom::GeometryCollection.

Definition at line 98 of file MultiPoint.h.

Friends And Related Function Documentation

friend class GeometryFactory
friend

Definition at line 58 of file MultiPoint.h.


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