UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::Geometry::FDelaunay2Connectivity Struct Reference

Public Member Functions

 FDelaunay2Connectivity (bool bTrackDuplicateVertices)
 
void Empty (int32 ExpectedMaxVertices=0)
 
void Append (const FDelaunay2Connectivity &ToAdd)
 
void EnableVertexAdjacency (int32 NumVertices)
 
const TArray< int32 > & GetVertexAdjacencyCache () const
 
TArray< int32MakeVertexAdjacency (int32 NumVertices) const
 
void DisableVertexAdjacency ()
 
bool HasVertexAdjacency () const
 
bool HasCompleteVertexAdjacency (int32 NumVertices) const
 
bool HasEdge (const FIndex2i &Edge) const
 
int32 NumTriangles () const
 
int32 NumHalfEdges () const
 
TArray< FIndex3iGetTriangles () const
 
void GetTrianglesAndAdjacency (TArray< FIndex3i > &Triangles, TArray< FIndex3i > &Adjacency) const
 
FIndex3i AsUniqueTriangle (const FIndex2i &Edge, int32 Vertex) const
 
bool GetFilledTriangles (TArray< FIndex3i > &TrianglesOut, TArrayView< const FIndex2i > Edges, FDelaunay2::EFillMode FillMode) const
 
template<typename RealType >
bool GetFilledTrianglesGeneralizedWinding (TArray< FIndex3i > &TrianglesOut, TArrayView< const TVector2< RealType > > Vertices, TArrayView< const FIndex2i > BoundaryEdges, FDelaunay2::EFillMode FillMode) const
 
bool GetFilledTriangles (TArray< FIndex3i > &TrianglesOut, TArrayView< const FIndex2i > BoundaryEdges, TArrayView< const FIndex2i > HoleEdges) const
 
void AddTriangle (const FIndex3i &Tri)
 
void InitWithGhosts (const FIndex3i &Tri)
 
void DeleteTriangle (const FIndex3i &Tri)
 
int32 GetVertex (const FIndex2i &Edge) const
 
void MarkDuplicateVertex (int32 Orig, int32 Duplicate)
 
bool HasDuplicateTracking () const
 
void SetHasDuplicates ()
 
bool HasDuplicates () const
 
void FixDuplicatesOnEdge (FIndex2i &Edge) const
 
int32 RemapIfDuplicate (int32 Index) const
 
FIndex2i GetEdge (int32 Vertex)
 
FIndex2i GetEdgeFromCache (const TArray< int32 > &Cache, int32 Vertex) const
 
template<typename VisitFunctionType >
void EnumerateOrientedEdges (VisitFunctionType VisitFn) const
 
template<typename VisitFunctionType >
void EnumerateTriangles (VisitFunctionType VisitFn, bool bSkipGhosts=false) const
 

Static Public Member Functions

static bool IsGhost (const FIndex2i &Edge, int32 Vertex)
 
static bool IsGhost (const FIndex2i &Edge)
 

Static Public Attributes

static constexpr int32 GhostIndex = -1
 
static constexpr int32 InvalidIndex = -2
 

Protected Member Functions

int32 GetCachedAdjVertex (const TArray< int32 > &Cache, int32 VertexID) const
 
void UpdateAdjCache (FIndex2i Edge)
 

Static Protected Member Functions

static int32 VertexIDToAdjIndex (int32 VertexID)
 
static int32 AdjIndexToVertexID (int32 AdjIndex)
 

Protected Attributes

TMap< FIndex2i, int32EdgeToVert
 
TArray< int32VertexAdjCache
 
bool bUseAdjCache = false
 
bool bHasDuplicates = false
 
bool bTrackDuplicateVertices = false
 
TMap< int32, int32DuplicateVertices
 

Constructor & Destructor Documentation

◆ FDelaunay2Connectivity()

UE::Geometry::FDelaunay2Connectivity::FDelaunay2Connectivity ( bool  bTrackDuplicateVertices)
inline

Member Function Documentation

◆ AddTriangle()

void UE::Geometry::FDelaunay2Connectivity::AddTriangle ( const FIndex3i Tri)
inline

◆ AdjIndexToVertexID()

static int32 UE::Geometry::FDelaunay2Connectivity::AdjIndexToVertexID ( int32  AdjIndex)
inlinestaticprotected

◆ Append()

void UE::Geometry::FDelaunay2Connectivity::Append ( const FDelaunay2Connectivity ToAdd)
inline

◆ AsUniqueTriangle()

FIndex3i UE::Geometry::FDelaunay2Connectivity::AsUniqueTriangle ( const FIndex2i Edge,
int32  Vertex 
) const
inline

◆ DeleteTriangle()

void UE::Geometry::FDelaunay2Connectivity::DeleteTriangle ( const FIndex3i Tri)
inline

◆ DisableVertexAdjacency()

void UE::Geometry::FDelaunay2Connectivity::DisableVertexAdjacency ( )
inline

◆ Empty()

void UE::Geometry::FDelaunay2Connectivity::Empty ( int32  ExpectedMaxVertices = 0)
inline

◆ EnableVertexAdjacency()

void UE::Geometry::FDelaunay2Connectivity::EnableVertexAdjacency ( int32  NumVertices)
inline

◆ EnumerateOrientedEdges()

void UE::Geometry::FDelaunay2Connectivity::EnumerateOrientedEdges ( VisitFunctionType  VisitFn) const
inline

◆ EnumerateTriangles()

void UE::Geometry::FDelaunay2Connectivity::EnumerateTriangles ( VisitFunctionType  VisitFn,
bool  bSkipGhosts = false 
) const
inline

◆ FixDuplicatesOnEdge()

void UE::Geometry::FDelaunay2Connectivity::FixDuplicatesOnEdge ( FIndex2i Edge) const
inline

◆ GetCachedAdjVertex()

int32 UE::Geometry::FDelaunay2Connectivity::GetCachedAdjVertex ( const TArray< int32 > &  Cache,
int32  VertexID 
) const
inlineprotected

◆ GetEdge()

FIndex2i UE::Geometry::FDelaunay2Connectivity::GetEdge ( int32  Vertex)
inline

◆ GetEdgeFromCache()

FIndex2i UE::Geometry::FDelaunay2Connectivity::GetEdgeFromCache ( const TArray< int32 > &  Cache,
int32  Vertex 
) const
inline

◆ GetFilledTriangles() [1/2]

bool UE::Geometry::FDelaunay2Connectivity::GetFilledTriangles ( TArray< FIndex3i > &  TrianglesOut,
TArrayView< const FIndex2i BoundaryEdges,
TArrayView< const FIndex2i HoleEdges 
) const
inline

◆ GetFilledTriangles() [2/2]

bool UE::Geometry::FDelaunay2Connectivity::GetFilledTriangles ( TArray< FIndex3i > &  TrianglesOut,
TArrayView< const FIndex2i Edges,
FDelaunay2::EFillMode  FillMode 
) const
inline

◆ GetFilledTrianglesGeneralizedWinding()

template<typename RealType >
bool UE::Geometry::FDelaunay2Connectivity::GetFilledTrianglesGeneralizedWinding ( TArray< FIndex3i > &  TrianglesOut,
TArrayView< const TVector2< RealType > >  Vertices,
TArrayView< const FIndex2i BoundaryEdges,
FDelaunay2::EFillMode  FillMode 
) const
inline

◆ GetTriangles()

TArray< FIndex3i > UE::Geometry::FDelaunay2Connectivity::GetTriangles ( ) const
inline

◆ GetTrianglesAndAdjacency()

void UE::Geometry::FDelaunay2Connectivity::GetTrianglesAndAdjacency ( TArray< FIndex3i > &  Triangles,
TArray< FIndex3i > &  Adjacency 
) const
inline

◆ GetVertex()

int32 UE::Geometry::FDelaunay2Connectivity::GetVertex ( const FIndex2i Edge) const
inline

◆ GetVertexAdjacencyCache()

const TArray< int32 > & UE::Geometry::FDelaunay2Connectivity::GetVertexAdjacencyCache ( ) const
inline

◆ HasCompleteVertexAdjacency()

bool UE::Geometry::FDelaunay2Connectivity::HasCompleteVertexAdjacency ( int32  NumVertices) const
inline

◆ HasDuplicates()

bool UE::Geometry::FDelaunay2Connectivity::HasDuplicates ( ) const
inline

◆ HasDuplicateTracking()

bool UE::Geometry::FDelaunay2Connectivity::HasDuplicateTracking ( ) const
inline

◆ HasEdge()

bool UE::Geometry::FDelaunay2Connectivity::HasEdge ( const FIndex2i Edge) const
inline

◆ HasVertexAdjacency()

bool UE::Geometry::FDelaunay2Connectivity::HasVertexAdjacency ( ) const
inline

◆ InitWithGhosts()

void UE::Geometry::FDelaunay2Connectivity::InitWithGhosts ( const FIndex3i Tri)
inline

◆ IsGhost() [1/2]

static bool UE::Geometry::FDelaunay2Connectivity::IsGhost ( const FIndex2i Edge)
inlinestatic

◆ IsGhost() [2/2]

static bool UE::Geometry::FDelaunay2Connectivity::IsGhost ( const FIndex2i Edge,
int32  Vertex 
)
inlinestatic

◆ MakeVertexAdjacency()

TArray< int32 > UE::Geometry::FDelaunay2Connectivity::MakeVertexAdjacency ( int32  NumVertices) const
inline

◆ MarkDuplicateVertex()

void UE::Geometry::FDelaunay2Connectivity::MarkDuplicateVertex ( int32  Orig,
int32  Duplicate 
)
inline

◆ NumHalfEdges()

int32 UE::Geometry::FDelaunay2Connectivity::NumHalfEdges ( ) const
inline

◆ NumTriangles()

int32 UE::Geometry::FDelaunay2Connectivity::NumTriangles ( ) const
inline

◆ RemapIfDuplicate()

int32 UE::Geometry::FDelaunay2Connectivity::RemapIfDuplicate ( int32  Index) const
inline

◆ SetHasDuplicates()

void UE::Geometry::FDelaunay2Connectivity::SetHasDuplicates ( )
inline

◆ UpdateAdjCache()

void UE::Geometry::FDelaunay2Connectivity::UpdateAdjCache ( FIndex2i  Edge)
inlineprotected

◆ VertexIDToAdjIndex()

static int32 UE::Geometry::FDelaunay2Connectivity::VertexIDToAdjIndex ( int32  VertexID)
inlinestaticprotected

Member Data Documentation

◆ bHasDuplicates

bool UE::Geometry::FDelaunay2Connectivity::bHasDuplicates = false
protected

◆ bTrackDuplicateVertices

bool UE::Geometry::FDelaunay2Connectivity::bTrackDuplicateVertices = false
protected

◆ bUseAdjCache

bool UE::Geometry::FDelaunay2Connectivity::bUseAdjCache = false
protected

◆ DuplicateVertices

TMap<int32, int32> UE::Geometry::FDelaunay2Connectivity::DuplicateVertices
protected

◆ EdgeToVert

TMap<FIndex2i, int32> UE::Geometry::FDelaunay2Connectivity::EdgeToVert
protected

◆ GhostIndex

constexpr int32 UE::Geometry::FDelaunay2Connectivity::GhostIndex = -1
staticconstexpr

◆ InvalidIndex

constexpr int32 UE::Geometry::FDelaunay2Connectivity::InvalidIndex = -2
staticconstexpr

◆ VertexAdjCache

TArray<int32> UE::Geometry::FDelaunay2Connectivity::VertexAdjCache
protected

The documentation for this struct was generated from the following file: