QGIS API Documentation  2.18.21-Las Palmas (9fba24a)
Public Member Functions | Protected Member Functions | List of all members
QgsCircularStringV2 Class Reference

Circular string geometry type. More...

#include <qgscircularstringv2.h>

Inheritance diagram for QgsCircularStringV2:
Inheritance graph
[legend]

Public Member Functions

 QgsCircularStringV2 ()
 
 ~QgsCircularStringV2 ()
 
virtual bool addMValue (double mValue=0) override
 Adds a measure to the geometry, initialized to a preset value. More...
 
void addToPainterPath (QPainterPath &path) const override
 Adds a curve to a painter path. More...
 
virtual bool addZValue (double zValue=0) override
 Adds a z-dimension to the geometry, initialized to a preset value. More...
 
QDomElement asGML2 (QDomDocument &doc, int precision=17, const QString &ns="gml") const override
 Returns a GML2 representation of the geometry. More...
 
QDomElement asGML3 (QDomDocument &doc, int precision=17, const QString &ns="gml") const override
 Returns a GML3 representation of the geometry. More...
 
QString asJSON (int precision=17) const override
 Returns a GeoJSON representation of the geometry. More...
 
unsigned char * asWkb (int &binarySize) const override
 Returns a WKB representation of the geometry. More...
 
QString asWkt (int precision=17) const override
 Returns a WKT representation of the geometry. More...
 
virtual void clear () override
 Clears the geometry, ie reset it to a null geometry. More...
 
virtual QgsCircularStringV2clone () const override
 Clones the geometry by performing a deep copy. More...
 
double closestSegment (const QgsPointV2 &pt, QgsPointV2 &segmentPt, QgsVertexId &vertexAfter, bool *leftOf, double epsilon) const override
 Searches for the closest segment of the geometry to a given point. More...
 
virtual QgsLineStringV2curveToLine (double tolerance=M_PI_2/90, SegmentationToleranceType toleranceType=MaximumAngle) const override
 Returns a new line string geometry corresponding to a segmentized approximation of the curve. More...
 
virtual bool deleteVertex (QgsVertexId position) override
 Deletes a vertex within the geometry. More...
 
virtual int dimension () const override
 Returns the inherent dimension of the geometry. More...
 
void draw (QPainter &p) const override
 Draws the geometry using the specified QPainter. More...
 
void drawAsPolygon (QPainter &p) const override
 Draws the curve as a polygon on the specified QPainter. More...
 
virtual bool dropMValue () override
 Drops any measure values which exist in the geometry. More...
 
virtual bool dropZValue () override
 Drops any z-dimensions which exist in the geometry. More...
 
virtual QgsPointV2 endPoint () const override
 Returns the end point of the curve. More...
 
virtual bool fromWkb (QgsConstWkbPtr wkb) override
 Sets the geometry from a WKB string. More...
 
virtual bool fromWkt (const QString &wkt) override
 Sets the geometry from a WKT string. More...
 
virtual QString geometryType () const override
 Returns a unique string representing the geometry type. More...
 
bool hasCurvedSegments () const override
 Returns true if the geometry contains curved segments. More...
 
virtual bool insertVertex (QgsVertexId position, const QgsPointV2 &vertex) override
 Inserts a vertex into the geometry. More...
 
virtual double length () const override
 Returns the length of the geometry. More...
 
virtual bool moveVertex (QgsVertexId position, const QgsPointV2 &newPos) override
 Moves a vertex within the geometry. More...
 
int numPoints () const override
 Returns the number of points in the curve. More...
 
virtual bool operator!= (const QgsCurveV2 &other) const override
 
virtual bool operator== (const QgsCurveV2 &other) const override
 
bool pointAt (int node, QgsPointV2 &point, QgsVertexId::VertexType &type) const override
 Returns the point and vertex id of a point within the curve. More...
 
QgsPointV2 pointN (int i) const
 Returns the point at index i within the circular string. More...
 
void points (QgsPointSequenceV2 &pts) const override
 Returns a list of points within the curve. More...
 
virtual QgsCircularStringV2reversed () const override
 Returns a reversed copy of the curve, where the direction of the curve has been flipped. More...
 
void setPoints (const QgsPointSequenceV2 &points)
 Sets the circular string's points. More...
 
virtual QgsPointV2 startPoint () const override
 Returns the starting point of the curve. More...
 
void sumUpArea (double &sum) const override
 Sums up the area of the curve by iterating over the vertices (shoelace formula). More...
 
void transform (const QgsCoordinateTransform &ct, QgsCoordinateTransform::TransformDirection d=QgsCoordinateTransform::ForwardTransform, bool transformZ=false) override
 Transforms the geometry using a coordinate transform. More...
 
void transform (const QTransform &t) override
 Transforms the geometry using a QTransform object. More...
 
double vertexAngle (QgsVertexId vertex) const override
 Returns approximate rotation angle for a vertex. More...
 
int wkbSize () const override
 Returns the size of the WKB representation of the geometry. More...
 
- Public Member Functions inherited from QgsCurveV2
 QgsCurveV2 ()
 
virtual ~QgsCurveV2 ()
 
virtual QgsAbstractGeometryV2boundary () const override
 Returns the closure of the combinatorial boundary of the geometry (ie the topological boundary of the geometry). More...
 
virtual QgsRectangle boundingBox () const override
 Returns the minimal bounding box for the geometry. More...
 
virtual QgsCoordinateSequenceV2 coordinateSequence () const override
 Retrieves the sequence of geometries, rings and nodes. More...
 
virtual bool isClosed () const
 Returns true if the curve is closed. More...
 
virtual bool isRing () const
 Returns true if the curve is a ring. More...
 
virtual bool nextVertex (QgsVertexId &id, QgsPointV2 &vertex) const override
 Returns next vertex id and coordinates. More...
 
virtual int partCount () const override
 Returns count of parts contained in the geometry. More...
 
virtual int ringCount (int part=0) const override
 
QgsCurveV2segmentize (double tolerance=M_PI_2/90, SegmentationToleranceType toleranceType=MaximumAngle) const override
 Returns a geometry without curves. More...
 
virtual QgsPointV2 vertexAt (QgsVertexId id) const override
 Returns the point corresponding to a specified vertex id. More...
 
virtual int vertexCount (int part=0, int ring=0) const override
 
- Public Member Functions inherited from QgsAbstractGeometryV2
 QgsAbstractGeometryV2 ()
 
 QgsAbstractGeometryV2 (const QgsAbstractGeometryV2 &geom)
 
virtual ~QgsAbstractGeometryV2 ()
 
virtual double area () const
 Returns the area of the geometry. More...
 
virtual QgsPointV2 centroid () const
 Returns the centroid of the geometry. More...
 
virtual bool convertTo (QgsWKBTypes::Type type)
 Converts the geometry to a specified type. More...
 
bool is3D () const
 Returns true if the geometry is 3D and contains a z-value. More...
 
bool isEmpty () const
 Returns true if the geometry is empty. More...
 
bool isMeasure () const
 Returns true if the geometry contains m values. More...
 
virtual int nCoordinates () const
 Returns the number of nodes contained in the geometry. More...
 
virtual QgsAbstractGeometryV2operator= (const QgsAbstractGeometryV2 &geom)
 
virtual double perimeter () const
 Returns the perimeter of the geometry. More...
 
virtual QgsAbstractGeometryV2toCurveType () const
 Returns the geometry converted to the more generic curve type. More...
 
QgsWKBTypes::Type wkbType () const
 Returns the WKB type of the geometry. More...
 
QString wktTypeStr () const
 Returns the WKT type string of the geometry. More...
 

Protected Member Functions

virtual QgsRectangle calculateBoundingBox () const override
 Default calculator for the minimal bounding box for the geometry. More...
 
- Protected Member Functions inherited from QgsCurveV2
virtual void clearCache () const override
 Clears any cached parameters associated with the geometry, eg bounding boxes. More...
 
- Protected Member Functions inherited from QgsAbstractGeometryV2
void setZMTypeFromSubGeometry (const QgsAbstractGeometryV2 *subggeom, QgsWKBTypes::Type baseGeomType)
 Updates the geometry type based on whether sub geometries contain z or m values. More...
 

Additional Inherited Members

- Public Types inherited from QgsAbstractGeometryV2
enum  SegmentationToleranceType { MaximumAngle = 0, MaximumDifference }
 Segmentation tolerance as maximum angle or maximum difference between approximation and circle. More...
 
- Protected Attributes inherited from QgsAbstractGeometryV2
QgsWKBTypes::Type mWkbType
 

Detailed Description

Circular string geometry type.

Note
added in QGIS 2.10
this API is not considered stable and may change for 2.12

Definition at line 30 of file qgscircularstringv2.h.

Constructor & Destructor Documentation

◆ QgsCircularStringV2()

QgsCircularStringV2::QgsCircularStringV2 ( )

Definition at line 29 of file qgscircularstringv2.cpp.

◆ ~QgsCircularStringV2()

QgsCircularStringV2::~QgsCircularStringV2 ( )

Definition at line 34 of file qgscircularstringv2.cpp.

Member Function Documentation

◆ addMValue()

bool QgsCircularStringV2::addMValue ( double  mValue = 0)
overridevirtual

Adds a measure to the geometry, initialized to a preset value.

Parameters
mValueinitial m-value for all nodes
Returns
true on success
Note
added in QGIS 2.12
See also
dropMValue()
addZValue()

Implements QgsAbstractGeometryV2.

Definition at line 1097 of file qgscircularstringv2.cpp.

◆ addToPainterPath()

void QgsCircularStringV2::addToPainterPath ( QPainterPath path) const
overridevirtual

Adds a curve to a painter path.

Implements QgsCurveV2.

Definition at line 672 of file qgscircularstringv2.cpp.

◆ addZValue()

bool QgsCircularStringV2::addZValue ( double  zValue = 0)
overridevirtual

Adds a z-dimension to the geometry, initialized to a preset value.

Parameters
zValueinitial z-value for all nodes
Returns
true on success
Note
added in QGIS 2.12
See also
dropZValue()
addMValue()

Implements QgsAbstractGeometryV2.

Definition at line 1079 of file qgscircularstringv2.cpp.

◆ asGML2()

QDomElement QgsCircularStringV2::asGML2 ( QDomDocument doc,
int  precision = 17,
const QString ns = "gml" 
) const
overridevirtual

Returns a GML2 representation of the geometry.

Parameters
docDOM document
precisionnumber of decimal places for coordinates
nsXML namespace
See also
asWkb
asWkt
asGML3
asJSON

Implements QgsAbstractGeometryV2.

Definition at line 292 of file qgscircularstringv2.cpp.

◆ asGML3()

QDomElement QgsCircularStringV2::asGML3 ( QDomDocument doc,
int  precision = 17,
const QString ns = "gml" 
) const
overridevirtual

Returns a GML3 representation of the geometry.

Parameters
docDOM document
precisionnumber of decimal places for coordinates
nsXML namespace
See also
asWkb
asWkt
asGML2
asJSON

Implements QgsAbstractGeometryV2.

Definition at line 301 of file qgscircularstringv2.cpp.

◆ asJSON()

QString QgsCircularStringV2::asJSON ( int  precision = 17) const
overridevirtual

Returns a GeoJSON representation of the geometry.

Parameters
precisionnumber of decimal places for coordinates
See also
asWkb
asWkt
asGML2
asGML3

Implements QgsAbstractGeometryV2.

Definition at line 315 of file qgscircularstringv2.cpp.

◆ asWkb()

unsigned char * QgsCircularStringV2::asWkb ( int &  binarySize) const
overridevirtual

Returns a WKB representation of the geometry.

Parameters
binarySizewill be set to the size of the returned WKB string
See also
wkbSize
asWkt
asGML2
asGML3
asJSON

Implements QgsAbstractGeometryV2.

Definition at line 270 of file qgscircularstringv2.cpp.

◆ asWkt()

QString QgsCircularStringV2::asWkt ( int  precision = 17) const
overridevirtual

Returns a WKT representation of the geometry.

Parameters
precisionnumber of decimal places for coordinates
See also
asWkb
asGML2
asGML3
asJSON

Implements QgsAbstractGeometryV2.

Definition at line 283 of file qgscircularstringv2.cpp.

◆ calculateBoundingBox()

QgsRectangle QgsCircularStringV2::calculateBoundingBox ( ) const
overrideprotectedvirtual

Default calculator for the minimal bounding box for the geometry.

Derived classes should override this method if a more efficient bounding box calculation is available.

Reimplemented from QgsAbstractGeometryV2.

Definition at line 68 of file qgscircularstringv2.cpp.

◆ clear()

void QgsCircularStringV2::clear ( )
overridevirtual

Clears the geometry, ie reset it to a null geometry.

Implements QgsAbstractGeometryV2.

Definition at line 58 of file qgscircularstringv2.cpp.

◆ clone()

QgsCircularStringV2 * QgsCircularStringV2::clone ( ) const
overridevirtual

Clones the geometry by performing a deep copy.

Implements QgsCurveV2.

Definition at line 53 of file qgscircularstringv2.cpp.

◆ closestSegment()

double QgsCircularStringV2::closestSegment ( const QgsPointV2 pt,
QgsPointV2 segmentPt,
QgsVertexId vertexAfter,
bool *  leftOf,
double  epsilon 
) const
overridevirtual

Searches for the closest segment of the geometry to a given point.

Parameters
ptspecifies the point to find closest segment to
segmentPtstorage for the closest point within the geometry
vertexAfterstorage for the ID of the vertex at the end of the closest segment
leftOfreturns whether the point lies on the left side of the nearest segment (true if point is to left of segment, false if point is to right of segment)
epsilonepsilon for segment snapping
Returns
squared distance to closest segment or negative value on error

Implements QgsAbstractGeometryV2.

Definition at line 817 of file qgscircularstringv2.cpp.

◆ curveToLine()

QgsLineStringV2 * QgsCircularStringV2::curveToLine ( double  tolerance = M_PI_2 / 90,
SegmentationToleranceType  toleranceType = MaximumAngle 
) const
overridevirtual

Returns a new line string geometry corresponding to a segmentized approximation of the curve.

Parameters
tolerancesegmentation tolerance
toleranceTypemaximum segmentation angle or maximum difference between approximation and curve

Implements QgsCurveV2.

Definition at line 354 of file qgscircularstringv2.cpp.

◆ deleteVertex()

bool QgsCircularStringV2::deleteVertex ( QgsVertexId  position)
overridevirtual

Deletes a vertex within the geometry.

Parameters
positionvertex id for vertex to delete
Returns
true if delete was successful
See also
insertVertex
moveVertex

Implements QgsAbstractGeometryV2.

Definition at line 773 of file qgscircularstringv2.cpp.

◆ dimension()

virtual int QgsCircularStringV2::dimension ( ) const
inlineoverridevirtual

Returns the inherent dimension of the geometry.

For example, this is 0 for a point geometry, 1 for a linestring and 2 for a polygon.

Implements QgsAbstractGeometryV2.

Definition at line 40 of file qgscircularstringv2.h.

◆ draw()

void QgsCircularStringV2::draw ( QPainter p) const
overridevirtual

Draws the geometry using the specified QPainter.

Parameters
pdestination QPainter

Implements QgsAbstractGeometryV2.

Definition at line 620 of file qgscircularstringv2.cpp.

◆ drawAsPolygon()

void QgsCircularStringV2::drawAsPolygon ( QPainter p) const
overridevirtual

Draws the curve as a polygon on the specified QPainter.

Parameters
pdestination QPainter

Implements QgsCurveV2.

Definition at line 716 of file qgscircularstringv2.cpp.

◆ dropMValue()

bool QgsCircularStringV2::dropMValue ( )
overridevirtual

Drops any measure values which exist in the geometry.

Returns
true if m-values were present and have been removed
See also
addMValue()
dropZValue()
Note
added in QGIS 2.14

Implements QgsAbstractGeometryV2.

Definition at line 1127 of file qgscircularstringv2.cpp.

◆ dropZValue()

bool QgsCircularStringV2::dropZValue ( )
overridevirtual

Drops any z-dimensions which exist in the geometry.

Returns
true if Z values were present and have been removed
See also
addZValue()
dropMValue()
Note
added in QGIS 2.14

Implements QgsAbstractGeometryV2.

Definition at line 1115 of file qgscircularstringv2.cpp.

◆ endPoint()

QgsPointV2 QgsCircularStringV2::endPoint ( ) const
overridevirtual

Returns the end point of the curve.

See also
startPoint

Implements QgsCurveV2.

Definition at line 345 of file qgscircularstringv2.cpp.

◆ fromWkb()

bool QgsCircularStringV2::fromWkb ( QgsConstWkbPtr  wkb)
overridevirtual

Sets the geometry from a WKB string.

See also
fromWkt

Implements QgsAbstractGeometryV2.

Definition at line 210 of file qgscircularstringv2.cpp.

◆ fromWkt()

bool QgsCircularStringV2::fromWkt ( const QString wkt)
overridevirtual

Sets the geometry from a WKT string.

See also
fromWkb

Implements QgsAbstractGeometryV2.

Definition at line 249 of file qgscircularstringv2.cpp.

◆ geometryType()

virtual QString QgsCircularStringV2::geometryType ( ) const
inlineoverridevirtual

Returns a unique string representing the geometry type.

See also
wkbType
wktTypeStr

Implements QgsAbstractGeometryV2.

Definition at line 39 of file qgscircularstringv2.h.

◆ hasCurvedSegments()

bool QgsCircularStringV2::hasCurvedSegments ( ) const
inlineoverridevirtual

Returns true if the geometry contains curved segments.

Reimplemented from QgsAbstractGeometryV2.

Definition at line 117 of file qgscircularstringv2.h.

◆ insertVertex()

bool QgsCircularStringV2::insertVertex ( QgsVertexId  position,
const QgsPointV2 vertex 
)
overridevirtual

Inserts a vertex into the geometry.

Parameters
positionvertex id for position of inserted vertex
vertexvertex to insert
Returns
true if insert was successful
See also
moveVertex
deleteVertex

Implements QgsAbstractGeometryV2.

Definition at line 721 of file qgscircularstringv2.cpp.

◆ length()

double QgsCircularStringV2::length ( ) const
overridevirtual

Returns the length of the geometry.

See also
area()
perimeter()

Reimplemented from QgsAbstractGeometryV2.

Definition at line 325 of file qgscircularstringv2.cpp.

◆ moveVertex()

bool QgsCircularStringV2::moveVertex ( QgsVertexId  position,
const QgsPointV2 newPos 
)
overridevirtual

Moves a vertex within the geometry.

Parameters
positionvertex id for vertex to move
newPosnew position of vertex
Returns
true if move was successful
See also
insertVertex
deleteVertex

Implements QgsAbstractGeometryV2.

Definition at line 752 of file qgscircularstringv2.cpp.

◆ numPoints()

int QgsCircularStringV2::numPoints ( ) const
overridevirtual

Returns the number of points in the curve.

Implements QgsCurveV2.

Definition at line 369 of file qgscircularstringv2.cpp.

◆ operator!=()

bool QgsCircularStringV2::operator!= ( const QgsCurveV2 other) const
overridevirtual

Implements QgsCurveV2.

Definition at line 48 of file qgscircularstringv2.cpp.

◆ operator==()

bool QgsCircularStringV2::operator== ( const QgsCurveV2 other) const
overridevirtual

Implements QgsCurveV2.

Definition at line 39 of file qgscircularstringv2.cpp.

◆ pointAt()

bool QgsCircularStringV2::pointAt ( int  node,
QgsPointV2 point,
QgsVertexId::VertexType type 
) const
overridevirtual

Returns the point and vertex id of a point within the curve.

Parameters
nodenode number, where the first node is 0
pointwill be set to point at corresponding node in the curve
typewill be set to the vertex type of the node
Returns
true if node exists within the curve

Implements QgsCurveV2.

Definition at line 857 of file qgscircularstringv2.cpp.

◆ pointN()

QgsPointV2 QgsCircularStringV2::pointN ( int  i) const

Returns the point at index i within the circular string.

Definition at line 374 of file qgscircularstringv2.cpp.

◆ points()

void QgsCircularStringV2::points ( QgsPointSequenceV2 pts) const
overridevirtual

Returns a list of points within the curve.

Implements QgsCurveV2.

Definition at line 411 of file qgscircularstringv2.cpp.

◆ reversed()

QgsCircularStringV2 * QgsCircularStringV2::reversed ( ) const
overridevirtual

Returns a reversed copy of the curve, where the direction of the curve has been flipped.

Note
added in QGIS 2.14

Implements QgsCurveV2.

Definition at line 1063 of file qgscircularstringv2.cpp.

◆ setPoints()

void QgsCircularStringV2::setPoints ( const QgsPointSequenceV2 points)

Sets the circular string's points.

Definition at line 421 of file qgscircularstringv2.cpp.

◆ startPoint()

QgsPointV2 QgsCircularStringV2::startPoint ( ) const
overridevirtual

Returns the starting point of the curve.

See also
endPoint

Implements QgsCurveV2.

Definition at line 336 of file qgscircularstringv2.cpp.

◆ sumUpArea()

void QgsCircularStringV2::sumUpArea ( double &  sum) const
overridevirtual

Sums up the area of the curve by iterating over the vertices (shoelace formula).

Implements QgsCurveV2.

Definition at line 868 of file qgscircularstringv2.cpp.

◆ transform() [1/2]

void QgsCircularStringV2::transform ( const QgsCoordinateTransform ct,
QgsCoordinateTransform::TransformDirection  d = QgsCoordinateTransform::ForwardTransform,
bool  transformZ = false 
)
overridevirtual

Transforms the geometry using a coordinate transform.

Parameters
ctcoordinate transform
dtransformation direction
transformZset to true to also transform z coordinates. This requires that the z coordinates in the geometry represent height relative to the vertical datum of the source CRS (generally ellipsoidal heights) and are expressed in its vertical units (generally meters). If false, then z coordinates will not be changed by the transform.

Implements QgsAbstractGeometryV2.

Definition at line 627 of file qgscircularstringv2.cpp.

◆ transform() [2/2]

void QgsCircularStringV2::transform ( const QTransform t)
overridevirtual

Transforms the geometry using a QTransform object.

Parameters
tQTransform transformation

Implements QgsAbstractGeometryV2.

Definition at line 651 of file qgscircularstringv2.cpp.

◆ vertexAngle()

double QgsCircularStringV2::vertexAngle ( QgsVertexId  vertex) const
overridevirtual

Returns approximate rotation angle for a vertex.

Usually average angle between adjacent segments.

Parameters
vertexthe vertex id
Returns
rotation in radians, clockwise from north

Implements QgsAbstractGeometryV2.

Definition at line 1008 of file qgscircularstringv2.cpp.

◆ wkbSize()

int QgsCircularStringV2::wkbSize ( ) const
overridevirtual

Returns the size of the WKB representation of the geometry.

See also
asWkb

Implements QgsAbstractGeometryV2.

Definition at line 263 of file qgscircularstringv2.cpp.


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