![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include <EdgeSpan.h>
Static Public Member Functions | |
| static GEOMETRYCORE_API void | VertexSpanToEdgeSpan (const FDynamicMesh3 *Mesh, const TArray< int > &VertexSpan, TArray< int > &OutEdgeSpan) |
Public Attributes | |
| const FDynamicMesh3 * | Mesh |
| TArray< int > | Vertices |
| TArray< int > | Edges |
| TArray< int > | BowtieVertices |
| bool | bBowtiesCalculated = false |
Sequential lists of vertices/edges in a mesh that is not closed. If the list is closed it should be an FEdgeLoop
|
inline |
|
inline |
|
inline |
Initialize EdgeSpan with the given vertices and edges
| void FEdgeSpan::CalculateBowtieVertices | ( | ) |
Populate the BowtieVertices member
| bool FEdgeSpan::CheckValidity | ( | EValidityCheckFailMode | FailMode = EValidityCheckFailMode::Check | ) | const |
Exhaustively check that verts and edges of this EdgeSpan are consistent. This is quite expensive.
| int FEdgeSpan::FindNearestVertexIndex | ( | const FVector3d & | QueryPoint | ) | const |
| int FEdgeSpan::FindVertexIndex | ( | int | VertexID | ) | const |
| FAxisAlignedBox3d FEdgeSpan::GetBounds | ( | ) | const |
|
inline |
| void FEdgeSpan::GetPolyline | ( | FPolyline3d & | PolylineOut | ) | const |
Extract Polyline from Mesh based on vertex list
| void FEdgeSpan::GetSubspansByAngle | ( | double | AngleThresholdDeg, |
| int32 | MinSpanSize, | ||
| TArray< FEdgeSpan > & | OutSpans | ||
| ) | const |
Split a single EdgeSpan into multiple subspans based on an edge angle threshold. Subspans are copied out, the original span is not modified.
| AngleThresholdDeg | max angle between adjacant edges to mark a vertex as a "corner" (in degrees). Angle is measured between edge vectors extending from their common vertex, so a value of 180 means all vertices would be labelled as corners. |
| MinSpanSize | minimum number of edges necessary for a subspan, regardless of angles between edges. Subspans that would be too small are merged to adjacent subspans. |
| OutSpan | output subspans |
|
inline |
|
inline |
| void FEdgeSpan::Initialize | ( | const FDynamicMesh3 * | mesh, |
| const TArray< int > & | vertices, | ||
| const TArray< int > & | edges, | ||
| const TArray< int > * | BowtieVerticesIn = nullptr |
||
| ) |
Initialize the loop data
|
inline |
Construct an FEdgeSpan from a list of edges of the mesh
| MeshIn | the mesh the edges exist on |
| EdgesIn | list of sequential connected edges |
Construct an FEdgeSpan from a list of edges of the mesh
| EdgesIn | list of sequential connected edges |
|
inline |
Construct EdgeSpan from list of vertices of mesh
| MeshIn | Mesh that contains the span |
| VerticesIn | list of vertices that are sequentially connected by edges |
| bAutoOrient | if true, and any of the edges are boundary edges, we will re-orient the span to be consistent with boundary edges |
| bool FEdgeSpan::InitializeFromVertices | ( | const TArray< int > & | VerticesIn, |
| bool | bAutoOrient = true |
||
| ) |
Construct EdgeSpan from list of vertices of mesh
| VerticesIn | list of vertices that are sequentially connected by edges |
| bAutoOrient | if true, and any of the edges are boundary edges, we will re-orient the span to be consistent with boundary edges |
| bool FEdgeSpan::IsBoundaryspan | ( | const FDynamicMesh3 * | TestMesh = nullptr | ) | const |
| TestMesh | use this mesh instead of the internal Mesh pointer |
| bool FEdgeSpan::IsInternalspan | ( | ) | const |
|
inline |
Reverse order of vertices and edges in span
Set the bowtie vertices
| bool FEdgeSpan::SetCorrectOrientation | ( | ) |
If any edges if the span are on a mesh boundary, we can check that the span is oriented such that it corresponds with the boundary edges, and if not, reverse it.
|
static |
Utility function to convert a vertex span to an edge span
| Mesh | mesh to operate on |
| Vertexspan | ordered list of vertices |
| OutEdgeSpan | computed list of sequential connected vertices |
| TArray<int> UE::Geometry::FEdgeSpan::BowtieVertices |
List of bowtie vertices. This list is only valid if bBowtiesCalculated = true.
| TArray<int> UE::Geometry::FEdgeSpan::Edges |
Ordered list of edges forming the EdgeSpan
| const FDynamicMesh3* UE::Geometry::FEdgeSpan::Mesh |
The Mesh that contains this EdgeSpan
| TArray<int> UE::Geometry::FEdgeSpan::Vertices |
Ordered list of vertices forming the EdgeSpan