49 if ( !mCoordinateSequence.
isEmpty() )
50 return mCoordinateSequence;
56 return mCoordinateSequence;
81 return pointAt(
id.vertex, vertex,
id.type );
113 if ( mBoundingBox.
isNull() )
virtual bool addGeometry(QgsAbstractGeometryV2 *g) override
Adds a geometry and takes ownership.
A rectangle specified with double values.
bool isEmpty() const
Returns true if the geometry is empty.
SegmentationToleranceType
Segmentation tolerance as maximum angle or maximum difference between approximation and circle...
Abstract base class for all geometries.
Multi point geometry collection.
double z() const
Returns the point's z-coordinate.
double y() const
Returns the point's y-coordinate.
virtual bool isRing() const
Returns true if the curve is a ring.
bool qgsDoubleNear(double a, double b, double epsilon=4 *DBL_EPSILON)
Compare two doubles (but allow some difference)
virtual int numPoints() const =0
Returns the number of points in the curve.
void append(const T &value)
virtual bool isClosed() const
Returns true if the curve is closed.
Utility class for identifying a unique vertex within a geometry.
QgsCurveV2 * segmentize(double tolerance=M_PI_2/90, SegmentationToleranceType toleranceType=MaximumAngle) const override
Returns a geometry without curves.
virtual QgsAbstractGeometryV2 * boundary() const override
Returns the closure of the combinatorial boundary of the geometry (ie the topological boundary of the...
Point geometry type, with support for z-dimension and m-values.
double x() const
Returns the point's x-coordinate.
virtual bool nextVertex(QgsVertexId &id, QgsPointV2 &vertex) const override
Returns next vertex id and coordinates.
QList< QgsPointSequenceV2 > QgsRingSequenceV2
virtual bool pointAt(int node, QgsPointV2 &point, QgsVertexId::VertexType &type) const =0
Returns the point and vertex id of a point within the curve.
virtual QgsPointV2 endPoint() const =0
Returns the end point of the curve.
virtual QgsLineStringV2 * curveToLine(double tolerance=M_PI_2/90, SegmentationToleranceType toleranceType=MaximumAngle) const =0
Returns a new line string geometry corresponding to a segmentized approximation of the curve...
bool isNull() const
test if the rectangle is null (all coordinates zero or after call to setMinimal()).
virtual QgsPointV2 startPoint() const =0
Returns the starting point of the curve.
virtual QgsPointV2 vertexAt(QgsVertexId id) const override
Returns the point corresponding to a specified vertex id.
virtual QgsCoordinateSequenceV2 coordinateSequence() const override
Retrieves the sequence of geometries, rings and nodes.
Abstract base class for curved geometry type.
virtual QgsRectangle calculateBoundingBox() const
Default calculator for the minimal bounding box for the geometry.
virtual void points(QgsPointSequenceV2 &pt) const =0
Returns a list of points within the curve.
virtual QgsRectangle boundingBox() const override
Returns the minimal bounding box for the geometry.
QList< QgsPointV2 > QgsPointSequenceV2