QGIS API Documentation
3.26.3-Buenos Aires (65e4edfdad)
|
Go to the documentation of this file.
17 #ifndef TRIDECORATOR_H
18 #define TRIDECORATOR_H
22 #include "qgis_analysis.h"
52 double xMax()
const override;
53 double xMin()
const override;
54 double yMax()
const override;
55 double yMin()
const override;
61 bool swapEdge(
double x,
double y )
override;
Decorator class for Triangulations (s. Decorator pattern in Gamma et al.).
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 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.
Interface for Triangulation classes.
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 double xMin() const =0
Returns the smallest x-coordinate value of the bounding box.
TriDecorator()=default
Constructor for TriDecorator.
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.
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.
virtual void addLine(const QgsPointSequence &points, QgsInterpolator::SourceType lineType)=0
Adds a line (e.g.
virtual void addTriangulation(QgsTriangulation *t)
Adds an association to a triangulation.
QgsTriangulation * mTIN
Association with a Triangulation object.
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 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.