Navigation
API > API/Plugins > API/Plugins/DynamicMesh
Weld a pair of group edges. The two input spans must be boundary spans. Their position in the world is irrelevant, as the welding will always be done to preserve appropriate triangle winding, i.e. so that the newly welded triangles are not flipped relative to their neighbor.
User can optionally allow triangle deletion which handles cases where the group edges are connected by an edge at the end points.
| Name | FWeldEdgeSequence |
| Type | class |
| Header File | /Engine/Plugins/Runtime/GeometryProcessing/Source/DynamicMesh/Public/Operations/WeldEdgeSequence.h |
| Include Path | #include "Operations/WeldEdgeSequence.h" |
Syntax
class FWeldEdgeSequence
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FWeldEdgeSequence
(
FDynamicMesh3* Mesh, |
Operations/WeldEdgeSequence.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FWeldEdgeSequence() |
Operations/WeldEdgeSequence.h |
Enums
Public
| Name | Remarks |
|---|---|
| EWeldResult |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bAllowFailedMerge | bool | When true, failed calls to MergeEdges() will be handled by moving the edges without merging such that the final result appears to be welded but has invisible seam(s) instead of just failing. | Operations/WeldEdgeSequence.h | |
| bAllowIntermediateTriangleDeletion | bool | Whether triangle deletion is allowed in order to merge edges which are connected by a different edge. | Operations/WeldEdgeSequence.h | |
| EdgeSpanToDiscard | FEdgeSpan | Operations/WeldEdgeSequence.h | ||
| EdgeSpanToKeep | FEdgeSpan | Operations/WeldEdgeSequence.h | ||
| InterpolationT | double | When vertices are welded, each kept vertex will be placed at Lerp(KeepPos, RemovePos, InterpolationT) | Operations/WeldEdgeSequence.h | |
| Mesh | FDynamicMesh3 * | Inputs/Outputs | Operations/WeldEdgeSequence.h | |
| UnmergedEdgePairsOut | TArray< TPair< int, int > > | This is populated with pairs of eids which were not able to be merged. | Operations/WeldEdgeSequence.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
EWeldResult Weld () |
Alters the existing mesh by welding two edge sequences, preserving sequence A. | Operations/WeldEdgeSequence.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
EWeldResult CheckForAndCollapseSideTriangles() |
Operations/WeldEdgeSequence.h | ||
| Verifies validity of input edges by ensuring they are correctly-oriented boundary edges | Operations/WeldEdgeSequence.h | ||
EWeldResult SplitSmallerSpan() |
Splits largest edges of the span with fewest vertices so that both input spans have an equal number of vertices and edges after | Operations/WeldEdgeSequence.h | |
EWeldResult WeldEdgeSequence() |
Welds edge sequence together | Operations/WeldEdgeSequence.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static EWeldResult SplitEdgesToEqualizeSpanLengths
(
FDynamicMesh3& Mesh, |
Helper that splits the edges in the shorter span until the spans have the same number of edges. | Operations/WeldEdgeSequence.h |