13template<
typename EntityType,
typename LinkType>
35 FTopologicalEntity::Serialize(Ar);
120 return GetTwinEntityCount() != 1;
133 ResetTopologicalLink();
144 Entity->ResetTopologicalLink();
183 if (
Link2->GetTwinEntityNum() >
Link1->GetTwinEntityNum())
189 for (EntityType*
Entity :
Link2->GetTwinEntities())
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define ensureCADKernel(InExpression)
Definition Types.h:115
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition CADKernelArchive.h:19
Definition TopologicalEntity.h:16
TSharedRef< EntityType > GetLinkActiveEntity()
Definition Linkable.h:51
bool IsActiveEntity() const
Definition Linkable.h:58
void ResetTopologicalLink()
Definition Linkable.h:88
void Finalize()
Definition Linkable.h:27
TSharedPtr< LinkType > TopologicalLink
Definition Linkable.h:17
virtual ~TLinkable() override
Definition Linkable.h:22
void Activate()
Definition Linkable.h:70
bool IsLinkedTo(const TSharedRef< EntityType > &Entity) const
Definition Linkable.h:94
virtual void Serialize(FCADKernelArchive &Ar) override
Definition Linkable.h:33
const TArray< EntityType * > & GetTwinEntities() const
Definition Linkable.h:123
bool IsLinkedTo(const EntityType &Entity) const
Definition Linkable.h:103
void MakeLink(EntityType &Twin)
Definition Linkable.h:171
virtual void ResetMarkersRecursively() const override
Definition Linkable.h:163
const bool IsThinZone() const
Definition Linkable.h:148
virtual TSharedPtr< LinkType > GetLink() const
Definition Linkable.h:76
virtual void Empty() override
Definition Linkable.h:39
virtual void ResetThinZone()
Definition Linkable.h:158
void SetTopologicalLink(TSharedPtr< LinkType > Link)
Definition Linkable.h:197
void UnlinkTwinEntities()
Definition Linkable.h:139
virtual TSharedPtr< LinkType > GetLink()
Definition Linkable.h:82
const TSharedRef< const EntityType > GetLinkActiveEntity() const
Definition Linkable.h:44
virtual void RemoveFromLink()
Definition Linkable.h:129
virtual void SetThinZoneMarker()
Definition Linkable.h:153
bool HasTwin() const
Definition Linkable.h:118
int32 GetTwinEntityCount() const
Definition Linkable.h:112
Definition CADEntity.cpp:23