Choose your operating system:
Windows
macOS
Linux
Module |
|
Header |
/Engine/Plugins/Runtime/GeometryProcessing/Source/DynamicMesh/Public/DynamicMeshEditor.h |
Include |
#include "DynamicMeshEditor.h" |
class FDynamicMeshEditor
FDynamicMeshEditor implements low-level mesh editing operations. These operations can be used to construct higher-level operations. For example an Extrude operation could be implemented via DuplicateTriangles() and StitchLoopMinimal().
Name | Description | ||
---|---|---|---|
|
FDynamicMesh3 &... |
Mesh |
The mesh we will be editing |
Name | Description | |
---|---|---|
|
FDynamicMeshEditor ( |
Name | Description | ||
---|---|---|---|
|
AddTriangleFan_OrderedVertexLoop ( |
Fill hole with a triangle fan given an existing (unconnected) center vertex and an ordered loop of boundary vertices on the hole border. |
|
|
AppendColors ( |
Append Colors from one attribute overlay to another. |
|
|
AppendMesh ( |
Append input mesh to our internal mesh |
|
|
AppendMesh ( |
Append input mesh to our internal Mesh. |
|
|
AppendNormals ( |
Append normals from one attribute overlay to another. |
|
|
AppendTriangles ( |
Append triangles of an existing mesh. |
|
|
AppendUVs ( |
Append UVs from one attribute overlay to another. |
|
|
ComputeAndSetQuadNormal |
Calculate and set the per-triangle normals of the two input quads. |
|
|
CopyAttributes ( |
Copy all attribute-layer values from one triangle to another, using the IndexMaps to track and re-use shared attribute values. |
|
|
DisconnectTriangles |
Disconnects triangles (without constructing boundary loops) such that the input Triangles are not connected to any other triangles in the mesh |
|
|
DisconnectTriangles ( |
Finds boundary loops of connected components of a set of triangles, and duplicates the vertices along the boundary, such that the triangles become disconnected. |
|
|
DuplicateTriangles ( |
Duplicate triangles of a mesh. |
|
|
int |
FindOrCreateDuplicateColor ( |
Find "new" color for input color element under Index mapping, or create new if missing |
|
int |
FindOrCreateDuplicateGroup ( |
Find "new" group for input group under Index mapping, or create new if missing |
|
int |
FindOrCreateDuplicateNormal ( |
Find "new" normal for input normal element under Index mapping, or create new if missing |
|
int |
FindOrCreateDuplicateUV ( |
Find "new" UV for input UV element under Index mapping, or create new if missing |
|
int |
FindOrCreateDuplicateVertex ( |
Mesh element copying / duplication |
|
InvertTriangleNormals ( |
Flip the normals of the given triangles. |
|
|
ReinsertSubmesh ( |
Update a Base Mesh from a Submesh; See FMeshRegionOperator::BackPropropagate for a usage example. |
|
|
RemoveIsolatedVertices() |
Remove any vertices that are not used by any triangles |
|
|
int |
RemoveSmallComponents ( |
Remove any connected components with volume or area below the given thresholds |
|
RemoveTriangles ( |
Remove a list of triangles from the mesh, and optionally any vertices that are now orphaned |
|
|
RemoveTriangles |
Remove a list of triangles from the mesh, and optionally any vertices that are now orphaned |
|
|
RescaleAttributeUVs ( |
Rescale UVs for the whole mesh, for the given UV attribute layer |
|
|
ReverseTriangleOrientations |
Normal utility functions. |
|
|
SetGeneralTubeUVs ( |
For triangles connecting loops of corresponded vertices, set UVs in a cylindrical pattern so that the U coordinate starts at 0 for the first corresponded pair of vertices, and cycles around to 1 Assumes Triangles array stores indices of triangles in progressively filling the tube, starting with VertexIDs*[0]. |
|
|
SetQuadNormals |
Create and set new shared per-triangle normals for a pair of triangles that share one edge (ie a quad) |
|
|
SetQuadUVsFromProjection |
UV utility functions. |
|
|
SetTriangleNormals ( |
Create and set new shared per-triangle normals for a list of triangles. |
|
|
SetTriangleNormals |
Create and set new shared per-triangle normals for a list of triangles |
|
|
SetTriangleUVsFromProjection |
Project triangles onto a plane defined by the ProjectionFrame and use that to create/set new shared per-triangle UVs. |
|
|
SetTriangleUVsFromProjection |
Project triangles onto a plane defined by the ProjectionFrame and use that to create/set new shared per-triangle UVs. |
|
|
SetTubeNormals |
For a 'tube' of triangles connecting loops of corresponded vertices, set smooth normals such that corresponding vertices have corresponding normals |
|
|
SplitBowties ( |
Splits all bowties across the whole mesh |
|
|
SplitBowties ( |
Splits any bowties specifically on the given vertex, and updates (does not reset!) ResultOut with any added vertices |
|
|
SplitMesh ( |
Create multiple meshes out of the source mesh by splitting triangles out. |
|
|
StitchSparselyCorrespondedVertexLoops |
Stitch together two loops of vertices where vertices are only sparsely corresponded |
|
|
StitchVertexLoopsMinimal ( |
Create and Remove Triangle Functions. |
|
|
WeldVertexLoops |
Weld together two loops of vertices. Loops must be oriented (ordered) correctly for your use case. |
Name |
Description |
|
---|---|---|
|
FLoopPairSet |
Pair of associated vertex and edge loops. |
Name |
Description |
|
---|---|---|
|
EDuplicateTriBehavior |
In ReinsertSubmesh, a problem can arise where the mesh we are inserting has duplicate triangles of the base mesh. |