QGIS API Documentation  2.12.0-Lyon
Public Member Functions | List of all members
QgsLineStringV2 Class Reference

Line string geometry type. More...

#include <qgslinestringv2.h>

Inheritance diagram for QgsLineStringV2:
Inheritance graph
[legend]

Public Member Functions

 QgsLineStringV2 ()
 
 ~QgsLineStringV2 ()
 
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...
 
void addVertex (const QgsPointV2 &pt)
 
virtual bool addZValue (double zValue=0) override
 Adds a z-dimension to the geometry, initialized to a preset value. More...
 
void append (const QgsLineStringV2 *line)
 
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 QgsLineStringV2clone () const override
 Clones the geometry by performing a deep copy. More...
 
void close ()
 Appends first point if not already closed. 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 () const override
 Returns a new line string geometry corresponding to a segmentized approximation of the curve. More...
 
virtual bool deleteVertex (const 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 QgsPointV2 endPoint () const override
 Returns the end point of the curve. More...
 
virtual bool fromWkb (const unsigned char *wkb) override
 Sets the geometry from a WKB string. More...
 
void fromWkbPoints (QgsWKBTypes::Type type, const QgsConstWkbPtr &wkb)
 
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...
 
virtual bool insertVertex (const 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 (const 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...
 
bool pointAt (int i, QgsPointV2 &vertex, QgsVertexId::VertexType &type) const override
 Returns the point and vertex id of a point within the curve. More...
 
QgsPointV2 pointN (int i) const
 
void points (QList< QgsPointV2 > &pt) const override
 Returns a list of points within the curve. More...
 
const QPolygonFqPolygonF () const
 
void setPoints (const QList< QgsPointV2 > &points)
 
virtual QgsPointV2 startPoint () const override
 Returns the starting point of the curve. More...
 
void sumUpArea (double &sum) const override
 Calculates the area of the curve. More...
 
void transform (const QgsCoordinateTransform &ct, QgsCoordinateTransform::TransformDirection d=QgsCoordinateTransform::ForwardTransform) 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 (const 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 void coordinateSequence (QList< QList< QList< QgsPointV2 > > > &coord) 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
 
virtual int ringCount (int=0) const override
 
QgsAbstractGeometryV2segmentize () const override
 Returns a version of the geometry without curves. More...
 
virtual QgsPointV2 vertexAt (const QgsVertexId &id) const override
 Returns the point corresponding to a specified vertex id. More...
 
virtual int vertexCount (int=0, int=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...
 
QgsRectangle boundingBox () const
 Returns the minimal bounding box for the geometry. More...
 
virtual QgsRectangle calculateBoundingBox () const
 Calculates the minimal bounding box for the geometry. More...
 
virtual QgsPointV2 centroid () const
 Returns the centroid of the geometry. More...
 
virtual bool hasCurvedSegments () const
 Returns true if the geometry contains curved segments. 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...
 
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...
 
QgsWKBTypes::Type wkbType () const
 Returns the WKB type of the geometry. More...
 
QString wktTypeStr () const
 Returns the WKT type string of the geometry. More...
 

Additional Inherited Members

- 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...
 
- Static Protected Member Functions inherited from QgsAbstractGeometryV2
static bool readWkbHeader (QgsConstWkbPtr &wkbPtr, QgsWKBTypes::Type &wkbType, bool &endianSwap, QgsWKBTypes::Type expectedType)
 Reads a WKB header and tests its validity. More...
 
- Protected Attributes inherited from QgsAbstractGeometryV2
QgsRectangle mBoundingBox
 
QgsWKBTypes::Type mWkbType
 

Detailed Description

Line string geometry type.

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

Definition at line 31 of file qgslinestringv2.h.

Constructor & Destructor Documentation

QgsLineStringV2::QgsLineStringV2 ( )

Definition at line 28 of file qgslinestringv2.cpp.

QgsLineStringV2::~QgsLineStringV2 ( )

Definition at line 33 of file qgslinestringv2.cpp.

Member Function Documentation

bool QgsLineStringV2::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
addZValue

Implements QgsAbstractGeometryV2.

Definition at line 552 of file qgslinestringv2.cpp.

void QgsLineStringV2::addToPainterPath ( QPainterPath path) const
overridevirtual

Adds a curve to a painter path.

Implements QgsCurveV2.

Definition at line 312 of file qgslinestringv2.cpp.

void QgsLineStringV2::addVertex ( const QgsPointV2 pt)

Definition at line 405 of file qgslinestringv2.cpp.

bool QgsLineStringV2::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
addMValue

Implements QgsAbstractGeometryV2.

Definition at line 535 of file qgslinestringv2.cpp.

void QgsLineStringV2::append ( const QgsLineStringV2 line)

Definition at line 290 of file qgslinestringv2.cpp.

QDomElement QgsLineStringV2::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 115 of file qgslinestringv2.cpp.

QDomElement QgsLineStringV2::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 126 of file qgslinestringv2.cpp.

QString QgsLineStringV2::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 141 of file qgslinestringv2.cpp.

unsigned char * QgsLineStringV2::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 93 of file qgslinestringv2.cpp.

QString QgsLineStringV2::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 106 of file qgslinestringv2.cpp.

void QgsLineStringV2::clear ( )
overridevirtual

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

Implements QgsAbstractGeometryV2.

Definition at line 41 of file qgslinestringv2.cpp.

QgsLineStringV2 * QgsLineStringV2::clone ( ) const
overridevirtual

Clones the geometry by performing a deep copy.

Implements QgsAbstractGeometryV2.

Definition at line 36 of file qgslinestringv2.cpp.

void QgsLineStringV2::close ( )

Appends first point if not already closed.

Definition at line 495 of file qgslinestringv2.cpp.

double QgsLineStringV2::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 for search
segmentPtstorage for the closest point within the geometry
vertexAfterstorage for the id of the vertex after the closest segment
leftOfreturns if the point lies on the left of right side of the segment ( < 0 means left, > 0 means right )
epsilonepsilon for segment snapping
Returns
squared distance to closest segment

Implements QgsAbstractGeometryV2.

Definition at line 424 of file qgslinestringv2.cpp.

QgsLineStringV2 * QgsLineStringV2::curveToLine ( ) const
overridevirtual

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

Implements QgsCurveV2.

Definition at line 181 of file qgslinestringv2.cpp.

bool QgsLineStringV2::deleteVertex ( const 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 385 of file qgslinestringv2.cpp.

virtual int QgsLineStringV2::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 38 of file qgslinestringv2.h.

void QgsLineStringV2::draw ( QPainter p) const
overridevirtual

Draws the geometry using the specified QPainter.

Parameters
pdestination QPainter

Implements QgsAbstractGeometryV2.

Definition at line 307 of file qgslinestringv2.cpp.

void QgsLineStringV2::drawAsPolygon ( QPainter p) const
overridevirtual

Draws the curve as a polygon on the specified QPainter.

Parameters
pdestination QPainter

Implements QgsCurveV2.

Definition at line 331 of file qgslinestringv2.cpp.

QgsPointV2 QgsLineStringV2::endPoint ( ) const
overridevirtual

Returns the end point of the curve.

See also
startPoint

Implements QgsCurveV2.

Definition at line 172 of file qgslinestringv2.cpp.

bool QgsLineStringV2::fromWkb ( const unsigned char *  wkb)
overridevirtual

Sets the geometry from a WKB string.

See also
fromWkt

Implements QgsAbstractGeometryV2.

Definition at line 49 of file qgslinestringv2.cpp.

void QgsLineStringV2::fromWkbPoints ( QgsWKBTypes::Type  type,
const QgsConstWkbPtr wkb 
)

Definition at line 66 of file qgslinestringv2.cpp.

bool QgsLineStringV2::fromWkt ( const QString wkt)
overridevirtual

Sets the geometry from a WKT string.

See also
fromWkb

Implements QgsAbstractGeometryV2.

Definition at line 72 of file qgslinestringv2.cpp.

virtual QString QgsLineStringV2::geometryType ( ) const
inlineoverridevirtual

Returns a unique string representing the geometry type.

See also
wkbType
wktTypeStr

Implements QgsAbstractGeometryV2.

Definition at line 37 of file qgslinestringv2.h.

bool QgsLineStringV2::insertVertex ( const 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 346 of file qgslinestringv2.cpp.

double QgsLineStringV2::length ( ) const
overridevirtual

Returns the length of the geometry.

See also
area()
perimeter()

Reimplemented from QgsAbstractGeometryV2.

Definition at line 149 of file qgslinestringv2.cpp.

bool QgsLineStringV2::moveVertex ( const 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 365 of file qgslinestringv2.cpp.

int QgsLineStringV2::numPoints ( ) const
overridevirtual

Returns the number of points in the curve.

Implements QgsCurveV2.

Definition at line 186 of file qgslinestringv2.cpp.

bool QgsLineStringV2::pointAt ( int  i,
QgsPointV2 vertex,
QgsVertexId::VertexType type 
) const
overridevirtual

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

Implements QgsCurveV2.

Definition at line 451 of file qgslinestringv2.cpp.

QgsPointV2 QgsLineStringV2::pointN ( int  i) const

Definition at line 191 of file qgslinestringv2.cpp.

void QgsLineStringV2::points ( QList< QgsPointV2 > &  pt) const
overridevirtual

Returns a list of points within the curve.

Implements QgsCurveV2.

Definition at line 229 of file qgslinestringv2.cpp.

const QPolygonF& QgsLineStringV2::qPolygonF ( ) const
inline

Definition at line 78 of file qgslinestringv2.h.

void QgsLineStringV2::setPoints ( const QList< QgsPointV2 > &  points)

Definition at line 239 of file qgslinestringv2.cpp.

QgsPointV2 QgsLineStringV2::startPoint ( ) const
overridevirtual

Returns the starting point of the curve.

See also
endPoint

Implements QgsCurveV2.

Definition at line 163 of file qgslinestringv2.cpp.

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

Calculates the area of the curve.

Derived classes should override this to return the correct area of the curve.

Implements QgsCurveV2.

Definition at line 462 of file qgslinestringv2.cpp.

void QgsLineStringV2::transform ( const QgsCoordinateTransform ct,
QgsCoordinateTransform::TransformDirection  d = QgsCoordinateTransform::ForwardTransform 
)
overridevirtual

Transforms the geometry using a coordinate transform.

Parameters
ctcoordinate transform
dtransformation direction

Implements QgsAbstractGeometryV2.

Definition at line 336 of file qgslinestringv2.cpp.

void QgsLineStringV2::transform ( const QTransform t)
overridevirtual

Transforms the geometry using a QTransform object.

Parameters
tQTransform transformation

Implements QgsAbstractGeometryV2.

Definition at line 341 of file qgslinestringv2.cpp.

double QgsLineStringV2::vertexAngle ( const 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 504 of file qgslinestringv2.cpp.

int QgsLineStringV2::wkbSize ( ) const
overridevirtual

Returns the size of the WKB representation of the geometry.

See also
asWkb

Implements QgsAbstractGeometryV2.

Definition at line 86 of file qgslinestringv2.cpp.


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