UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::CADKernel::FTopologicalVertex Class Reference

#include <TopologicalVertex.h>

+ Inheritance diagram for UE::CADKernel::FTopologicalVertex:

Public Member Functions

virtual ~FTopologicalVertex () override
 
virtual void Serialize (FCADKernelArchive &Ar) override
 
virtual CADKERNEL_API void SpawnIdent (FDatabase &Database) override
 
virtual EEntity GetEntityType () const override
 
const FVectorGetBarycenter () const
 
const FVectorGetCoordinates () const
 
void SetCoordinates (const FVector &NewCoordinates)
 
double Distance (const FTopologicalVertex &OtherVertex) const
 
double SquareDistance (const FTopologicalVertex &OtherVertex) const
 
double SquareDistanceBetweenBarycenters (const FTopologicalVertex &OtherVertex) const
 
double SquareDistance (const FVector &Point) const
 
CADKERNEL_API FVertexMeshGetOrCreateMesh (FModelMesh &MeshModel)
 
const FVertexMeshGetMesh () const
 
CADKERNEL_API void Link (FTopologicalVertex &InEntity)
 
CADKERNEL_API void UnlinkTo (FTopologicalVertex &Entity)
 
virtual void RemoveFromLink () override
 
void DeleteIfIsolated ()
 
virtual void Empty () override
 
CADKERNEL_API bool IsBorderVertex () const
 
CADKERNEL_API void AddConnectedEdge (FTopologicalEdge &Edge)
 
CADKERNEL_API void RemoveConnectedEdge (FTopologicalEdge &Edge)
 
const TArray< FTopologicalEdge * > & GetDirectConnectedEdges () const
 
CADKERNEL_API const FTopologicalFaceGetFace () const
 
void GetConnectedEdges (TArray< FTopologicalEdge * > &OutConnectedEdges) const
 
const int32 ConnectedEdgeCount ()
 
CADKERNEL_API void GetConnectedEdges (const FTopologicalVertex &OtherVertex, TArray< FTopologicalEdge * > &Edges) const
 
- Public Member Functions inherited from UE::CADKernel::TLinkable< FTopologicalVertex, FVertexLink >
 TLinkable ()=default
 
virtual ~TLinkable () override
 
void Finalize ()
 
const TSharedRef< const FTopologicalVertexGetLinkActiveEntity () const
 
TSharedRef< FTopologicalVertexGetLinkActiveEntity ()
 
bool IsActiveEntity () const
 
void Activate ()
 
virtual TSharedPtr< FVertexLinkGetLink () const
 
virtual TSharedPtr< FVertexLinkGetLink ()
 
void ResetTopologicalLink ()
 
bool IsLinkedTo (const TSharedRef< FTopologicalVertex > &Entity) const
 
bool IsLinkedTo (const FTopologicalVertex &Entity) const
 
int32 GetTwinEntityCount () const
 
bool HasTwin () const
 
const TArray< FTopologicalVertex * > & GetTwinEntities () const
 
void UnlinkTwinEntities ()
 
const bool IsThinZone () const
 
virtual void SetThinZoneMarker ()
 
virtual void ResetThinZone ()
 
virtual void ResetMarkersRecursively () const override
 
- Public Member Functions inherited from UE::CADKernel::FTopologicalEntity
FIdent GetKioId () const
 
const bool IsApplyCriteria () const
 
virtual void SetApplyCriteriaMarker () const
 
virtual void ResetApplyCriteria ()
 
bool IsNotMeshable () const
 
bool IsMeshable () const
 
bool IsPreMeshed () const
 
bool IsMeshed () const
 
virtual void SetPreMeshedMarker ()
 
virtual void SetMeshedMarker ()
 
virtual void ResetPreMeshed ()
 
- Public Member Functions inherited from UE::CADKernel::FEntity
virtual ~FEntity ()
 
virtual void Delete ()
 
bool IsTopologicalEntity () const
 
bool IsTopologicalShapeEntity () const
 
bool IsGeometricalEntity ()
 
const TCHARGetTypeName () const
 
const FIdentGetId () const
 
- Public Member Functions inherited from TSharedFromThis< FEntity >
TSharedRef< FEntity, Mode > AsShared ()
 
TSharedRef< FEntity const, Mode > AsShared () const
 
TSharedRef< SubobjectType, Mode > AsSharedSubobject (SubobjectType *SubobjectPtr) const
 
TWeakPtr< FEntity, Mode > AsWeak ()
 
TWeakPtr< FEntity const, Mode > AsWeak () const
 
TWeakPtr< SubobjectType, Mode > AsWeakSubobject (SubobjectType *SubobjectPtr) const
 
void UpdateWeakReferenceInternal (TSharedPtr< SharedPtrType, SharedPtrMode > const *InSharedPtr, OtherType *InObject) const
 
void UpdateWeakReferenceInternal (TSharedRef< SharedRefType, SharedPtrMode > const *InSharedRef, OtherType *InObject) const
 
UE_FORCEINLINE_HINT bool DoesSharedInstanceExist () const
 
- Public Member Functions inherited from UE::CADKernel::FHaveStates
 FHaveStates ()
 
void Serialize (FCADKernelArchive &Ar)
 
void ResetElementStatus ()
 
bool HasMarker1 () const
 
bool HasMarker2 () const
 
bool HasMarker1And2 () const
 
bool HasMarker1Or2 () const
 
void SetMarker1 () const
 
void SetMarker2 () const
 
void ResetMarker1 () const
 
void ResetMarker2 () const
 
void ResetMarkers () const
 
bool IsDeleted () const
 
void SetDeletedMarker () const
 
void ResetDeleted () const
 
virtual bool IsDeletedOrDegenerated () const
 
virtual bool IsDegenerated () const
 
virtual void SetAsDegenerated () const
 
virtual void ResetDegenerated () const
 
void SetWaitingMarker () const
 
void ResetWaitingMarker () const
 
virtual bool IsWaiting () const
 
void SetProcessedMarker () const
 
void ResetProcessedMarker () const
 
virtual bool IsProcessed () const
 
virtual bool IsProcessedDeletedOrDegenerated () const
 
void SetToProcessMarker () const
 
void ResetToProcessMarker () const
 
virtual bool IsToProcess () const
 
virtual bool IsNotToProcess () const
 
virtual bool IsNotToOrAlreadyProcess () const
 

Static Public Member Functions

static TSharedRef< FTopologicalVertexMake (const FVector &InCoordinate)
 
- Static Public Member Functions inherited from UE::CADKernel::FEntity
template<typename OtherEntity , typename... InArgTypes>
static TSharedRef< OtherEntity > MakeShared (InArgTypes &&... Args)
 
template<typename OtherEntity >
static TSharedRef< OtherEntity > MakeShared (FCADKernelArchive &Archive)
 
static void SerializeIdent (FCADKernelArchive &Ar, TSharedPtr< FEntity > &Entity, bool bSaveSelection=true)
 
static void SerializeIdent (FCADKernelArchive &Ar, TWeakPtr< FEntity > &Entity, bool bSaveSelection=true)
 
static void SerializeIdent (FCADKernelArchive &Ar, FEntity **Entity, bool bSaveSelection=true)
 
template<typename EntityType >
static void SerializeIdent (FCADKernelArchive &Ar, EntityType **Entity, bool bSaveSelection=true)
 
template<typename EntityType >
static void SerializeIdent (FCADKernelArchive &Ar, TSharedPtr< EntityType > &Entity, bool bSaveSelection=true)
 
template<typename EntityType >
static void SerializeIdent (FCADKernelArchive &Ar, TWeakPtr< EntityType > &Entity, bool bSaveSelection=true)
 
static void SerializeIdents (FCADKernelArchive &Ar, TArray< FEntity * > &Array, bool bSaveSelection=true)
 
static void SerializeIdents (FCADKernelArchive &Ar, TArray< TWeakPtr< FEntity > > &Array, bool bSaveSelection=true)
 
static void SerializeIdents (FCADKernelArchive &Ar, TArray< TSharedPtr< FEntity > > &Array, bool bSaveSelection=true)
 
static void SerializeIdents (FCADKernelArchive &Ar, TArray< TOrientedEntity< FEntity > > &Array)
 
template<typename EntityType >
static void SerializeIdents (FCADKernelArchive &Ar, TArray< EntityType * > &Array, bool bSaveSelection=true)
 
template<typename EntityType >
static void SerializeIdents (FCADKernelArchive &Ar, TArray< TWeakPtr< EntityType > > &Array, bool bSaveSelection=true)
 
template<typename EntityType >
static void SerializeIdents (FCADKernelArchive &Ar, TArray< TSharedPtr< EntityType > > &Array, bool bSaveSelection=true)
 
static void SpawnIdentOnEntities (TArray< FEntity * > &Array, FDatabase &Database)
 
static void SpawnIdentOnEntities (TArray< TSharedPtr< FEntity > > &Array, FDatabase &Database)
 
static void SpawnIdentOnEntities (TArray< TOrientedEntity< FEntity > > &Array, FDatabase &Database)
 
template<typename EntityType >
static void SpawnIdentOnEntities (TArray< TSharedPtr< EntityType > > &Array, FDatabase &Database)
 
static void ResetMarkersRecursivelyOnEntities (const TArray< FEntity * > &Array)
 
static void ResetMarkersRecursivelyOnEntities (const TArray< TWeakPtr< FEntity > > &Array)
 
static void ResetMarkersRecursivelyOnEntities (const TArray< TSharedPtr< FEntity > > &Array)
 
static void ResetMarkersRecursivelyOnEntities (const TArray< TOrientedEntity< FEntity > > &Array)
 
template<typename EntityType >
static void ResetMarkersRecursivelyOnEntities (const TArray< TSharedPtr< EntityType > > &Array)
 
static TSharedPtr< FEntityDeserialize (FCADKernelArchive &Ar)
 
static const TCHARGetTypeName (EEntity Type)
 

Protected Member Functions

 FTopologicalVertex (const FVector &InCoordinates)
 
 FTopologicalVertex ()=default
 
- Protected Member Functions inherited from UE::CADKernel::TLinkable< FTopologicalVertex, FVertexLink >
void MakeLink (FTopologicalVertex &Twin)
 
void SetTopologicalLink (TSharedPtr< FVertexLink > Link)
 
- Protected Member Functions inherited from UE::CADKernel::FEntity
bool SetId (FDatabase &Database)
 
- Protected Member Functions inherited from TSharedFromThis< FEntity >
 TSharedFromThis ()
 
 TSharedFromThis (TSharedFromThis const &)
 
UE_FORCEINLINE_HINT TSharedFromThisoperator= (TSharedFromThis const &)
 
 ~TSharedFromThis ()
 

Protected Attributes

TArray< FTopologicalEdge * > ConnectedEdges
 
FVector Coordinates
 
TSharedPtr< FVertexMeshMesh
 
- Protected Attributes inherited from UE::CADKernel::TLinkable< FTopologicalVertex, FVertexLink >
TSharedPtr< FVertexLinkTopologicalLink
 
- Protected Attributes inherited from UE::CADKernel::FTopologicalEntity
FIdent CtKioId = 0
 
- Protected Attributes inherited from UE::CADKernel::FEntity
FIdent Id = 0
 
- Protected Attributes inherited from UE::CADKernel::FHaveStates
EHaveStates States
 

Friends

class FEntity
 
class FVertexLink
 

Additional Inherited Members

- Static Protected Member Functions inherited from TSharedFromThis< FEntity >
static UE_FORCEINLINE_HINT TSharedRef< OtherType, Mode > SharedThis (OtherType *ThisPtr)
 
static UE_FORCEINLINE_HINT TSharedRef< OtherType const, Mode > SharedThis (const OtherType *ThisPtr)
 
- Static Protected Attributes inherited from UE::CADKernel::FEntity
static const TCHARTypesNames []
 

Constructor & Destructor Documentation

◆ FTopologicalVertex() [1/2]

UE::CADKernel::FTopologicalVertex::FTopologicalVertex ( const FVector InCoordinates)
inlineprotected

◆ FTopologicalVertex() [2/2]

UE::CADKernel::FTopologicalVertex::FTopologicalVertex ( )
protecteddefault

◆ ~FTopologicalVertex()

virtual UE::CADKernel::FTopologicalVertex::~FTopologicalVertex ( )
inlineoverridevirtual

Member Function Documentation

◆ AddConnectedEdge()

void UE::CADKernel::FTopologicalVertex::AddConnectedEdge ( FTopologicalEdge Edge)

◆ ConnectedEdgeCount()

const int32 UE::CADKernel::FTopologicalVertex::ConnectedEdgeCount ( )
inline

◆ DeleteIfIsolated()

void UE::CADKernel::FTopologicalVertex::DeleteIfIsolated ( )
inline

◆ Distance()

double UE::CADKernel::FTopologicalVertex::Distance ( const FTopologicalVertex OtherVertex) const
inline

◆ Empty()

virtual void UE::CADKernel::FTopologicalVertex::Empty ( )
inlineoverridevirtual

◆ GetBarycenter()

const FVector & UE::CADKernel::FTopologicalVertex::GetBarycenter ( ) const
inline
Returns
the 3d coordinate of the barycenter of the twin vertices

◆ GetConnectedEdges() [1/2]

void UE::CADKernel::FTopologicalVertex::GetConnectedEdges ( const FTopologicalVertex OtherVertex,
TArray< FTopologicalEdge * > &  Edges 
) const

◆ GetConnectedEdges() [2/2]

void UE::CADKernel::FTopologicalVertex::GetConnectedEdges ( TArray< FTopologicalEdge * > &  OutConnectedEdges) const
inline

◆ GetCoordinates()

const FVector & UE::CADKernel::FTopologicalVertex::GetCoordinates ( ) const
inline
Returns
the 3d coordinates of the vertex (prefere GetBarycenter())

◆ GetDirectConnectedEdges()

const TArray< FTopologicalEdge * > & UE::CADKernel::FTopologicalVertex::GetDirectConnectedEdges ( ) const
inline

Mandatory: to browse all the connected edges, you have to browse the connected edges of all the twin vertices for (TWeakPtr<FTopologicalVertex> TwinVertex : Vertex->GetTwinsEntities()) { for (TWeakPtr<FTopologicalEdge> ConnectedEdge : TwinVertex.Pin()->GetDirectConnectedEdges()) { ... } }

◆ GetEntityType()

virtual EEntity UE::CADKernel::FTopologicalVertex::GetEntityType ( ) const
inlineoverridevirtual

◆ GetFace()

const FTopologicalFace * UE::CADKernel::FTopologicalVertex::GetFace ( ) const

◆ GetMesh()

const FVertexMesh * UE::CADKernel::FTopologicalVertex::GetMesh ( ) const
inline

◆ GetOrCreateMesh()

FVertexMesh & UE::CADKernel::FTopologicalVertex::GetOrCreateMesh ( FModelMesh MeshModel)

◆ IsBorderVertex()

bool UE::CADKernel::FTopologicalVertex::IsBorderVertex ( ) const

◆ Link()

void UE::CADKernel::FTopologicalVertex::Link ( FTopologicalVertex InEntity)

◆ Make()

static TSharedRef< FTopologicalVertex > UE::CADKernel::FTopologicalVertex::Make ( const FVector InCoordinate)
inlinestatic

◆ RemoveConnectedEdge()

void UE::CADKernel::FTopologicalVertex::RemoveConnectedEdge ( FTopologicalEdge Edge)

◆ RemoveFromLink()

virtual void UE::CADKernel::FTopologicalVertex::RemoveFromLink ( )
inlineoverridevirtual

◆ Serialize()

virtual void UE::CADKernel::FTopologicalVertex::Serialize ( FCADKernelArchive Ar)
inlineoverridevirtual

Serialization of a FEntity. Each class derived from FEntity has to override this method (and call the direct base class override method first) E.g. class FEntityXXX : public FEntityXX { virtual void Serialize(FCADKernelArchive& Ar) override { FEntityXX::Serialize(Ar); ... } }

Reimplemented from UE::CADKernel::TLinkable< FTopologicalVertex, FVertexLink >.

◆ SetCoordinates()

void UE::CADKernel::FTopologicalVertex::SetCoordinates ( const FVector NewCoordinates)
inline

◆ SpawnIdent()

void UE::CADKernel::FTopologicalVertex::SpawnIdent ( FDatabase Database)
overridevirtual

Reimplemented from UE::CADKernel::FEntity.

◆ SquareDistance() [1/2]

double UE::CADKernel::FTopologicalVertex::SquareDistance ( const FTopologicalVertex OtherVertex) const
inline

◆ SquareDistance() [2/2]

double UE::CADKernel::FTopologicalVertex::SquareDistance ( const FVector Point) const
inline

◆ SquareDistanceBetweenBarycenters()

double UE::CADKernel::FTopologicalVertex::SquareDistanceBetweenBarycenters ( const FTopologicalVertex OtherVertex) const
inline

◆ UnlinkTo()

void UE::CADKernel::FTopologicalVertex::UnlinkTo ( FTopologicalVertex Entity)

Friends And Related Symbol Documentation

◆ FEntity

friend class FEntity
friend

◆ FVertexLink

friend class FVertexLink
friend

Member Data Documentation

◆ ConnectedEdges

TArray<FTopologicalEdge*> UE::CADKernel::FTopologicalVertex::ConnectedEdges
protected

◆ Coordinates

FVector UE::CADKernel::FTopologicalVertex::Coordinates
protected

◆ Mesh

TSharedPtr<FVertexMesh> UE::CADKernel::FTopologicalVertex::Mesh
protected

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