Navigation
API > API/Runtime > API/Runtime/GeometryCore
FMergeCoincidentMeshEdges finds pairs of boundary edges of the mesh that are identical (ie have endpoint vertices at the same locations) and merges the pair into a single edge. This is similar to welding vertices but safer because it prevents bowties from being formed.
Currently if the two edges have the same "orientation" (ie from their respective triangles) they cannot be merged.
| Name | FMergeCoincidentMeshEdges |
| Type | class |
| Header File | /Engine/Source/Runtime/GeometryCore/Public/DynamicMesh/Operations/MergeCoincidentMeshEdges.h |
| Include Path | #include "DynamicMesh/Operations/MergeCoincidentMeshEdges.h" |
Syntax
class FMergeCoincidentMeshEdges
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FMergeCoincidentMeshEdges
(
FDynamicMesh3* mesh |
DynamicMesh/Operations/MergeCoincidentMeshEdges.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| DEFAULT_TOLERANCE | const double | Default tolerance is float ZeroTolerance | DynamicMesh/Operations/MergeCoincidentMeshEdges.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bWeldAttrsOnMergedEdges | bool | Enable / Disable attribute welding along merged mesh edges | DynamicMesh/Operations/MergeCoincidentMeshEdges.h | |
| EdgesToMerge | TSet< int32 > * | Set of EdgesIds to merge. If null, perform merge operation across entire mesh | DynamicMesh/Operations/MergeCoincidentMeshEdges.h | |
| FinalNumBoundaryEdges | int32 | Number of mesh boundary edges after merging | DynamicMesh/Operations/MergeCoincidentMeshEdges.h | |
| InitialNumBoundaryEdges | int32 | Number of mesh boundary edges before merging | DynamicMesh/Operations/MergeCoincidentMeshEdges.h | |
| MergeSearchTolerance | double | Edges are considered as potentially the same if their midpoints are within this distance. | DynamicMesh/Operations/MergeCoincidentMeshEdges.h | |
| MergeVertexTolerance | double | Edges are coincident if both pairs of endpoint vertices are closer than this distance | DynamicMesh/Operations/MergeCoincidentMeshEdges.h | |
| Mesh | FDynamicMesh3 * | The mesh that we are modifying | DynamicMesh/Operations/MergeCoincidentMeshEdges.h | |
| OnlyUniquePairs | bool | Only merge unambiguous pairs that have unique duplicate-edge matches | DynamicMesh/Operations/MergeCoincidentMeshEdges.h | |
| SplitAttributeWelder | FSplitAttributeWelder | Used to weld attributes at the merged edges | DynamicMesh/Operations/MergeCoincidentMeshEdges.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool Apply() |
Run the merge operation and modify .Mesh | DynamicMesh/Operations/MergeCoincidentMeshEdges.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool IsSameEdge
(
const FVector3d& a, |
Returns true if endpoint vertices are within tolerance. | DynamicMesh/Operations/MergeCoincidentMeshEdges.h |