QGIS API Documentation 3.28.0-Firenze (ed3ad0430f)
|
Triangle geometry type. More...
#include <qgstriangle.h>
Public Member Functions | |
QgsTriangle () SIP_HOLDGIL | |
Constructor for an empty triangle geometry. More... | |
QgsTriangle (const QgsPoint &p1, const QgsPoint &p2, const QgsPoint &p3) SIP_HOLDGIL | |
Construct a QgsTriangle from three QgsPoint. More... | |
QgsTriangle (const QgsPointXY &p1, const QgsPointXY &p2, const QgsPointXY &p3) SIP_HOLDGIL | |
Construct a QgsTriangle from three QgsPointXY. More... | |
QgsTriangle (QPointF p1, QPointF p2, QPointF p3) SIP_HOLDGIL | |
Construct a QgsTriangle from three QPointF. More... | |
void | addInteriorRing (QgsCurve *ring) override |
Inherited method not used. You cannot add an interior ring into a triangle. More... | |
QVector< QgsLineString > | altitudes () const SIP_HOLDGIL |
An altitude is a segment (defined by a QgsLineString) from a vertex to the opposite side (or, if necessary, to the extension of the opposite side). More... | |
QVector< double > | angles () const SIP_HOLDGIL |
Returns the three angles of the triangle. More... | |
QDomElement | asGml3 (QDomDocument &doc, int precision=17, const QString &ns="gml", QgsAbstractGeometry::AxisOrder axisOrder=QgsAbstractGeometry::AxisOrder::XY) const override |
Returns a GML3 representation of the geometry. More... | |
QVector< QgsLineString > | bisectors (double lengthTolerance=0.0001) const SIP_HOLDGIL |
The segment (defined by a QgsLineString) returned bisect the angle of a vertex to the opposite side. More... | |
QgsCurve * | boundary () const override |
Returns the closure of the combinatorial boundary of the geometry (ie the topological boundary of the geometry). More... | |
QgsPoint | circumscribedCenter () const SIP_HOLDGIL |
Center of the circumscribed circle of the triangle. More... | |
QgsCircle | circumscribedCircle () const SIP_HOLDGIL |
Circumscribed circle of the triangle. More... | |
double | circumscribedRadius () const SIP_HOLDGIL |
Radius of the circumscribed circle of the triangle. More... | |
void | clear () override |
Clears the geometry, ie reset it to a null geometry. More... | |
QgsTriangle * | clone () const override |
Clones the geometry by performing a deep copy. More... | |
QgsTriangle * | createEmptyWithSameType () const override |
Creates a new geometry with the same class and same WKB type as the original and transfers ownership. More... | |
bool | deleteVertex (QgsVertexId position) override |
Inherited method not used. You cannot delete or insert a vertex directly. Returns always false . More... | |
bool | fromWkb (QgsConstWkbPtr &wkbPtr) override |
Sets the geometry from a WKB string. More... | |
bool | fromWkt (const QString &wkt) override |
Sets the geometry from a WKT string. More... | |
QString | geometryType () const override SIP_HOLDGIL |
Returns a unique string representing the geometry type. More... | |
QgsPoint | inscribedCenter () const SIP_HOLDGIL |
Center of the inscribed circle of the triangle. More... | |
QgsCircle | inscribedCircle () const SIP_HOLDGIL |
Inscribed circle of the triangle. More... | |
double | inscribedRadius () const SIP_HOLDGIL |
Radius of the inscribed circle of the triangle. More... | |
bool | insertVertex (QgsVertexId position, const QgsPoint &vertex) override |
Inherited method not used. You cannot delete or insert a vertex directly. Returns always false . More... | |
bool | isDegenerate () const SIP_HOLDGIL |
Convenient method checking if the geometry is degenerate (have duplicate or colinear point(s)). More... | |
bool | isEquilateral (double lengthTolerance=0.0001) const SIP_HOLDGIL |
Is the triangle equilateral (three sides with the same length)? More... | |
bool | isIsocele (double lengthTolerance=0.0001) const SIP_HOLDGIL |
Is the triangle isocele (two sides with the same length)? More... | |
bool | isRight (double angleTolerance=0.0001) const SIP_HOLDGIL |
Is the triangle right-angled? More... | |
bool | isScalene (double lengthTolerance=0.0001) const SIP_HOLDGIL |
Is the triangle scalene (all sides have different lengths)? More... | |
QVector< double > | lengths () const SIP_HOLDGIL |
Returns the three lengths of the triangle. More... | |
QgsTriangle | medial () const SIP_HOLDGIL |
Medial (or midpoint) triangle of a triangle ABC is the triangle with vertices at the midpoints of the triangle's sides. More... | |
QVector< QgsLineString > | medians () const SIP_HOLDGIL |
A median is a segment (defined by a QgsLineString) from a vertex to the midpoint of the opposite side. More... | |
bool | moveVertex (QgsVertexId vId, const QgsPoint &newPos) override |
Moves a vertex within the geometry. More... | |
bool | operator!= (const QgsTriangle &other) const SIP_HOLDGIL |
bool | operator== (const QgsTriangle &other) const SIP_HOLDGIL |
QgsPoint | orthocenter (double lengthTolerance=0.0001) const SIP_HOLDGIL |
An orthocenter is the point of intersection of the altitudes of a triangle. More... | |
void | setExteriorRing (QgsCurve *ring) override |
Sets the exterior ring of the polygon. More... | |
void | setInteriorRings (const QVector< QgsCurve * > &rings)=delete |
Inherited method not used. More... | |
QgsPolygon * | surfaceToPolygon () const override |
Gets a polygon representation of this surface. More... | |
QgsCurvePolygon * | toCurveType () const override |
Returns the geometry converted to the more generic curve type QgsCurvePolygon. More... | |
QgsPoint | vertexAt (int atVertex) const SIP_HOLDGIL |
Returns coordinates of a vertex. More... | |
Public Member Functions inherited from QgsPolygon | |
QgsPolygon () SIP_HOLDGIL | |
Constructor for an empty polygon geometry. More... | |
QgsPolygon (QgsLineString *exterior, const QList< QgsLineString * > &rings=QList< QgsLineString * >()) SIP_HOLDGIL | |
Constructor for QgsPolygon, with the specified exterior ring and interior rings. More... | |
void | addInteriorRing (QgsCurve *ring) override |
Adds an interior ring to the geometry (takes ownership) More... | |
QByteArray | asWkb (QgsAbstractGeometry::WkbFlags flags=QgsAbstractGeometry::WkbFlags()) const override |
QgsAbstractGeometry * | boundary () const override |
Returns the closure of the combinatorial boundary of the geometry (ie the topological boundary of the geometry). More... | |
void | clear () override |
Clears the geometry, ie reset it to a null geometry. More... | |
QgsPolygon * | clone () const override |
Clones the geometry by performing a deep copy. More... | |
QgsPolygon * | createEmptyWithSameType () const override |
Creates a new geometry with the same class and same WKB type as the original and transfers ownership. More... | |
bool | fromWkb (QgsConstWkbPtr &wkb) override |
Sets the geometry from a WKB string. More... | |
QString | geometryType () const override SIP_HOLDGIL |
Returns a unique string representing the geometry type. More... | |
double | pointDistanceToBoundary (double x, double y) const |
Returns the distance from a point to the boundary of the polygon (either the exterior ring or any closer interior rings). More... | |
void | setExteriorRing (QgsCurve *ring) override |
Sets the exterior ring of the polygon. More... | |
QgsPolygon * | surfaceToPolygon () const override |
Gets a polygon representation of this surface. More... | |
QgsCurvePolygon * | toCurveType () const override |
Returns the geometry converted to the more generic curve type QgsCurvePolygon. More... | |
int | wkbSize (QgsAbstractGeometry::WkbFlags flags=QgsAbstractGeometry::WkbFlags()) const override |
Returns the length of the QByteArray returned by asWkb() More... | |
Public Member Functions inherited from QgsCurvePolygon | |
QgsCurvePolygon () | |
QgsCurvePolygon (const QgsCurvePolygon &p) | |
~QgsCurvePolygon () override | |
virtual void | addInteriorRing (QgsCurve *ring) |
Adds an interior ring to the geometry (takes ownership) More... | |
bool | addMValue (double mValue=0) override |
Adds a measure to the geometry, initialized to a preset value. More... | |
bool | addZValue (double zValue=0) override |
Adds a z-dimension to the geometry, initialized to a preset value. More... | |
void | adjacentVertices (QgsVertexId vertex, QgsVertexId &previousVertex, QgsVertexId &nextVertex) const override |
Returns the vertices adjacent to a specified vertex within a geometry. More... | |
double | area () const override SIP_HOLDGIL |
Returns the planar, 2-dimensional area of the geometry. More... | |
QDomElement | asGml2 (QDomDocument &doc, int precision=17, const QString &ns="gml", QgsAbstractGeometry::AxisOrder axisOrder=QgsAbstractGeometry::AxisOrder::XY) const override |
Returns a GML2 representation of the geometry. More... | |
QDomElement | asGml3 (QDomDocument &doc, int precision=17, const QString &ns="gml", QgsAbstractGeometry::AxisOrder axisOrder=QgsAbstractGeometry::AxisOrder::XY) const override |
Returns a GML3 representation of the geometry. More... | |
json | asJsonObject (int precision=17) const override |
Returns a json object representation of the geometry. More... | |
QString | asKml (int precision=17) const override |
Returns a KML representation of the geometry. More... | |
QPainterPath | asQPainterPath () const override |
Returns the geometry represented as a QPainterPath. More... | |
QByteArray | asWkb (QgsAbstractGeometry::WkbFlags flags=QgsAbstractGeometry::WkbFlags()) const override |
QString | asWkt (int precision=17) const override |
Returns a WKT representation of the geometry. More... | |
QgsAbstractGeometry * | boundary () const override |
Returns the closure of the combinatorial boundary of the geometry (ie the topological boundary of the geometry). More... | |
bool | boundingBoxIntersects (const QgsRectangle &rectangle) const override SIP_HOLDGIL |
Returns true if the bounding box of this geometry intersects with a rectangle. More... | |
void | clear () override |
Clears the geometry, ie reset it to a null geometry. More... | |
QgsCurvePolygon * | clone () const override |
Clones the geometry by performing a deep copy. More... | |
double | closestSegment (const QgsPoint &pt, QgsPoint &segmentPt, QgsVertexId &vertexAfter, int *leftOf=nullptr, double epsilon=4 *std::numeric_limits< double >::epsilon()) const override |
Searches for the closest segment of the geometry to a given point. More... | |
QgsCoordinateSequence | coordinateSequence () const override |
Retrieves the sequence of geometries, rings and nodes. More... | |
QgsCurvePolygon * | createEmptyWithSameType () const override |
Creates a new geometry with the same class and same WKB type as the original and transfers ownership. More... | |
bool | deleteVertex (QgsVertexId position) override |
Deletes a vertex within the geometry. More... | |
int | dimension () const override SIP_HOLDGIL |
Returns the inherent dimension of the geometry. More... | |
void | draw (QPainter &p) const override |
Draws the geometry using the specified QPainter. More... | |
bool | dropMValue () override |
Drops any measure values which exist in the geometry. More... | |
bool | dropZValue () override |
Drops any z-dimensions which exist in the geometry. More... | |
QgsCurve * | exteriorRing () |
Returns a non-const pointer to the curve polygon's exterior ring. More... | |
const QgsCurve * | exteriorRing () const SIP_HOLDGIL |
Returns the curve polygon's exterior ring. More... | |
void | filterVertices (const std::function< bool(const QgsPoint &) > &filter) override |
Filters the vertices from the geometry in place, removing any which do not return true for the filter function check. More... | |
void | forceClockwise () |
Forces the polygon to respect the exterior ring is clockwise, interior rings are counter-clockwise convention. More... | |
void | forceCounterClockwise () |
Forces the polygon to respect the exterior ring is counter-clockwise, interior rings are clockwise convention. More... | |
void | forceRHR () |
Forces the geometry to respect the Right-Hand-Rule, in which the area that is bounded by the polygon is to the right of the boundary. More... | |
bool | fromWkb (QgsConstWkbPtr &wkb) override |
Sets the geometry from a WKB string. More... | |
bool | fromWkt (const QString &wkt) override |
Sets the geometry from a WKT string. More... | |
QString | geometryType () const override SIP_HOLDGIL |
Returns a unique string representing the geometry type. More... | |
bool | hasCurvedSegments () const override |
Returns true if the geometry contains curved segments. More... | |
bool | insertVertex (QgsVertexId position, const QgsPoint &vertex) override |
Inserts a vertex into the geometry. More... | |
QgsCurve * | interiorRing (int i) |
Retrieves an interior ring from the curve polygon. More... | |
const QgsCurve * | interiorRing (int i) const SIP_HOLDGIL |
Retrieves an interior ring from the curve polygon. More... | |
bool | isEmpty () const override SIP_HOLDGIL |
Returns true if the geometry is empty. More... | |
bool | moveVertex (QgsVertexId position, const QgsPoint &newPos) override |
Moves a vertex within the geometry. More... | |
int | nCoordinates () const override |
Returns the number of nodes contained in the geometry. More... | |
bool | nextVertex (QgsVertexId &id, QgsPoint &vertex) const override |
Returns next vertex id and coordinates. More... | |
void | normalize () final SIP_HOLDGIL |
Reorganizes the geometry into a normalized form (or "canonical" form). More... | |
int | numInteriorRings () const SIP_HOLDGIL |
Returns the number of interior rings contained with the curve polygon. More... | |
bool | operator!= (const QgsAbstractGeometry &other) const override |
QgsCurvePolygon & | operator= (const QgsCurvePolygon &p) |
bool | operator== (const QgsAbstractGeometry &other) const override |
int | partCount () const override SIP_HOLDGIL |
Returns count of parts contained in the geometry. More... | |
double | perimeter () const override SIP_HOLDGIL |
Returns the planar, 2-dimensional perimeter of the geometry. More... | |
bool | removeDuplicateNodes (double epsilon=4 *std::numeric_limits< double >::epsilon(), bool useZValues=false) override |
Removes duplicate nodes from the geometry, wherever removing the nodes does not result in a degenerate geometry. More... | |
bool | removeInteriorRing (int ringIndex) |
Removes an interior ring from the polygon. More... | |
void | removeInteriorRings (double minimumAllowedArea=-1) |
Removes the interior rings from the polygon. More... | |
void | removeInvalidRings () |
Removes any interior rings which are not valid from the polygon. More... | |
int | ringCount (int part=0) const override SIP_HOLDGIL |
Returns the number of rings of which this geometry is built. More... | |
double | roundness () const |
Returns the roundness of the curve polygon. More... | |
QgsAbstractGeometry * | segmentize (double tolerance=M_PI_2/90, SegmentationToleranceType toleranceType=MaximumAngle) const override |
Returns a geometry without curves. More... | |
double | segmentLength (QgsVertexId startVertex) const override |
Returns the length of the segment of the geometry which begins at startVertex. More... | |
virtual void | setExteriorRing (QgsCurve *ring) |
Sets the exterior ring of the polygon. More... | |
void | setInteriorRings (const QVector< QgsCurve * > &rings) |
Sets all interior rings (takes ownership) More... | |
QgsCurvePolygon * | snappedToGrid (double hSpacing, double vSpacing, double dSpacing=0, double mSpacing=0) const override |
Makes a new geometry with all the points or vertices snapped to the closest point of the grid. More... | |
QgsPolygon * | surfaceToPolygon () const override |
Gets a polygon representation of this surface. More... | |
void | swapXy () override |
Swaps the x and y coordinates from the geometry. More... | |
QgsCurvePolygon * | toCurveType () const override |
Returns the geometry converted to the more generic curve type. More... | |
virtual QgsPolygon * | toPolygon (double tolerance=M_PI_2/90, SegmentationToleranceType toleranceType=MaximumAngle) const |
Returns a new polygon geometry corresponding to a segmentized approximation of the curve. More... | |
void | transform (const QgsCoordinateTransform &ct, Qgis::TransformDirection d=Qgis::TransformDirection::Forward, bool transformZ=false) override SIP_THROW(QgsCsException) |
Transforms the geometry using a coordinate transform. More... | |
void | transform (const QTransform &t, double zTranslate=0.0, double zScale=1.0, double mTranslate=0.0, double mScale=1.0) override |
Transforms the x and y components of the geometry using a QTransform object t. More... | |
bool | transform (QgsAbstractGeometryTransformer *transformer, QgsFeedback *feedback=nullptr) override |
Transforms the vertices from the geometry in place, using the specified geometry transformer object. More... | |
void | transformVertices (const std::function< QgsPoint(const QgsPoint &) > &transform) override |
Transforms the vertices from the geometry in place, applying the transform function to every vertex. More... | |
double | vertexAngle (QgsVertexId vertex) const override |
Returns approximate rotation angle for a vertex. More... | |
QgsPoint | vertexAt (QgsVertexId id) const override |
Returns the point corresponding to a specified vertex id. More... | |
int | vertexCount (int part=0, int ring=0) const override |
Returns the number of vertices of which this geometry is built. More... | |
int | vertexNumberFromVertexId (QgsVertexId id) const override |
Returns the vertex number corresponding to a vertex id. More... | |
int | wkbSize (QgsAbstractGeometry::WkbFlags flags=QgsAbstractGeometry::WkbFlags()) const override |
Returns the length of the QByteArray returned by asWkb() More... | |
Public Member Functions inherited from QgsSurface | |
QgsRectangle | boundingBox () const override |
Returns the minimal bounding box for the geometry. More... | |
bool | isValid (QString &error, Qgis::GeometryValidityFlags flags=Qgis::GeometryValidityFlags()) const override |
Checks validity of the geometry, and returns true if the geometry is valid. More... | |
virtual QgsPolygon * | surfaceToPolygon () const =0 |
Gets a polygon representation of this surface. More... | |
Public Member Functions inherited from QgsAbstractGeometry | |
QgsAbstractGeometry ()=default | |
Constructor for QgsAbstractGeometry. More... | |
QgsAbstractGeometry (const QgsAbstractGeometry &geom) | |
virtual | ~QgsAbstractGeometry ()=default |
virtual bool | addMValue (double mValue=0)=0 |
Adds a measure to the geometry, initialized to a preset value. More... | |
virtual bool | addZValue (double zValue=0)=0 |
Adds a z-dimension to the geometry, initialized to a preset value. More... | |
virtual void | adjacentVertices (QgsVertexId vertex, QgsVertexId &previousVertex, QgsVertexId &nextVertex) const =0 |
Returns the vertices adjacent to a specified vertex within a geometry. More... | |
virtual double | area () const |
Returns the planar, 2-dimensional area of the geometry. More... | |
virtual QDomElement | asGml2 (QDomDocument &doc, int precision=17, const QString &ns="gml", AxisOrder axisOrder=QgsAbstractGeometry::AxisOrder::XY) const =0 |
Returns a GML2 representation of the geometry. More... | |
virtual QDomElement | asGml3 (QDomDocument &doc, int precision=17, const QString &ns="gml", AxisOrder axisOrder=QgsAbstractGeometry::AxisOrder::XY) const =0 |
Returns a GML3 representation of the geometry. More... | |
QString | asJson (int precision=17) |
Returns a GeoJSON representation of the geometry as a QString. More... | |
virtual json | asJsonObject (int precision=17) const |
Returns a json object representation of the geometry. More... | |
virtual QString | asKml (int precision=17) const =0 |
Returns a KML representation of the geometry. More... | |
virtual QPainterPath | asQPainterPath () const =0 |
Returns the geometry represented as a QPainterPath. More... | |
virtual QByteArray | asWkb (WkbFlags flags=QgsAbstractGeometry::WkbFlags()) const =0 |
Returns a WKB representation of the geometry. More... | |
virtual QString | asWkt (int precision=17) const =0 |
Returns a WKT representation of the geometry. More... | |
virtual QgsAbstractGeometry * | boundary () const =0 |
Returns the closure of the combinatorial boundary of the geometry (ie the topological boundary of the geometry). More... | |
virtual QgsRectangle | boundingBox () const =0 |
Returns the minimal bounding box for the geometry. More... | |
virtual bool | boundingBoxIntersects (const QgsRectangle &rectangle) const SIP_HOLDGIL |
Returns true if the bounding box of this geometry intersects with a rectangle. More... | |
virtual QgsPoint | centroid () const |
Returns the centroid of the geometry. More... | |
virtual void | clear ()=0 |
Clears the geometry, ie reset it to a null geometry. More... | |
virtual QgsAbstractGeometry * | clone () const =0 |
Clones the geometry by performing a deep copy. More... | |
virtual double | closestSegment (const QgsPoint &pt, QgsPoint &segmentPt, QgsVertexId &vertexAfter, int *leftOf=nullptr, double epsilon=4 *std::numeric_limits< double >::epsilon()) const =0 |
Searches for the closest segment of the geometry to a given point. More... | |
virtual int | compareTo (const QgsAbstractGeometry *other) const |
Comparator for sorting of geometry. More... | |
const_part_iterator | const_parts_begin () const |
Returns STL-style iterator pointing to the const first part of the geometry. More... | |
const_part_iterator | const_parts_end () const |
Returns STL-style iterator pointing to the imaginary const part after the last part of the geometry. More... | |
virtual bool | convertTo (QgsWkbTypes::Type type) |
Converts the geometry to a specified type. More... | |
virtual QgsCoordinateSequence | coordinateSequence () const =0 |
Retrieves the sequence of geometries, rings and nodes. More... | |
virtual QgsAbstractGeometry * | createEmptyWithSameType () const =0 |
Creates a new geometry with the same class and same WKB type as the original and transfers ownership. More... | |
virtual bool | deleteVertex (QgsVertexId position)=0 |
Deletes a vertex within the geometry. More... | |
virtual int | dimension () const =0 |
Returns the inherent dimension of the geometry. More... | |
virtual void | draw (QPainter &p) const =0 |
Draws the geometry using the specified QPainter. More... | |
virtual bool | dropMValue ()=0 |
Drops any measure values which exist in the geometry. More... | |
virtual bool | dropZValue ()=0 |
Drops any z-dimensions which exist in the geometry. More... | |
virtual void | filterVertices (const std::function< bool(const QgsPoint &) > &filter) |
Filters the vertices from the geometry in place, removing any which do not return true for the filter function check. More... | |
virtual bool | fromWkb (QgsConstWkbPtr &wkb)=0 |
Sets the geometry from a WKB string. More... | |
virtual bool | fromWkt (const QString &wkt)=0 |
Sets the geometry from a WKT string. More... | |
virtual QString | geometryType () const =0 |
Returns a unique string representing the geometry type. More... | |
virtual bool | hasCurvedSegments () const |
Returns true if the geometry contains curved segments. More... | |
virtual bool | insertVertex (QgsVertexId position, const QgsPoint &vertex)=0 |
Inserts a vertex into the geometry. More... | |
bool | is3D () const SIP_HOLDGIL |
Returns true if the geometry is 3D and contains a z-value. More... | |
virtual bool | isEmpty () const |
Returns true if the geometry is empty. More... | |
bool | isMeasure () const SIP_HOLDGIL |
Returns true if the geometry contains m values. More... | |
virtual bool | isValid (QString &error, Qgis::GeometryValidityFlags flags=Qgis::GeometryValidityFlags()) const =0 |
Checks validity of the geometry, and returns true if the geometry is valid. More... | |
virtual double | length () const |
Returns the planar, 2-dimensional length of the geometry. More... | |
virtual bool | moveVertex (QgsVertexId position, const QgsPoint &newPos)=0 |
Moves a vertex within the geometry. More... | |
virtual int | nCoordinates () const |
Returns the number of nodes contained in the geometry. More... | |
virtual bool | nextVertex (QgsVertexId &id, QgsPoint &vertex) const =0 |
Returns next vertex id and coordinates. More... | |
virtual void | normalize ()=0 |
Reorganizes the geometry into a normalized form (or "canonical" form). More... | |
virtual bool | operator!= (const QgsAbstractGeometry &other) const =0 |
QgsAbstractGeometry & | operator= (const QgsAbstractGeometry &geom) |
virtual bool | operator== (const QgsAbstractGeometry &other) const =0 |
virtual int | partCount () const =0 |
Returns count of parts contained in the geometry. More... | |
QgsGeometryPartIterator | parts () |
Returns Java-style iterator for traversal of parts of the geometry. More... | |
QgsGeometryConstPartIterator | parts () const |
Returns Java-style iterator for traversal of parts of the geometry. More... | |
part_iterator | parts_begin () |
Returns STL-style iterator pointing to the first part of the geometry. More... | |
part_iterator | parts_end () |
Returns STL-style iterator pointing to the imaginary part after the last part of the geometry. More... | |
virtual double | perimeter () const |
Returns the planar, 2-dimensional perimeter of the geometry. More... | |
virtual bool | removeDuplicateNodes (double epsilon=4 *std::numeric_limits< double >::epsilon(), bool useZValues=false)=0 |
Removes duplicate nodes from the geometry, wherever removing the nodes does not result in a degenerate geometry. More... | |
virtual int | ringCount (int part=0) const =0 |
Returns the number of rings of which this geometry is built. More... | |
virtual QgsAbstractGeometry * | segmentize (double tolerance=M_PI/180., SegmentationToleranceType toleranceType=MaximumAngle) const |
Returns a version of the geometry without curves. More... | |
virtual double | segmentLength (QgsVertexId startVertex) const =0 |
Returns the length of the segment of the geometry which begins at startVertex. More... | |
virtual const QgsAbstractGeometry * | simplifiedTypeRef () const SIP_HOLDGIL |
Returns a reference to the simplest lossless representation of this geometry, e.g. More... | |
virtual QgsAbstractGeometry * | snappedToGrid (double hSpacing, double vSpacing, double dSpacing=0, double mSpacing=0) const =0 |
Makes a new geometry with all the points or vertices snapped to the closest point of the grid. More... | |
virtual void | swapXy ()=0 |
Swaps the x and y coordinates from the geometry. More... | |
virtual QgsAbstractGeometry * | toCurveType () const =0 |
Returns the geometry converted to the more generic curve type. More... | |
virtual void | transform (const QgsCoordinateTransform &ct, Qgis::TransformDirection d=Qgis::TransformDirection::Forward, bool transformZ=false) SIP_THROW(QgsCsException)=0 |
Transforms the geometry using a coordinate transform. More... | |
virtual void | transform (const QTransform &t, double zTranslate=0.0, double zScale=1.0, double mTranslate=0.0, double mScale=1.0)=0 |
Transforms the x and y components of the geometry using a QTransform object t. More... | |
virtual bool | transform (QgsAbstractGeometryTransformer *transformer, QgsFeedback *feedback=nullptr)=0 |
Transforms the vertices from the geometry in place, using the specified geometry transformer object. More... | |
virtual void | transformVertices (const std::function< QgsPoint(const QgsPoint &) > &transform) |
Transforms the vertices from the geometry in place, applying the transform function to every vertex. More... | |
virtual double | vertexAngle (QgsVertexId vertex) const =0 |
Returns approximate angle at a vertex. More... | |
virtual QgsPoint | vertexAt (QgsVertexId id) const =0 |
Returns the point corresponding to a specified vertex id. More... | |
virtual int | vertexCount (int part=0, int ring=0) const =0 |
Returns the number of vertices of which this geometry is built. More... | |
virtual int | vertexNumberFromVertexId (QgsVertexId id) const =0 |
Returns the vertex number corresponding to a vertex id. More... | |
QgsVertexIterator | vertices () const |
Returns a read-only, Java-style iterator for traversal of vertices of all the geometry, including all geometry parts and rings. More... | |
vertex_iterator | vertices_begin () const |
Returns STL-style iterator pointing to the first vertex of the geometry. More... | |
vertex_iterator | vertices_end () const |
Returns STL-style iterator pointing to the imaginary vertex after the last vertex of the geometry. More... | |
virtual int | wkbSize (QgsAbstractGeometry::WkbFlags flags=QgsAbstractGeometry::WkbFlags()) const =0 |
Returns the length of the QByteArray returned by asWkb() More... | |
QgsWkbTypes::Type | wkbType () const SIP_HOLDGIL |
Returns the WKB type of the geometry. More... | |
QString | wktTypeStr () const |
Returns the WKT type string of the geometry. More... | |
Static Public Member Functions | |
static const QgsTriangle * | cast (const QgsAbstractGeometry *geom) |
Cast the geom to a QgsTriangle. More... | |
Static Public Member Functions inherited from QgsPolygon | |
static const QgsPolygon * | cast (const QgsAbstractGeometry *geom) |
Cast the geom to a QgsPolygonV2. More... | |
Static Public Member Functions inherited from QgsCurvePolygon | |
static const QgsCurvePolygon * | cast (const QgsAbstractGeometry *geom) |
Cast the geom to a QgsCurvePolygon. More... | |
Static Public Member Functions inherited from QgsSurface | |
static const QgsSurface * | cast (const QgsAbstractGeometry *geom) |
Cast the geom to a QgsSurface. More... | |
Additional Inherited Members | |
Public Types inherited from QgsAbstractGeometry | |
enum | AxisOrder { XY = 0 , YX } |
Axis order for GML generation. More... | |
enum | SegmentationToleranceType { MaximumAngle = 0 , MaximumDifference } |
Segmentation tolerance as maximum angle or maximum difference between approximation and circle. More... | |
enum | WkbFlag { FlagExportTrianglesAsPolygons = 1 << 0 } |
WKB export flags. More... | |
Protected Member Functions inherited from QgsCurvePolygon | |
QgsRectangle | calculateBoundingBox () const override |
Default calculator for the minimal bounding box for the geometry. More... | |
int | childCount () const override |
Returns number of child geometries (for geometries with child geometries) or child points (for geometries without child geometries - i.e. More... | |
QgsAbstractGeometry * | childGeometry (int index) const override |
Returns pointer to child geometry (for geometries with child geometries - i.e. More... | |
int | compareToSameClass (const QgsAbstractGeometry *other) const final |
Compares to an other geometry of the same class, and returns a integer for sorting of the two geometries. More... | |
Protected Member Functions inherited from QgsSurface | |
void | clearCache () const override |
Clears any cached parameters associated with the geometry, e.g., bounding boxes. More... | |
Protected Member Functions inherited from QgsAbstractGeometry | |
virtual QgsRectangle | calculateBoundingBox () const |
Default calculator for the minimal bounding box for the geometry. More... | |
virtual int | childCount () const |
Returns number of child geometries (for geometries with child geometries) or child points (for geometries without child geometries - i.e. More... | |
virtual QgsAbstractGeometry * | childGeometry (int index) const |
Returns pointer to child geometry (for geometries with child geometries - i.e. More... | |
virtual QgsPoint | childPoint (int index) const |
Returns point at index (for geometries without child geometries - i.e. More... | |
virtual void | clearCache () const |
Clears any cached parameters associated with the geometry, e.g., bounding boxes. More... | |
virtual int | compareToSameClass (const QgsAbstractGeometry *other) const =0 |
Compares to an other geometry of the same class, and returns a integer for sorting of the two geometries. More... | |
virtual bool | hasChildGeometries () const |
Returns whether the geometry has any child geometries (false for point / curve, true otherwise) More... | |
void | setZMTypeFromSubGeometry (const QgsAbstractGeometry *subggeom, QgsWkbTypes::Type baseGeomType) |
Updates the geometry type based on whether sub geometries contain z or m values. More... | |
int | sortIndex () const |
Returns the sort index for the geometry, used in the compareTo() method to compare geometries of different types. More... | |
Protected Attributes inherited from QgsCurvePolygon | |
std::unique_ptr< QgsCurve > | mExteriorRing |
QVector< QgsCurve * > | mInteriorRings |
Protected Attributes inherited from QgsSurface | |
QgsRectangle | mBoundingBox |
bool | mHasCachedValidity = false |
QString | mValidityFailureReason |
Protected Attributes inherited from QgsAbstractGeometry | |
QgsWkbTypes::Type | mWkbType = QgsWkbTypes::Unknown |
QgsTriangle::QgsTriangle | ( | ) |
Constructor for an empty triangle geometry.
Definition at line 25 of file qgstriangle.cpp.
Construct a QgsTriangle from three QgsPoint.
p1 | first point |
p2 | second point |
p3 | third point |
Definition at line 30 of file qgstriangle.cpp.
|
explicit |
Construct a QgsTriangle from three QgsPointXY.
p1 | first point |
p2 | second point |
p3 | third point |
Definition at line 49 of file qgstriangle.cpp.
|
explicit |
Construct a QgsTriangle from three QPointF.
p1 | first point |
p2 | second point |
p3 | third point |
Definition at line 59 of file qgstriangle.cpp.
|
overridevirtual |
Inherited method not used. You cannot add an interior ring into a triangle.
Reimplemented from QgsPolygon.
Definition at line 257 of file qgstriangle.cpp.
QVector< QgsLineString > QgsTriangle::altitudes | ( | ) | const |
An altitude is a segment (defined by a QgsLineString) from a vertex to the opposite side (or, if necessary, to the extension of the opposite side).
Definition at line 467 of file qgstriangle.cpp.
QVector< double > QgsTriangle::angles | ( | ) | const |
Returns the three angles of the triangle.
Definition at line 383 of file qgstriangle.cpp.
|
overridevirtual |
Returns a GML3 representation of the geometry.
doc | DOM document |
precision | number of decimal places for coordinates |
ns | XML namespace |
axisOrder | Axis order for generated GML |
Reimplemented from QgsCurvePolygon.
Definition at line 224 of file qgstriangle.cpp.
QVector< QgsLineString > QgsTriangle::bisectors | ( | double | lengthTolerance = 0.0001 | ) | const |
The segment (defined by a QgsLineString) returned bisect the angle of a vertex to the opposite side.
lengthTolerance | The tolerance to use. |
Definition at line 499 of file qgstriangle.cpp.
|
overridevirtual |
Returns the closure of the combinatorial boundary of the geometry (ie the topological boundary of the geometry).
For instance, a polygon geometry will have a boundary consisting of the linestrings for each ring in the polygon.
nullptr
for some geometry types. Reimplemented from QgsPolygon.
Definition at line 353 of file qgstriangle.cpp.
|
inlinestatic |
Cast the geom to a QgsTriangle.
Should be used by qgsgeometry_cast<QgsTriangle *>( geometry ).
Definition at line 457 of file qgstriangle.h.
QgsPoint QgsTriangle::circumscribedCenter | ( | ) | const |
Center of the circumscribed circle of the triangle.
Definition at line 551 of file qgstriangle.cpp.
QgsCircle QgsTriangle::circumscribedCircle | ( | ) | const |
Circumscribed circle of the triangle.
Definition at line 569 of file qgstriangle.cpp.
double QgsTriangle::circumscribedRadius | ( | ) | const |
Radius of the circumscribed circle of the triangle.
Definition at line 560 of file qgstriangle.cpp.
|
overridevirtual |
Clears the geometry, ie reset it to a null geometry.
Reimplemented from QgsPolygon.
Definition at line 103 of file qgstriangle.cpp.
|
overridevirtual |
Clones the geometry by performing a deep copy.
Reimplemented from QgsPolygon.
Definition at line 109 of file qgstriangle.cpp.
|
overridevirtual |
Creates a new geometry with the same class and same WKB type as the original and transfers ownership.
To create it, the geometry is default constructed and then the WKB is changed.
Reimplemented from QgsPolygon.
Definition at line 96 of file qgstriangle.cpp.
|
overridevirtual |
Inherited method not used. You cannot delete or insert a vertex directly. Returns always false
.
Reimplemented from QgsCurvePolygon.
Definition at line 262 of file qgstriangle.cpp.
|
overridevirtual |
Sets the geometry from a WKB string.
After successful read the wkb argument will be at the position where the reading has stopped.
Reimplemented from QgsPolygon.
Definition at line 114 of file qgstriangle.cpp.
|
overridevirtual |
Sets the geometry from a WKT string.
Reimplemented from QgsCurvePolygon.
Definition at line 160 of file qgstriangle.cpp.
|
overridevirtual |
Returns a unique string representing the geometry type.
Reimplemented from QgsPolygon.
Definition at line 91 of file qgstriangle.cpp.
QgsPoint QgsTriangle::inscribedCenter | ( | ) | const |
Center of the inscribed circle of the triangle.
Z dimension is supported and is retrieved from the first 3D point amongst vertices.
Definition at line 576 of file qgstriangle.cpp.
QgsCircle QgsTriangle::inscribedCircle | ( | ) | const |
Inscribed circle of the triangle.
Definition at line 605 of file qgstriangle.cpp.
double QgsTriangle::inscribedRadius | ( | ) | const |
Radius of the inscribed circle of the triangle.
Definition at line 598 of file qgstriangle.cpp.
|
overridevirtual |
Inherited method not used. You cannot delete or insert a vertex directly. Returns always false
.
Reimplemented from QgsCurvePolygon.
Definition at line 268 of file qgstriangle.cpp.
bool QgsTriangle::isDegenerate | ( | ) | const |
Convenient method checking if the geometry is degenerate (have duplicate or colinear point(s)).
true
if the triangle is degenerate or empty, otherwise false
.Definition at line 410 of file qgstriangle.cpp.
bool QgsTriangle::isEquilateral | ( | double | lengthTolerance = 0.0001 | ) | const |
Is the triangle equilateral (three sides with the same length)?
lengthTolerance | The tolerance to use |
true
or false
. Always FALSE for empty triangle.Definition at line 433 of file qgstriangle.cpp.
bool QgsTriangle::isIsocele | ( | double | lengthTolerance = 0.0001 | ) | const |
Is the triangle isocele (two sides with the same length)?
lengthTolerance | The tolerance to use |
true
or false
. Always FALSE for empty triangle.Definition at line 421 of file qgstriangle.cpp.
bool QgsTriangle::isRight | ( | double | angleTolerance = 0.0001 | ) | const |
Is the triangle right-angled?
angleTolerance | The tolerance to use |
true
or false
. Always FALSE for empty triangle.Definition at line 445 of file qgstriangle.cpp.
bool QgsTriangle::isScalene | ( | double | lengthTolerance = 0.0001 | ) | const |
Is the triangle scalene (all sides have different lengths)?
lengthTolerance | The tolerance to use |
true
or false
. Always FALSE for empty triangle.Definition at line 460 of file qgstriangle.cpp.
QVector< double > QgsTriangle::lengths | ( | ) | const |
Returns the three lengths of the triangle.
Definition at line 370 of file qgstriangle.cpp.
QgsTriangle QgsTriangle::medial | ( | ) | const |
Medial (or midpoint) triangle of a triangle ABC is the triangle with vertices at the midpoints of the triangle's sides.
Definition at line 528 of file qgstriangle.cpp.
QVector< QgsLineString > QgsTriangle::medians | ( | ) | const |
A median is a segment (defined by a QgsLineString) from a vertex to the midpoint of the opposite side.
Definition at line 480 of file qgstriangle.cpp.
|
overridevirtual |
Moves a vertex within the geometry.
position | vertex id for vertex to move |
newPos | new position of vertex |
true
if move was successful Reimplemented from QgsCurvePolygon.
Definition at line 275 of file qgstriangle.cpp.
bool QgsTriangle::operator!= | ( | const QgsTriangle & | other | ) | const |
Definition at line 86 of file qgstriangle.cpp.
bool QgsTriangle::operator== | ( | const QgsTriangle & | other | ) | const |
Definition at line 69 of file qgstriangle.cpp.
QgsPoint QgsTriangle::orthocenter | ( | double | lengthTolerance = 0.0001 | ) | const |
An orthocenter is the point of intersection of the altitudes of a triangle.
lengthTolerance | The tolerance to use |
Definition at line 539 of file qgstriangle.cpp.
|
overridevirtual |
Sets the exterior ring of the polygon.
The CurvePolygon type will be updated to match the dimensionality of the exterior ring. For instance, setting a 2D exterior ring on a 3D CurvePolygon will drop the z dimension from the CurvePolygon and all interior rings.
ring | new exterior ring. Ownership is transferred to the CurvePolygon. |
Reimplemented from QgsPolygon.
Definition at line 302 of file qgstriangle.cpp.
|
delete |
Inherited method not used.
You cannot add an interior ring into a triangle.
|
overridevirtual |
Gets a polygon representation of this surface.
Ownership is transferred to the caller.
Reimplemented from QgsPolygon.
Definition at line 244 of file qgstriangle.cpp.
|
overridevirtual |
Returns the geometry converted to the more generic curve type QgsCurvePolygon.
Reimplemented from QgsPolygon.
Definition at line 249 of file qgstriangle.cpp.
QgsPoint QgsTriangle::vertexAt | ( | int | atVertex | ) | const |
Returns coordinates of a vertex.
atVertex | index of the vertex |
Definition at line 361 of file qgstriangle.cpp.