106 if (&OtherNode == EndNode)
181 return (
States & Side) == Side;
385 if (&
Segment->GetFirstNode() == Node)
389 if (&
Segment->GetSecondNode() == Node)
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define ensureCADKernel(InExpression)
Definition Types.h:115
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
constexpr uint32 HashCombine(uint32 A, uint32 C)
Definition TypeHash.h:36
void DisconnectSegment(FIsoSegment &Segment)
Definition IsoNode.h:124
TArray< FIsoSegment * > ConnectedSegments
Definition IsoNode.h:64
virtual const FVector & Get3DPoint(const FGrid &Grid) const =0
FIsoSegment * GetSegmentConnectedTo(const FIsoNode *Node) const
Definition IsoSegment.h:376
const TArray< FIsoSegment * > & GetConnectedSegments() const
Definition IsoNode.h:112
virtual const FVector2d & Get2DPoint(EGridSpace Space, const FGrid &Grid) const =0
void ConnectSegment(FIsoSegment &Segment)
Definition IsoNode.h:119
void SetLinkedToIso(EIsoLink Iso)
Definition IsoNode.h:186
Definition IsoSegment.h:52
FIsoNode * SecondNode
Definition IsoSegment.h:55
void SetHaveCycleOnRight()
Definition IsoSegment.h:174
bool HasTriangleOnRightAndLeft()
Definition IsoSegment.h:200
void SetAsDegenerated()
Definition IsoSegment.h:238
FIsoNode & GetSecondNode()
Definition IsoSegment.h:273
EIsoSegmentStates States
Definition IsoSegment.h:57
void SetHasTriangleOnLeft()
Definition IsoSegment.h:211
bool IsFirstNode(const FIsoNode *Node) const
Definition IsoSegment.h:253
bool ConnectToNode()
Definition IsoSegment.h:89
static bool IsItAlreadyDefined(const FIsoNode *StartNode, const FIsoNode *EndNode)
Definition IsoSegment.h:101
double Get2DLengthSquare(EGridSpace Space, const FGrid &Grid) const
Definition IsoSegment.h:332
const FIsoNode & GetOtherNode(const FIsoNode *Node) const
Definition IsoSegment.h:317
void ResetHasTriangle()
Definition IsoSegment.h:233
void SetSecondNode(FIsoNode &NewNode)
Definition IsoSegment.h:286
void SetFinalMarker()
Definition IsoSegment.h:149
const FIsoNode & GetSecondNode() const
Definition IsoSegment.h:268
void SetFirstNode(FIsoNode &NewNode)
Definition IsoSegment.h:278
void SwapOrientation()
Definition IsoSegment.h:307
bool HasCycleOnLeft()
Definition IsoSegment.h:159
FIsoNode & GetOtherNode(const FIsoNode *Node)
Definition IsoSegment.h:322
FIsoNode * FirstNode
Definition IsoSegment.h:54
bool HasTriangleOn(EIsoSegmentStates Side)
Definition IsoSegment.h:179
void SetHasTriangleOnRight()
Definition IsoSegment.h:216
bool IsAFinalSegment() const
Definition IsoSegment.h:154
void Init(FIsoNode &InFirstNode, FIsoNode &InSecondNode, const ESegmentType InType)
Definition IsoSegment.h:69
ESegmentType Type
Definition IsoSegment.h:56
void SetCandidate()
Definition IsoSegment.h:139
void Clean()
Definition IsoSegment.h:114
bool IsDegenerated() const
Definition IsoSegment.h:248
bool HasntTriangle()
Definition IsoSegment.h:194
bool HasCycleOnRight()
Definition IsoSegment.h:169
bool HasTriangleOnRight()
Definition IsoSegment.h:189
void SetSelected()
Definition IsoSegment.h:134
const FIsoNode & GetFirstNode() const
Definition IsoSegment.h:258
FIsoSegment()
Definition IsoSegment.h:61
bool IsDelete() const
Definition IsoSegment.h:129
void SetHasTriangleOn(EIsoSegmentStates Side)
Definition IsoSegment.h:206
bool IsACandidate() const
Definition IsoSegment.h:144
bool HasTriangleOnLeft()
Definition IsoSegment.h:184
void SetHasInnerTriangle(bool bOrientation)
Definition IsoSegment.h:221
void SetHaveCycleOnLeft()
Definition IsoSegment.h:164
void ReplaceNode(FIsoNode &OldNode, FIsoNode &NewNode)
Definition IsoSegment.h:294
double Get3DLengthSquare(const FGrid &Grid) const
Definition IsoSegment.h:339
const ESegmentType GetType() const
Definition IsoSegment.h:327
FIsoNode & GetFirstNode()
Definition IsoSegment.h:263
void ResetDegenerated()
Definition IsoSegment.h:243
Definition CADEntity.cpp:23
uint32 GetTypeHash(const FIsoNode &Node)
Definition IsoNode.h:436
EGridSpace
Definition MeshEnum.h:17
ESegmentType
Definition IsoSegment.h:12
@ IsoV
Definition GeoEnum.h:68
@ IsoU
Definition GeoEnum.h:67
EIsoSegmentStates
Definition IsoSegment.h:26
static UE_FORCEINLINE_HINT double DistSquared(const TVector2< double > &V1, const TVector2< double > &V2)
Definition Vector2D.h:935
static UE_FORCEINLINE_HINT double DistSquared(const TVector< double > &V1, const TVector< double > &V2)
Definition Vector.h:2478