QGIS API Documentation
3.16.0-Hannover (43b64b13f3)
|
Go to the documentation of this file.
17 #ifndef TRIANGULATION_H
18 #define TRIANGULATION_H
24 #include "qgis_analysis.h"
102 virtual double xMax()
const = 0;
105 virtual double xMin()
const = 0;
108 virtual double yMax()
const = 0;
111 virtual double yMin()
const = 0;
virtual int oppositePoint(int p1, int p2)=0
Returns the number of the point opposite to the triangle points p1, p2 (which have to be on a halfedg...
virtual void ruppertRefinement()=0
Adds points to make the triangles better shaped (algorithm of ruppert)
virtual ~QgsTriangulation()=default
virtual QgsPoint * point(int i) const =0
Returns a pointer to the point with number i.
Point geometry type, with support for z-dimension and m-values.
Container of fields for a vector layer.
Interface for Triangulation classes.
virtual bool triangleVertices(double x, double y, QgsPoint &p1, QgsPoint &p2, QgsPoint &p3)=0
Finds out, in which triangle the point with coordinates x and y is and assigns the points at the vert...
Mesh - vertices, edges and faces.
ForcedCrossBehavior
Enumeration describing the behavior, if two forced lines cross.
virtual void performConsistencyTest()=0
Performs a consistency check, remove this later.
virtual void setTriangleInterpolator(TriangleInterpolator *interpolator)=0
Sets an interpolator object.
virtual bool swapEdge(double x, double y)=0
Reads the content of a taff-file.
virtual bool calcPoint(double x, double y, QgsPoint &result)=0
Calculates x-, y and z-value of the point on the surface and assigns it to 'result'.
virtual int addPoint(const QgsPoint &point)=0
Adds a point to the triangulation.
virtual QgsMesh triangulationToMesh(QgsFeedback *feedback=nullptr) const =0
Returns a QgsMesh corresponding to the triangulation.
virtual double xMin() const =0
Returns the smallest x-coordinate value of the bounding box.
Base class for feedback objects to be used for cancellation of something running in a worker thread.
virtual void eliminateHorizontalTriangles()=0
Eliminates the horizontal triangles by swapping.
virtual QList< int > pointsAroundEdge(double x, double y)=0
Returns a value list with the numbers of the four points, which would be affected by an edge swap.
@ SnappingTypeVertex
The second inserted forced line is snapped to the closest vertice of the first inserted forced line.
SourceType
Describes the type of input data.
virtual bool triangleVertices(double x, double y, QgsPoint &p1, int &n1, QgsPoint &p2, int &n2, QgsPoint &p3, int &n3)=0
Finds out in which triangle the point with coordinates x and y is and assigns the numbers of the vert...
virtual double yMax() const =0
Returns the largest y-coordinate value of the bounding box.
virtual QList< int > surroundingTriangles(int pointno)=0
Returns a value list with the information of the triangles surrounding (counterclockwise) a point.
virtual double yMin() const =0
Returns the smallest x-coordinate value of the bounding box.
QVector< QgsPoint > QgsPointSequence
@ DeleteFirst
The status of the first inserted forced line is reset to that of a normal edge (so that the second in...
virtual void addLine(const QgsPointSequence &points, QgsInterpolator::SourceType lineType)=0
Adds a line (e.g.
virtual double xMax() const =0
Returns the largest x-coordinate value of the bounding box.
virtual bool calcNormal(double x, double y, QgsPoint &result)=0
Calculates the normal at a point on the surface and assigns it to 'result'.
virtual bool saveTriangulation(QgsFeatureSink *sink, QgsFeedback *feedback=nullptr) const =0
Saves the triangulation features to a feature sink.
An interface for objects which accept features via addFeature(s) methods.
virtual void setForcedCrossBehavior(QgsTriangulation::ForcedCrossBehavior b)=0
Draws the points, edges and the forced lines.
virtual bool pointInside(double x, double y)=0
Returns true, if the point with coordinates x and y is inside the convex hull and false otherwise.
This is an interface for interpolator classes for triangulations.
virtual int pointsCount() const =0
Returns the number of points.