QGIS API Documentation  3.26.3-Buenos Aires (65e4edfdad)
Classes | Public Member Functions | Friends | List of all members
QgsMeshEditRefineFaces Class Reference

Class that can do a refinement of faces of a mesh. This refinement is operated only on faces with 3 or 4 vertices (triangles or quads) by adding a vertex on the middle of each refined face. For quad faces, a vertex is added on the centroid of the original face. New vertices Z value are interpolated between original vertices. Original triangle faces are replaced by four triangles, and original quad faces are replaced by four quads. Neighboring faces are triangulated to take account of the new vertex in the shared edge. More...

#include <qgsmeshadvancedediting.h>

Inheritance diagram for QgsMeshEditRefineFaces:
Inheritance graph
[legend]

Public Member Functions

 QgsMeshEditRefineFaces ()
 Constructor. More...
 
QString text () const override
 Returns a short text string describing what this advanced edit does. Default implementation return a void string. More...
 
- Public Member Functions inherited from QgsMeshAdvancedEditing
 QgsMeshAdvancedEditing ()
 Constructor. More...
 
virtual ~QgsMeshAdvancedEditing ()
 Destructor. More...
 
void clear ()
 Removes all data provided to the editing or created by the editing. More...
 
virtual bool isFinished () const
 Returns whether the advanced edit is finished, if not, this edit has to be applied again with QgsMeshEditor::advancedEdit() until is finished returns true. More...
 
QString message () const
 Returns a message that can be provided by the advanced editing when applying is done. More...
 
void setInputFaces (const QList< int > faceIndexes)
 Sets the input faces indexes that will be used for the editing. More...
 
void setInputVertices (const QList< int > verticesIndexes)
 Sets the input vertices indexes that will be used for the editing. More...
 
- Public Member Functions inherited from QgsTopologicalMesh::Changes
QVector< QgsMeshFaceaddedFaces () const
 Returns the face that are added with this changes. More...
 
QVector< QgsMeshVertexaddedVertices () const
 Returns the added vertices with this changes. More...
 
QList< int > changedCoordinatesVerticesIndexes () const
 Returns the indexes of vertices that have changed coordinates. More...
 
bool isEmpty () const
 Returns whether changes are empty, that there is nothing to change. More...
 
QList< int > nativeFacesIndexesGeometryChanged () const
 Returns a list of the native face indexes that have a geometry changed. More...
 
QList< QgsPointXYnewVerticesXYValues () const
 Returns the new (X,Y) values of vertices that have changed their coordinates. More...
 
QList< double > newVerticesZValues () const
 Returns the new Z values of vertices that have changed their coordinates. More...
 
QList< QgsPointXYoldVerticesXYValues () const
 Returns the old (X,Y) values of vertices that have changed their coordinates. More...
 
QList< int > removedFaceIndexes () const
 Returns the indexes of the faces that are removed with this changes. More...
 
QVector< QgsMeshFaceremovedFaces () const
 Returns the faces that are removed with this changes. More...
 
QList< int > verticesToRemoveIndexes () const
 Returns the indexes of vertices to remove. More...
 

Friends

class TestQgsMeshEditor
 

Additional Inherited Members

- Protected Member Functions inherited from QgsTopologicalMesh::Changes
void clearChanges ()
 Clears all changes. More...
 
- Protected Attributes inherited from QgsMeshAdvancedEditing
QList< int > mInputFaces
 
QList< int > mInputVertices
 
bool mIsFinished = false
 
QString mMessage
 
- Protected Attributes inherited from QgsTopologicalMesh::Changes
int mAddedFacesFirstIndex = 0
 
QList< int > mChangeCoordinateVerticesIndexes
 
QList< int > mFaceIndexesToRemove
 
QVector< FaceNeighborsmFacesNeighborhoodToAdd
 
QVector< FaceNeighborsmFacesNeighborhoodToRemove
 
QVector< QgsMeshFacemFacesToAdd
 
QVector< QgsMeshFacemFacesToRemove
 
QList< int > mNativeFacesIndexesGeometryChanged
 
QList< std::array< int, 4 > > mNeighborhoodChanges
 
QList< QgsPointXYmNewXYValues
 
QList< double > mNewZValues
 
QList< QgsPointXYmOldXYValues
 
QList< double > mOldZValues
 
QList< QgsMeshVertexmRemovedVertices
 
QVector< int > mVertexToFaceToAdd
 
QVector< QgsMeshVertexmVerticesToAdd
 
QList< std::array< int, 3 > > mVerticesToFaceChanges
 
QList< int > mVerticesToFaceRemoved
 
QList< int > mVerticesToRemoveIndexes
 

Detailed Description

Class that can do a refinement of faces of a mesh. This refinement is operated only on faces with 3 or 4 vertices (triangles or quads) by adding a vertex on the middle of each refined face. For quad faces, a vertex is added on the centroid of the original face. New vertices Z value are interpolated between original vertices. Original triangle faces are replaced by four triangles, and original quad faces are replaced by four quads. Neighboring faces are triangulated to take account of the new vertex in the shared edge.

Since
QGIS 3.22

Definition at line 96 of file qgsmeshadvancedediting.h.

Constructor & Destructor Documentation

◆ QgsMeshEditRefineFaces()

QgsMeshEditRefineFaces::QgsMeshEditRefineFaces ( )
default

Constructor.

Member Function Documentation

◆ text()

QString QgsMeshEditRefineFaces::text ( ) const
overridevirtual

Returns a short text string describing what this advanced edit does. Default implementation return a void string.

Reimplemented from QgsMeshAdvancedEditing.

Definition at line 612 of file qgsmeshadvancedediting.cpp.

Friends And Related Function Documentation

◆ TestQgsMeshEditor

friend class TestQgsMeshEditor
friend

Definition at line 136 of file qgsmeshadvancedediting.h.


The documentation for this class was generated from the following files: