111 bool faceCanBeAdded( const
QgsMeshFace &face ) const;
121 bool faceCanBeAddedWithNewVertices( const QList<
int> &verticesIndex, const QList<
QgsMeshVertex> &newVertices ) const;
SIP_SKIP
127 bool isFaceGeometricallyCompatible( const
QgsMeshFace &face ) const;
149 bool edgeCanBeFlipped(
int vertexIndex1,
int vertexIndex2 ) const;
152 void flipEdge(
int vertexIndex1,
int vertexIndex2 );
157 bool canBeMerged(
int vertexIndex1,
int vertexIndex2 ) const;
160 void merge(
int vertexIndex1,
int vertexIndex2 );
165 bool faceCanBeSplit(
int faceIndex ) const;
171 int splitFaces( const QList<
int> &faceIndexes );
191 int addPointsAsVertices( const QVector<
QgsPoint> &point,
double tolerance );
198 QgsMeshEditingError removeVerticesWithoutFillHoles( const QList<
int> &verticesToRemoveIndexes );
207 QList<
int> removeVerticesFillHoles( const QList<
int> &verticesToRemoveIndexes );
212 void changeZValues( const QList<
int> &verticesIndexes, const QList<
double> &newValues );
225 bool canBeTransformed( const QList<
int> &facesToCheck, const std::function<const
QgsMeshVertex(
int )> &transformFunction ) const;
SIP_SKIP
232 void changeXYValues( const QList<
int> &verticesIndexes, const QList<
QgsPointXY> &newValues );
239 void changeCoordinates( const QList<
int> &verticesIndexes, const QList<
QgsPoint> &newCoordinates );
253 bool isModified() const;
262 bool reindex(
bool renumbering );
267 QList<
int> freeVerticesIndexes() const;
270 bool isVertexOnBoundary(
int vertexIndex ) const;
273 bool isVertexFree(
int vertexIndex ) const;
297 bool edgeIsClose(
QgsPointXY point,
double tolerance,
int &faceIndex,
int &edgePosition );
300 int validFacesCount() const;
303 int validVerticesCount() const;
306 int maximumVerticesPerFace() const;
316 int mMaximumVerticesPerFace = 0;
318 int mValidVerticesCount = 0;
319 int mValidFacesCount = 0;
323 bool isFaceGeometricallyCompatible( const QList<
int> &vertexIndex, const QList<
QgsMeshVertex> &vertices ) const;
326 QUndoStack *mUndoStack =
nullptr;
333 void applyEdit( Edit &edit );
334 void reverseEdit( Edit &edit );
336 void applyAddVertex( Edit &edit,
const QgsMeshVertex &vertex,
double tolerance );
337 bool applyRemoveVertexFillHole( Edit &edit,
int vertexIndex );
338 void applyRemoveVerticesWithoutFillHole( QgsMeshEditor::Edit &edit,
const QList<int> &verticesIndexes );
340 void applyRemoveFaces( Edit &edit,
const QList<int> &faceToRemoveIndex );
341 void applyChangeZValue( Edit &edit,
const QList<int> &verticesIndexes,
const QList<double> &newValues );
342 void applyChangeXYValue( Edit &edit,
const QList<int> &verticesIndexes,
const QList<QgsPointXY> &newValues );
343 void applyFlipEdge( Edit &edit,
int vertexIndex1,
int vertexIndex2 );
344 void applyMerge( Edit &edit,
int vertexIndex1,
int vertexIndex2 );
345 void applySplit( QgsMeshEditor::Edit &edit,
int faceIndex );
352 friend class TestQgsMeshEditor;
359 friend class QgsMeshLayerUndoCommandSetZValue;