UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::Geometry::FDynamicGraph2< T > Class Template Reference

#include <DynamicGraph2.h>

+ Inheritance diagram for UE::Geometry::FDynamicGraph2< T >:

Public Member Functions

TVector2< T > GetVertex (int VID) const
 
void SetVertex (int VID, TVector2< T > VNewPos)
 
bool GetEdgeV (int EID, UE::Math::TVector2< T > &A, UE::Math::TVector2< T > &B) const
 
TSegment2< T > GetEdgeSegment (int EID) const
 
TVector2< T > GetEdgeCenter (int EID) const
 
int AppendVertex (TVector2< T > V)
 
value_iteration< TVector2< T > > Vertices () const
 
bool SortedVtxEdges (int VID, TArray< int > &Sorted) const
 
FAxisAlignedBox2d GetBounds () const
 
TAxisAlignedBox2< T > CachedBounds ()
 cached bounding box, lazily re-computed on access if mesh has changed
 
double OpeningAngle (int VID, double InvalidValue=TNumericLimits< T >::Max()) const
 
FIndex2i GetEdgeV (int EID) const
 
- Public Member Functions inherited from UE::Geometry::FDynamicGraph
 FDynamicGraph ()
 
virtual ~FDynamicGraph ()
 
int Timestamp () const
 
int ShapeTimestamp () const
 
int VertexCount () const
 
int EdgeCount () const
 
int MaxVertexID () const
 
int MaxEdgeID () const
 
int MaxGroupID () const
 
bool IsVertex (int VID) const
 
bool IsEdge (int EID) const
 
FSmallListSet::MappedValueEnumerable VtxVerticesItr (int VID) const
 
FSmallListSet::ValueEnumerable VtxEdgesItr (int VID) const
 
int GetVtxEdgeCount (int VID) const
 
int GetMaxVtxEdgeCount () const
 
FIndex2i GetEdgeV (int EID) const
 
int GetEdgeGroup (int EID) const
 
void SetEdgeGroup (int EID, int GroupID)
 
int AllocateEdgeGroup ()
 
FEdge GetEdge (int EID) const
 
int AppendEdge (const FEdge &E)
 
int AppendEdge (const FIndex2i &ev, int GID=-1)
 
int AppendEdge (int v0, int v1, int GID=-1)
 
vertex_iterator VertexIndices () const
 
edge_iterator EdgeIndices () const
 
value_iteration< FEdgeEdges () const
 
int FindEdge (int VA, int VB) const
 
EMeshResult RemoveEdge (int EID, bool bRemoveIsolatedVertices)
 
EMeshResult RemoveVertex (int VID, bool bRemoveIsolatedVertices)
 
EMeshResult SplitEdge (int VA, int VB, FEdgeSplitInfo &Split)
 
EMeshResult SplitEdge (int EAB, FEdgeSplitInfo &Split)
 
EMeshResult SplitEdgeWithExistingVertex (int EAB, int ExistingMidVert, FEdgeSplitInfo &Split)
 
EMeshResult CollapseEdge (int VKeep, int VRemove, FEdgeCollapseInfo &Collapse)
 
bool IsCompact () const
 
bool IsCompactV () const
 
bool IsBoundaryVertex (int VID) const
 
bool IsJunctionVertex (int VID) const
 
bool IsRegularVertex (int VID) const
 
virtual bool CheckValidity (EValidityCheckFailMode FailMode=EValidityCheckFailMode::Check) const
 

Static Public Member Functions

static TVector2< T > InvalidVertex ()
 
- Static Public Member Functions inherited from UE::Geometry::FDynamicGraph
static FIndex2i InvalidEdgeV ()
 
static FEdge InvalidEdge3 ()
 

Protected Member Functions

virtual int append_new_split_vertex (int A, int B) override
 
virtual void subclass_validity_checks (TFunction< void(bool)> CheckOrFailF) const override
 
- Protected Member Functions inherited from UE::Geometry::FDynamicGraph
void updateTimeStamp (bool bShapeChange)
 
int append_vertex_internal ()
 
bool insert_vertex_internal (int32 Vid)
 
int add_edge (int A, int B, int GID)
 
bool edge_has_v (int EID, int VID) const
 
int edge_other_v (int EID, int VID) const
 
int replace_edge_vertex (int EID, int VOld, int VNew)
 
void debug_check_is_vertex (int V) const
 
void debug_check_is_edge (int E) const
 

Additional Inherited Members

- Public Types inherited from UE::Geometry::FDynamicGraph
typedef FRefCountVector::IndexEnumerable vertex_iterator
 
typedef FRefCountVector::IndexEnumerable edge_iterator
 
template<typename T >
using value_iteration = FRefCountVector::MappedEnumerable< T >
 
- Static Public Attributes inherited from UE::Geometry::FDynamicGraph
static constexpr int InvalidID = IndexConstants::InvalidID
 
static constexpr int DuplicateEdgeID = -2
 
- Protected Attributes inherited from UE::Geometry::FDynamicGraph
FRefCountVector vertices_refcount
 
FSmallListSet vertex_edges
 
FRefCountVector edges_refcount
 
TDynamicVector< FEdgeedges
 
int timestamp = 0
 
int shape_timestamp = 0
 
int max_group_id = 0
 

Member Function Documentation

◆ append_new_split_vertex()

template<typename T >
virtual int UE::Geometry::FDynamicGraph2< T >::append_new_split_vertex ( int  A,
int  B 
)
inlineoverrideprotectedvirtual

Reimplemented from UE::Geometry::FDynamicGraph.

◆ AppendVertex()

template<typename T >
int UE::Geometry::FDynamicGraph2< T >::AppendVertex ( TVector2< T >  V)
inline

◆ CachedBounds()

template<typename T >
TAxisAlignedBox2< T > UE::Geometry::FDynamicGraph2< T >::CachedBounds ( )
inline

cached bounding box, lazily re-computed on access if mesh has changed

◆ GetBounds()

template<typename T >
FAxisAlignedBox2d UE::Geometry::FDynamicGraph2< T >::GetBounds ( ) const
inline

◆ GetEdgeCenter()

template<typename T >
TVector2< T > UE::Geometry::FDynamicGraph2< T >::GetEdgeCenter ( int  EID) const
inline

◆ GetEdgeSegment()

template<typename T >
TSegment2< T > UE::Geometry::FDynamicGraph2< T >::GetEdgeSegment ( int  EID) const
inline

◆ GetEdgeV() [1/2]

template<typename T >
FIndex2i UE::Geometry::FDynamicGraph::GetEdgeV ( int  EID) const
inline

◆ GetEdgeV() [2/2]

template<typename T >
bool UE::Geometry::FDynamicGraph2< T >::GetEdgeV ( int  EID,
UE::Math::TVector2< T > &  A,
UE::Math::TVector2< T > &  B 
) const
inline

◆ GetVertex()

template<typename T >
TVector2< T > UE::Geometry::FDynamicGraph2< T >::GetVertex ( int  VID) const
inline

◆ InvalidVertex()

template<typename T >
static TVector2< T > UE::Geometry::FDynamicGraph2< T >::InvalidVertex ( )
inlinestatic

◆ OpeningAngle()

template<typename T >
double UE::Geometry::FDynamicGraph2< T >::OpeningAngle ( int  VID,
double  InvalidValue = TNumericLimits<T>::Max() 
) const
inline

Compute opening angle at vertex VID. If not a vertex, or valence != 2, returns InvalidValue argument. If either edge is degenerate, returns InvalidValue argument.

◆ SetVertex()

template<typename T >
void UE::Geometry::FDynamicGraph2< T >::SetVertex ( int  VID,
TVector2< T >  VNewPos 
)
inline

◆ SortedVtxEdges()

template<typename T >
bool UE::Geometry::FDynamicGraph2< T >::SortedVtxEdges ( int  VID,
TArray< int > &  Sorted 
) const
inline

return edges around VID sorted by angle, in counter-clockwise order

◆ subclass_validity_checks()

template<typename T >
virtual void UE::Geometry::FDynamicGraph2< T >::subclass_validity_checks ( TFunction< void(bool)>  CheckOrFailF) const
inlineoverrideprotectedvirtual

Reimplemented from UE::Geometry::FDynamicGraph.

◆ Vertices()

template<typename T >
value_iteration< TVector2< T > > UE::Geometry::FDynamicGraph2< T >::Vertices ( ) const
inline

Enumerate positions of all vertices in graph


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