68 double x()
const {
return mX; }
74 double y()
const {
return mY; }
80 double z()
const {
return mZ; }
86 double m()
const {
return mM; }
158 void clear()
override;
162 unsigned char*
asWkb(
int& binarySize )
const override;
186 virtual int vertexCount(
int = 0,
int = 0 )
const override {
return 1; }
187 virtual int ringCount(
int = 0 )
const override {
return 1; }
191 virtual bool addZValue(
double zValue = 0 )
override;
192 virtual bool addMValue(
double mValue = 0 )
override;
204 #endif // QGSPOINTV2_H
double & rx()
Returns a reference to the x-coordinate of this point.
A rectangle specified with double values.
virtual int ringCount(int=0) const override
virtual bool dropMValue()=0
Drops any measure values which exist in the geometry.
void setZ(double z)
Sets the point's z-coordinate.
virtual QgsCoordinateSequenceV2 coordinateSequence() const =0
Retrieves the sequence of geometries, rings and nodes.
double x() const
Returns the point's x-coordinate.
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
bool operator!=(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
virtual QString asJSON(int precision=17) const =0
Returns a GeoJSON representation of the geometry.
virtual int dimension() const override
Returns the inherent dimension of the geometry.
Abstract base class for all geometries.
TransformDirection
Enum used to indicate the direction (forward or inverse) of the transform.
void setX(double x)
Sets the point's x-coordinate.
virtual bool dropZValue()=0
Drops any z-dimensions which exist in the geometry.
virtual int wkbSize() const =0
Returns the size of the WKB representation of the geometry.
void setY(double y)
Sets the point's y-coordinate.
virtual bool addMValue(double mValue=0)=0
Adds a measure to the geometry, initialized to a preset value.
double y() const
Returns the point's y-coordinate.
virtual void clear()=0
Clears the geometry, ie reset it to a null geometry.
virtual QString geometryType() const override
Returns a unique string representing the geometry type.
virtual bool insertVertex(QgsVertexId position, const QgsPointV2 &vertex) override
Inserts a vertex into the geometry.
virtual bool deleteVertex(QgsVertexId position) override
Deletes a vertex within the geometry.
Utility class for identifying a unique vertex within a geometry.
double z() const
Returns the point's z-coordinate.
void setM(double m)
Sets the point's m-value.
virtual bool fromWkb(QgsConstWkbPtr wkb)=0
Sets the geometry from a WKB string.
Point geometry type, with support for z-dimension and m-values.
virtual unsigned char * asWkb(int &binarySize) const =0
Returns a WKB representation of the geometry.
virtual void transform(const QgsCoordinateTransform &ct, QgsCoordinateTransform::TransformDirection d=QgsCoordinateTransform::ForwardTransform)=0
Transforms the geometry using a coordinate transform.
virtual bool addZValue(double zValue=0)=0
Adds a z-dimension to the geometry, initialized to a preset value.
virtual int nCoordinates() const override
Returns the number of nodes contained in the geometry.
virtual QDomElement asGML3(QDomDocument &doc, int precision=17, const QString &ns="gml") const =0
Returns a GML3 representation of the geometry.
virtual bool nextVertex(QgsVertexId &id, QgsPointV2 &vertex) const =0
Returns next vertex id and coordinates.
virtual bool fromWkt(const QString &wkt)=0
Sets the geometry from a WKT string.
A class to represent a point.
double & rz()
Returns a reference to the z-coordinate of this point.
virtual QgsRectangle boundingBox() const override
Returns the minimal bounding box for the geometry.
virtual bool convertTo(QgsWKBTypes::Type type)
Converts the geometry to a specified type.
double vertexAngle(QgsVertexId vertex) const override
Angle undefined.
double & rm()
Returns a reference to the m value of this point.
virtual QString asWkt(int precision=17) const =0
Returns a WKT representation of the geometry.
double m() const
Returns the point's m value.
virtual void clearCache() const
Clears any cached parameters associated with the geometry, eg bounding boxes.
virtual void draw(QPainter &p) const =0
Draws the geometry using the specified QPainter.
double ANALYSIS_EXPORT leftOf(Point3D *thepoint, Point3D *p1, Point3D *p2)
Returns whether 'thepoint' is left or right of the line from 'p1' to 'p2'.
virtual QgsPointV2 vertexAt(QgsVertexId) const override
Returns the point corresponding to a specified vertex id.
virtual QDomElement asGML2(QDomDocument &doc, int precision=17, const QString &ns="gml") const =0
Returns a GML2 representation of the geometry.
double & ry()
Returns a reference to the y-coordinate of this point.
virtual QgsAbstractGeometryV2 * clone() const =0
Clones the geometry by performing a deep copy.
virtual bool moveVertex(QgsVertexId position, const QgsPointV2 &newPos)=0
Moves a vertex within the geometry.
virtual double closestSegment(const QgsPointV2 &pt, QgsPointV2 &segmentPt, QgsVertexId &vertexAfter, bool *leftOf, double epsilon) const =0
Searches for the closest segment of the geometry to a given point.
virtual int vertexCount(int=0, int=0) const override
virtual int partCount() const override
Returns count of parts contained in the geometry.