Navigation
API > API/Developer > API/Developer/NaniteUtilities
Mesh topology implementation for UE::Geometry::FAdaptiveTesselation.
TriEdgeIndex is always in [0..2] and corresponds to enumerating triangle edges and vertices in order The edge connects the vertices Tri[TriEdgeIndex], Tri[(TriEdgeIndex+1)%3].
| Name | FMinimalMesh |
| Type | class |
| Header File | /Engine/Source/Developer/NaniteUtilities/Public/AdaptiveTessellatorMesh.h |
| Include Path | #include "AdaptiveTessellatorMesh.h" |
Syntax
class FMinimalMesh
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FMinimalMesh
(
TArray< FLerpVert >& InVerts, |
AdaptiveTessellatorMesh.h |
Enums
Public
| Name | Remarks |
|---|---|
| EEdgeSplitMode |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FIndex3i | UE::Geometry::FIndex3i | AdaptiveTessellatorMesh.h | |
| RealType | float | AdaptiveTessellatorMesh.h | |
| VecType | FVector3f | AdaptiveTessellatorMesh.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AdjEdges | TArray< int32 > | AdaptiveTessellatorMesh.h | ||
| bTriangleSoup | const bool | AdaptiveTessellatorMesh.h | ||
| EdgeSplitMode | const EEdgeSplitMode | AdaptiveTessellatorMesh.h | ||
| Indexes | TArray< uint32 > & | AdaptiveTessellatorMesh.h | ||
| MaterialIndexes | TArray< int32 > & | AdaptiveTessellatorMesh.h | ||
| Verts | TArray< FLerpVert > & | AdaptiveTessellatorMesh.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool AllowEdgeFlip
(
const int32 TriIndex, |
AdaptiveTessellatorMesh.h | ||
bool AllowEdgeSplit
(
const int32 TriIndex, |
AdaptiveTessellatorMesh.h | ||
bool EdgeManifoldCheck
(
const int32 TriIndex, |
AdaptiveTessellatorMesh.h | ||
UE::Geometry::FFlipEdgeInfo FlipEdge
(
const int32 TriIndex, |
AdaptiveTessellatorMesh.h | ||
TPair< int32, int32 > GetAdjEdge
(
const int32 TriIndex, |
Return the triangle index on the other side of the half edge given by TriIndex, TriEdgeIndex or IndexConstants::InvalidID on boundary. | AdaptiveTessellatorMesh.h | |
int32 GetAdjTriangle
(
const int32 TriIndex, |
Return the triangle index on the other side of the half edge given by TriIndex, TriEdgeIndex or IndexConstants::InvalidID on boundary. | AdaptiveTessellatorMesh.h | |
const FLerpVert & GetLerpVert
(
const int32 Idx |
Policy-interface implementation end. | AdaptiveTessellatorMesh.h | |
int32 GetMaterialIndex
(
const int32 TriIndex |
AdaptiveTessellatorMesh.h | ||
FIndex3i GetTriangle
(
const int32 TriIndex |
AdaptiveTessellatorMesh.h | ||
FVector3f GetTriangleNormal
(
const int32 TriIndex |
AdaptiveTessellatorMesh.h | ||
void GetTriVertices
(
const int32 TriIndex, |
AdaptiveTessellatorMesh.h | ||
int32 GetVertexIndex
(
const int32 TriIndex, |
Policy-interface implementation begin. | AdaptiveTessellatorMesh.h | |
FVector3f GetVertexPosition
(
const int32 TriIndex, |
AdaptiveTessellatorMesh.h | ||
FVector3f GetVertexPosition
(
const int32 VertexIndex |
AdaptiveTessellatorMesh.h | ||
bool IsTriangleSoup() |
AdaptiveTessellatorMesh.h | ||
bool IsValidTri
(
const int32 TriIndex |
AdaptiveTessellatorMesh.h | ||
bool IsValidVertex
(
const int32 VertexID |
AdaptiveTessellatorMesh.h | ||
int32 MaxTriID() |
AdaptiveTessellatorMesh.h | ||
int32 MaxVertexID() |
AdaptiveTessellatorMesh.h | ||
UE::Geometry::FPokeInfo PokeTriangle
(
const int32 TriIndex, |
Introduce new vertex in triangle, connect to all three vertices and split into three new triangles. | AdaptiveTessellatorMesh.h | |
void SetVertexPosition
(
const int32 VertexIndex, |
AdaptiveTessellatorMesh.h | ||
UE::Geometry::FEdgeSplitInfo SplitEdge
(
const int32 TriIndex, |
Split given triangle edge. The new position is SplitWeight * V0 + (1-SplitWeight) * V1. | AdaptiveTessellatorMesh.h |