UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
constexpr uint32 HashCombine(uint32 A, uint32 C)
Definition TypeHash.h:36
virtual const FVector & Get3DPoint(const FGrid &Grid) const override
Definition IsoNode.h:515
bool IsLinkedToNextV() const
Definition IsoNode.h:489
bool IsLinkedToNextU() const
Definition IsoNode.h:479
const bool IsIsolated() const
Definition IsoNode.h:464
virtual const FVector3f & GetNormal(const FGrid &Grid) const override
Definition IsoNode.h:520
virtual bool IsEqualTo(const FIsoInnerNode &OtherNode) const
Definition IsoNode.h:454
virtual uint32 GetTypeHash() const override
Definition IsoNode.h:545
bool IsLinkedToPreviousV() const
Definition IsoNode.h:484
virtual void Set2DPoint(EGridSpace Space, FGrid &Grid, const FVector2d &NewCoordinate) override
Definition IsoNode.h:510
bool operator==(const FIsoNode &OtherNode) const
Definition IsoNode.h:459
virtual bool IsEqualTo(const FLoopNode &OtherNode) const
Definition IsoNode.h:449
virtual const FVector2d & Get2DPoint(EGridSpace Space, const FGrid &Grid) const override
Definition IsoNode.h:505
FIsoInnerNode(int32 NodeIndex, int32 FaceIndex, int32 NodeId)
Definition IsoNode.h:444
bool IsLinkedToBoundary() const
Definition IsoNode.h:500
void OffsetId(int32 StartId)
Definition IsoNode.h:540
virtual const bool IsALoopNode() const override
Definition IsoNode.h:469
bool IsComplete() const
Definition IsoNode.h:495
bool IsLinkedToPreviousU() const
Definition IsoNode.h:474
virtual void Set2DPoint(EGridSpace Space, FGrid &Grid, const FVector2d &NewCoordinate)=0
bool HasMarker1NotMarker2() const
Definition IsoNode.h:242
bool IsDeleteOrHasMarker2() const
Definition IsoNode.h:236
virtual ~FIsoNode()=default
void DisconnectSegment(FIsoSegment &Segment)
Definition IsoNode.h:124
const int32 GetIndex() const
Definition IsoNode.h:97
bool IsDelete() const
Definition IsoNode.h:92
int32 LocalIndex
Definition IsoNode.h:67
bool HasMarker2() const
Definition IsoNode.h:231
TArray< FIsoSegment * > ConnectedSegments
Definition IsoNode.h:64
virtual bool operator==(const FIsoNode &OtherNode) const =0
EIsoNodeStates States
Definition IsoNode.h:65
void SetThinZoneNodeMarker()
Definition IsoNode.h:131
virtual const FVector3f & GetNormal(const FGrid &Grid) const =0
int32 GlobalIndex
Definition IsoNode.h:68
int32 NodeId
Definition IsoNode.h:69
bool HasMarker1() const
Definition IsoNode.h:226
bool IsDeleteOrThinNode() const
Definition IsoNode.h:141
void SetMarker1()
Definition IsoNode.h:248
const int32 GetNodeId() const
Definition IsoNode.h:107
virtual uint32 GetTypeHash() const =0
void ResetMarkers()
Definition IsoNode.h:258
virtual bool IsEqualTo(const FIsoInnerNode &OtherNode) const =0
virtual bool IsEqualTo(const FLoopNode &OtherNode) const =0
virtual const FVector & Get3DPoint(const FGrid &Grid) const =0
FIsoSegment * GetSegmentConnectedTo(const FIsoNode *Node) const
Definition IsoSegment.h:376
void SetLinkedToLoopMarker()
Definition IsoNode.h:147
bool IsThinZoneNode() const
Definition IsoNode.h:136
const int32 GetGlobalIndex() const
Definition IsoNode.h:102
void SetLinkedToIso(int32 Iso)
Definition IsoNode.h:204
virtual void Delete()
Definition IsoNode.h:84
const TArray< FIsoSegment * > & GetConnectedSegments() const
Definition IsoNode.h:112
FIsoNode(int32 InNodeIndex, int32 InFaceIndex, int32 InNodeId)
Definition IsoNode.h:72
virtual const FVector2d & Get2DPoint(EGridSpace Space, const FGrid &Grid) const =0
bool IsLinkedToLoopInNearlyIso(int32 Iso) const
Definition IsoNode.h:167
virtual const bool IsALoopNode() const =0
void ConnectSegment(FIsoSegment &Segment)
Definition IsoNode.h:119
void SetLinkedToIso(EIsoLink Iso)
Definition IsoNode.h:186
void SetMarker2()
Definition IsoNode.h:253
void SetLinkedToLoopInQuarter(int32 Quarter)
Definition IsoNode.h:152
Definition IsoSegment.h:52
FIsoSegment & GetNextSegment() const
Definition IsoNode.h:356
void SetPreviousConnectedNode(FLoopNode *PreviousNode)
Definition IsoNode.h:336
int32 LoopIndex
Definition IsoNode.h:287
virtual const FVector3f & GetNormal(const FGrid &Grid) const override
Definition IsoNode.h:379
FLoopNode * ConnectedLoopNodes[2]
Definition IsoNode.h:288
virtual bool IsEqualTo(const FLoopNode &OtherNode) const
Definition IsoNode.h:307
FLoopNode & GetPreviousNode() const
Definition IsoNode.h:341
void SetNextConnectedNode(FLoopNode *NextNode)
Definition IsoNode.h:332
virtual const FVector2d & Get2DPoint(EGridSpace Space, const FGrid &Grid) const override
Definition IsoNode.h:364
bool IsSegmentBeInsideFace(const FVector2d &EndSegmentCoordinate, const FGrid &Grid, const double FlatAngle) const
Definition IsoNode.h:425
virtual void Delete() override
Definition IsoNode.h:298
FLoopNode(int32 InLoopIndex, int32 InNodeLoopIndex, int32 InNodeFaceIndex, int32 NodeId)
Definition IsoNode.h:291
virtual uint32 GetTypeHash() const override
Definition IsoNode.h:430
virtual bool IsEqualTo(const FIsoInnerNode &OtherNode) const
Definition IsoNode.h:312
FIsoSegment & GetPreviousSegment() const
Definition IsoNode.h:351
virtual const FVector & Get3DPoint(const FGrid &Grid) const override
Definition IsoNode.h:374
virtual const bool IsALoopNode() const override
Definition IsoNode.h:322
bool operator==(const FIsoNode &OtherNode) const
Definition IsoNode.h:317
const int32 GetLoopIndex() const
Definition IsoNode.h:327
virtual void Set2DPoint(EGridSpace Space, FGrid &Grid, const FVector2d &NewCoordinate) override
Definition IsoNode.h:369
FLoopNode & GetNextNode() const
Definition IsoNode.h:346
Definition CADEntity.cpp:23
bool IsPointPInsideSectorABC(const FVector2d &PointA, const FVector2d &PointB, const FVector2d &PointC, const FVector2d &PointP, const double FlatAngle)
Definition SlopeUtils.h:401
uint32 GetTypeHash(const FIsoNode &Node)
Definition IsoNode.h:436
EIsoLink
Definition IsoNode.h:15
EGridSpace
Definition MeshEnum.h:17
@ UniformScaled
Definition MeshEnum.h:20
EIsoNodeStates
Definition IsoNode.h:23
@ Iso
Definition Visu.h:20