16#ifndef QGSMESHADVANCEDEDITING_H
17#define QGSMESHADVANCEDEDITING_H
48 void setInputVertices(
const QList<int> verticesIndexes );
51 void setInputFaces(
const QList<int> faceIndexes );
54 QString message()
const;
63 virtual bool isFinished()
const;
66 virtual QString text()
const;
72 bool mIsFinished =
false;
103 QString text()
const override;
108 struct FaceRefinement
110 QList<int> newVerticesLocalIndex;
111 QList<bool> refinedFaceNeighbor;
112 QList<bool> borderFaceNeighbor;
113 int newCenterVertexIndex;
114 QList<int> newFacesChangesIndex;
119 QList<bool> refinedFacesNeighbor;
120 QList<bool> borderFacesNeighbor;
121 QList<bool> unchangeFacesNeighbor;
122 QList<int> newVerticesLocalIndex;
127 void createNewVerticesAndRefinedFaces(
QgsMeshEditor *meshEditor,
128 QSet<int> &facesToRefine,
129 QHash<int, FaceRefinement> &facesRefinement );
132 const QSet<int> &facesToRefine,
133 QHash<int, FaceRefinement> &facesRefinement,
134 QHash<int, BorderFace> &borderFaces );
136 friend class TestQgsMeshEditor;
169 QString text()
const override;
176 void setExpressions(
const QString &expressionX,
const QString &expressionY,
const QString &expressionZ );
195 QString mExpressionX;
196 QString mExpressionY;
197 QString mExpressionZ;
198 QHash<int, int> mChangingVertexMap;
202 friend class TestQgsMeshEditor;
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
Abstract class that can be derived to implement advanced editing on mesh.
virtual QgsTopologicalMesh::Changes apply(QgsMeshEditor *meshEditor)=0
Apply a change to mesh Editor.
virtual ~QgsMeshAdvancedEditing()
Destructor.
QList< int > mInputVertices
QgsMeshAdvancedEditing()
Constructor.
Class that can do a refinement of faces of a mesh.
QgsMeshEditRefineFaces()
Constructor.
Class that makes edit operation on a mesh.
Represents a mesh layer supporting display of data on structured or unstructured meshes.
Point geometry type, with support for z-dimension and m-values.
Base class for providing feedback from a processing algorithm.
Class that contains topological differences between two states of a topological mesh,...