16#ifndef QGSMESHADVANCEDEDITING_H
17#define QGSMESHADVANCEDEDITING_H
63 virtual QString
text()
const;
101 QString
text()
const override;
106 struct FaceRefinement
108 QList<int> newVerticesLocalIndex;
109 QList<bool> refinedFaceNeighbor;
110 QList<bool> borderFaceNeighbor;
111 int newCenterVertexIndex;
112 QList<int> newFacesChangesIndex;
117 QList<bool> refinedFacesNeighbor;
118 QList<bool> borderFacesNeighbor;
119 QList<bool> unchangeFacesNeighbor;
120 QList<int> newVerticesLocalIndex;
125 void createNewVerticesAndRefinedFaces( QgsMeshEditor *meshEditor, QSet<int> &facesToRefine, QHash<int, FaceRefinement> &facesRefinement );
127 bool createNewBorderFaces( QgsMeshEditor *meshEditor,
const QSet<int> &facesToRefine, QHash<int, FaceRefinement> &facesRefinement, QHash<int, BorderFace> &borderFaces );
160 QString
text()
const override;
167 void setExpressions(
const QString &expressionX,
const QString &expressionY,
const QString &expressionZ );
201 QString mExpressionX;
202 QString mExpressionY;
203 QString mExpressionZ;
204 QHash<int, int> mChangingVertexMap;
205 bool mZFromTerrain =
false;
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
QString message() const
Returns a message that can be provided by the advanced editing when applying is done.
friend class QgsMeshEditor
virtual QgsTopologicalMesh::Changes apply(QgsMeshEditor *meshEditor)=0
Apply a change to mesh Editor.
void setInputVertices(const QList< int > verticesIndexes)
Sets the input vertices indexes that will be used for the editing.
virtual ~QgsMeshAdvancedEditing()
void clear()
Removes all data provided to the editing or created by the editing.
QList< int > mInputVertices
virtual bool isFinished() const
Returns whether the advanced edit is finished, if not, this edit has to be applied again with QgsMesh...
virtual QString text() const
Returns a short text string describing what this advanced edit does. Default implementation return a ...
void setInputFaces(const QList< int > faceIndexes)
Sets the input faces indexes that will be used for the editing.
QString text() const override
Returns a short text string describing what this advanced edit does. Default implementation return a ...
friend class TestQgsMeshEditor
Handles edit operations on a mesh layer.
Represents a mesh layer supporting display of data on structured or unstructured meshes.
Base class for providing feedback from a processing algorithm.
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Contains topological differences between two states of a topological mesh, only accessible from the Q...
QgsPoint QgsMeshVertex
xyz coords of vertex