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

#include <CADEntity.h>

+ Inheritance diagram for UE::CADKernel::FEntity:

Public Member Functions

virtual ~FEntity ()
 
virtual void Delete ()
 
virtual void Empty ()
 
virtual void Serialize (FCADKernelArchive &Ar)
 
virtual EEntity GetEntityType () const =0
 
bool IsTopologicalEntity () const
 
bool IsTopologicalShapeEntity () const
 
bool IsGeometricalEntity ()
 
const TCHARGetTypeName () const
 
const FIdentGetId () const
 
virtual void SpawnIdent (FDatabase &Database)
 
virtual void ResetMarkersRecursively () 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

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

bool SetId (FDatabase &Database)
 
- Protected Member Functions inherited from TSharedFromThis< FEntity >
 TSharedFromThis ()
 
 TSharedFromThis (TSharedFromThis const &)
 
UE_FORCEINLINE_HINT TSharedFromThisoperator= (TSharedFromThis const &)
 
 ~TSharedFromThis ()
 

Protected Attributes

FIdent Id = 0
 
- Protected Attributes inherited from UE::CADKernel::FHaveStates
EHaveStates States
 

Static Protected Attributes

static const TCHARTypesNames []
 

Friends

class FDatabase
 

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)
 

Constructor & Destructor Documentation

◆ ~FEntity()

UE::CADKernel::FEntity::~FEntity ( )
virtual

Member Function Documentation

◆ Delete()

virtual void UE::CADKernel::FEntity::Delete ( )
inlinevirtual

◆ Deserialize()

TSharedPtr< FEntity > UE::CADKernel::FEntity::Deserialize ( FCADKernelArchive Ar)
static

Deserialize the next entity in the archive.

◆ Empty()

◆ GetEntityType()

◆ GetId()

const FIdent & UE::CADKernel::FEntity::GetId ( ) const
inline

◆ GetTypeName() [1/2]

const TCHAR * UE::CADKernel::FEntity::GetTypeName ( ) const
inline

◆ GetTypeName() [2/2]

const TCHAR * UE::CADKernel::FEntity::GetTypeName ( EEntity  Type)
static

◆ IsGeometricalEntity()

bool UE::CADKernel::FEntity::IsGeometricalEntity ( )
inline

◆ IsTopologicalEntity()

bool UE::CADKernel::FEntity::IsTopologicalEntity ( ) const
inline

◆ IsTopologicalShapeEntity()

bool UE::CADKernel::FEntity::IsTopologicalShapeEntity ( ) const
inline

◆ MakeShared() [1/2]

template<typename OtherEntity >
static TSharedRef< OtherEntity > UE::CADKernel::FEntity::MakeShared ( FCADKernelArchive Archive)
inlinestatic

◆ MakeShared() [2/2]

template<typename OtherEntity , typename... InArgTypes>
static TSharedRef< OtherEntity > UE::CADKernel::FEntity::MakeShared ( InArgTypes &&...  Args)
inlinestatic

◆ ResetMarkersRecursively()

◆ ResetMarkersRecursivelyOnEntities() [1/5]

static void UE::CADKernel::FEntity::ResetMarkersRecursivelyOnEntities ( const TArray< FEntity * > &  Array)
inlinestatic

Reset Processed flags Recursively on each TSharedPtr<FEntity> of the array

◆ ResetMarkersRecursivelyOnEntities() [2/5]

static void UE::CADKernel::FEntity::ResetMarkersRecursivelyOnEntities ( const TArray< TOrientedEntity< FEntity > > &  Array)
inlinestatic

◆ ResetMarkersRecursivelyOnEntities() [3/5]

template<typename EntityType >
static void UE::CADKernel::FEntity::ResetMarkersRecursivelyOnEntities ( const TArray< TSharedPtr< EntityType > > &  Array)
inlinestatic

◆ ResetMarkersRecursivelyOnEntities() [4/5]

static void UE::CADKernel::FEntity::ResetMarkersRecursivelyOnEntities ( const TArray< TSharedPtr< FEntity > > &  Array)
inlinestatic

◆ ResetMarkersRecursivelyOnEntities() [5/5]

static void UE::CADKernel::FEntity::ResetMarkersRecursivelyOnEntities ( const TArray< TWeakPtr< FEntity > > &  Array)
inlinestatic

◆ Serialize()

virtual void UE::CADKernel::FEntity::Serialize ( FCADKernelArchive Ar)
inlinevirtual

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 in UE::CADKernel::FCurvatureCriterion, UE::CADKernel::FSagCriterion, UE::CADKernel::FSizeCriterion, UE::CADKernel::FGroup, UE::CADKernel::FBezierCurve, UE::CADKernel::FBoundedCurve, UE::CADKernel::FCompositeCurve, UE::CADKernel::FEllipseCurve, UE::CADKernel::FHyperbolaCurve, UE::CADKernel::FNURBSCurve, UE::CADKernel::FParabolaCurve, UE::CADKernel::TPolylineCurve< PointType, PointCurveType >, UE::CADKernel::TPolylineCurve< FVector, FCurvePoint >, UE::CADKernel::TPolylineCurve< FVector2d, FCurvePoint2D >, UE::CADKernel::FSegmentCurve, UE::CADKernel::FSplineCurve, UE::CADKernel::FBezierSurface, UE::CADKernel::FCompositeSurface, UE::CADKernel::FConeSurface, UE::CADKernel::FCoonsSurface, UE::CADKernel::FCylinderSurface, UE::CADKernel::FNURBSSurface, UE::CADKernel::FOffsetSurface, UE::CADKernel::FPlaneSurface, UE::CADKernel::FRevolutionSurface, UE::CADKernel::FRuledSurface, UE::CADKernel::FSphericalSurface, UE::CADKernel::FTabulatedCylinderSurface, UE::CADKernel::FTorusSurface, UE::CADKernel::FAngleCriterion, UE::CADKernel::FEntityGeom, UE::CADKernel::FCurve, UE::CADKernel::FRestrictionCurve, UE::CADKernel::FSurfacicCurve, UE::CADKernel::FSurface, UE::CADKernel::FCriterion, UE::CADKernel::FBody, UE::CADKernel::TLinkable< EntityType, LinkType >, UE::CADKernel::TLinkable< FTopologicalEdge, FEdgeLink >, UE::CADKernel::TLinkable< FTopologicalVertex, FVertexLink >, UE::CADKernel::FModel, UE::CADKernel::FShell, UE::CADKernel::FTopologicalEdge, UE::CADKernel::FTopologicalEntity, UE::CADKernel::FTopologicalFace, UE::CADKernel::TTopologicalLink< EntityType >, UE::CADKernel::TTopologicalLink< FTopologicalVertex >, UE::CADKernel::FTopologicalLoop, UE::CADKernel::FTopologicalShapeEntity, UE::CADKernel::FVertexLink, and UE::CADKernel::FTopologicalVertex.

◆ SerializeIdent() [1/6]

template<typename EntityType >
static void UE::CADKernel::FEntity::SerializeIdent ( FCADKernelArchive Ar,
EntityType **  Entity,
bool  bSaveSelection = true 
)
inlinestatic

◆ SerializeIdent() [2/6]

void UE::CADKernel::FEntity::SerializeIdent ( FCADKernelArchive Ar,
FEntity **  Entity,
bool  bSaveSelection = true 
)
static

◆ SerializeIdent() [3/6]

template<typename EntityType >
static void UE::CADKernel::FEntity::SerializeIdent ( FCADKernelArchive Ar,
TSharedPtr< EntityType > &  Entity,
bool  bSaveSelection = true 
)
inlinestatic

◆ SerializeIdent() [4/6]

void UE::CADKernel::FEntity::SerializeIdent ( FCADKernelArchive Ar,
TSharedPtr< FEntity > &  Entity,
bool  bSaveSelection = true 
)
static

To Serialize a TSharedPtr<FEntity>, the Id of the FEntity is saved in the archive (ArchiveId). At the deserialization of the archive, a map is build linking ArchiveId to the TSharedPtr of the deserialized entities. At the deserialization of a TSharedPtr<FEntity>, the ArchiveId of the TSharedPtr<FEntity> is get. The map return the associated TSharedPtr. If the Entity is not yet deserialized, the TSharedPtr is add to a waiting list to be set as soon as the associated Entity is deserialized See FDatabase for more details

◆ SerializeIdent() [5/6]

template<typename EntityType >
static void UE::CADKernel::FEntity::SerializeIdent ( FCADKernelArchive Ar,
TWeakPtr< EntityType > &  Entity,
bool  bSaveSelection = true 
)
inlinestatic

◆ SerializeIdent() [6/6]

void UE::CADKernel::FEntity::SerializeIdent ( FCADKernelArchive Ar,
TWeakPtr< FEntity > &  Entity,
bool  bSaveSelection = true 
)
static

◆ SerializeIdents() [1/7]

template<typename EntityType >
static void UE::CADKernel::FEntity::SerializeIdents ( FCADKernelArchive Ar,
TArray< EntityType * > &  Array,
bool  bSaveSelection = true 
)
inlinestatic

◆ SerializeIdents() [2/7]

void UE::CADKernel::FEntity::SerializeIdents ( FCADKernelArchive Ar,
TArray< FEntity * > &  Array,
bool  bSaveSelection = true 
)
static

SerializeIdent of each TSharedPtr<FEntity> of the array

◆ SerializeIdents() [3/7]

void UE::CADKernel::FEntity::SerializeIdents ( FCADKernelArchive Ar,
TArray< TOrientedEntity< FEntity > > &  Array 
)
static

◆ SerializeIdents() [4/7]

template<typename EntityType >
static void UE::CADKernel::FEntity::SerializeIdents ( FCADKernelArchive Ar,
TArray< TSharedPtr< EntityType > > &  Array,
bool  bSaveSelection = true 
)
inlinestatic

◆ SerializeIdents() [5/7]

void UE::CADKernel::FEntity::SerializeIdents ( FCADKernelArchive Ar,
TArray< TSharedPtr< FEntity > > &  Array,
bool  bSaveSelection = true 
)
static

◆ SerializeIdents() [6/7]

template<typename EntityType >
static void UE::CADKernel::FEntity::SerializeIdents ( FCADKernelArchive Ar,
TArray< TWeakPtr< EntityType > > &  Array,
bool  bSaveSelection = true 
)
inlinestatic

◆ SerializeIdents() [7/7]

void UE::CADKernel::FEntity::SerializeIdents ( FCADKernelArchive Ar,
TArray< TWeakPtr< FEntity > > &  Array,
bool  bSaveSelection = true 
)
static

◆ SetId()

bool UE::CADKernel::FEntity::SetId ( FDatabase Database)
protected

◆ SpawnIdent()

◆ SpawnIdentOnEntities() [1/4]

static void UE::CADKernel::FEntity::SpawnIdentOnEntities ( TArray< FEntity * > &  Array,
FDatabase Database 
)
inlinestatic

Spawn Ident on each FEntity* of the array

◆ SpawnIdentOnEntities() [2/4]

static void UE::CADKernel::FEntity::SpawnIdentOnEntities ( TArray< TOrientedEntity< FEntity > > &  Array,
FDatabase Database 
)
inlinestatic

◆ SpawnIdentOnEntities() [3/4]

template<typename EntityType >
static void UE::CADKernel::FEntity::SpawnIdentOnEntities ( TArray< TSharedPtr< EntityType > > &  Array,
FDatabase Database 
)
inlinestatic

◆ SpawnIdentOnEntities() [4/4]

static void UE::CADKernel::FEntity::SpawnIdentOnEntities ( TArray< TSharedPtr< FEntity > > &  Array,
FDatabase Database 
)
inlinestatic

Spawn Ident on each TSharedPtr<FEntity> of the array

Friends And Related Symbol Documentation

◆ FDatabase

friend class FDatabase
friend

Member Data Documentation

◆ Id

FIdent UE::CADKernel::FEntity::Id = 0
protected

◆ TypesNames

const TCHAR * UE::CADKernel::FEntity::TypesNames
staticprotected
Initial value:
=
{
TEXT("UndefinedEntity"),
TEXT("Curve"),
TEXT("Surface"),
TEXT("Edge Link"),
TEXT("Vertex Link"),
TEXT("Edge"),
TEXT("Face"),
TEXT("Link"),
TEXT("Loop"),
TEXT("Vertex"),
TEXT("Shell"),
TEXT("Body"),
TEXT("Model"),
TEXT("Mesh Model"),
TEXT("Mesh"),
TEXT("Group"),
TEXT("Criterion"),
TEXT("Property"),
nullptr
}
#define TEXT(x)
Definition Platform.h:1272

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