14class FTopologicalLoop;
15class FTopologicalEdge;
18class FThinZone2DFinder;
19class FTopologicalVertex;
25 double Coordinates[2];
36 double SquareDistanceToClosedSegment;
47 , NextSegment(nullptr)
48 , PreviousSegment(nullptr)
49 , ClosedSegment(nullptr)
74 NextSegment =
nullptr;
75 PreviousSegment =
nullptr;
76 ClosedSegment =
nullptr;
78 SquareDistanceToClosedSegment =
HUGE_VAL;
82 ChainIndex = Ident::Undefined;
174 return USSPoints[Limit];
179 return Coordinates[Limit];
230 return PreviousSegment;
235 return ClosedSegment;
240 if (ClosedSegment->ClosedSegment ==
this)
242 ClosedSegment->ClosedSegment =
nullptr;
244 ClosedSegment =
nullptr;
245 SquareDistanceToClosedSegment =
HUGE_VAL;
262 return SquareDistanceToClosedSegment;
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
uint32 FIdent
Definition Types.h:27
#define HUGE_VALUE
Definition Types.h:16
AUTORTFM_INFER constexpr auto Projection(Invocable0Type &&Invocable0, InvocableTypes &&... Invocables)
Definition Projection.h:108
Definition AndroidPlatformMisc.h:14
Definition UnrealString.h.inl:34
Definition EdgeSegment.h:22
void SetChainIndex(FIdent index)
Definition EdgeSegment.h:122
FTopologicalEdge * GetEdge() const
Definition EdgeSegment.h:142
FVector2d GetCenter() const
Definition EdgeSegment.h:155
FVector2d ProjectPoint(const FVector2d &PointToProject, double &SegmentU) const
Definition EdgeSegment.h:282
FIdent GetChainIndex() const
Definition EdgeSegment.h:117
double ComputeUnorientedSlopeOf(const FVector2d &Middle, const FVector2d &Projection) const
Definition EdgeSegment.h:208
double ComputeUnorientedSlopeOf(const FEdgeSegment *Segment) const
Definition EdgeSegment.h:190
bool IsForward() const
Definition EdgeSegment.h:182
void SetInner()
Definition EdgeSegment.h:132
void SetNext(FEdgeSegment *Segment)
Definition EdgeSegment.h:265
const FVector2d & GetExtemity(const ELimit Limit) const
Definition EdgeSegment.h:172
double ComputeDeltaU(const double DeltaLength) const
Definition EdgeSegment.h:277
double GetCoordinate(const ELimit Limit) const
Definition EdgeSegment.h:177
FEdgeSegment * GetNext() const
Definition EdgeSegment.h:223
FEdgeSegment * GetPrevious() const
Definition EdgeSegment.h:228
double ComputeEdgeCoordinate(const double SegmentU) const
Definition EdgeSegment.h:271
void ResetCloseData()
Definition EdgeSegment.h:238
double ComputeOrientedSlopeOf(const FVector2d &Middle, const FVector2d &Projection) const
Definition EdgeSegment.h:217
FIdent GetId() const
Definition EdgeSegment.h:137
virtual ~FEdgeSegment()=default
double GetLength() const
Definition EdgeSegment.h:147
double GetCloseSquareDistance() const
Definition EdgeSegment.h:260
double GetAxeMin() const
Definition EdgeSegment.h:112
bool IsInner() const
Definition EdgeSegment.h:127
void SetBoundarySegment(bool bInIsInnerLoop, FTopologicalEdge *InEdge, double InStartU, double InEndU, const FVector2d &InStartPoint, const FVector2d &InEndPoint)
Definition EdgeSegment.h:62
void SetCloseSegment(FEdgeSegment *InSegmentA, double InDistance)
Definition EdgeSegment.h:248
void UpdateReferences(TMap< int32, FEdgeSegment * > &Map)
Definition EdgeSegment.h:89
FVector2d ComputeEdgePoint(double EdgeParamU) const
Definition EdgeSegment.h:163
FEdgeSegment * GetCloseSegment() const
Definition EdgeSegment.h:233
double ComputeOrientedSlopeOf(const FEdgeSegment *Segment) const
Definition EdgeSegment.h:199
FEdgeSegment(const FEdgeSegment &Segment)=default
FEdgeSegment()
Definition EdgeSegment.h:45
Definition HaveStates.h:48
EHaveStates States
Definition HaveStates.h:50
Definition Boundary.h:248
void Set(const FVector2d &Point1, const FVector2d &Point2)
Definition Boundary.h:282
Definition TopologicalEdge.h:63
Definition CADEntity.cpp:23
double ComputeOrientedSlope(const FVector2d &StartPoint, const FVector2d &EndPoint, double ReferenceSlope)
Definition SlopeUtils.h:320
double ComputeSlope(const FVector2d &StartPoint, const FVector2d &EndPoint)
Definition SlopeUtils.h:180
double ComputeUnorientedSlope(const FVector2d &StartPoint, const FVector2d &EndPoint, double ReferenceSlope)
Definition SlopeUtils.h:337
@ Undefined
Definition GeoEnum.h:89
ELimit
Definition GeoEnum.h:99
@ End
Definition GeoEnum.h:101
@ Start
Definition GeoEnum.h:100
@ IsoV
Definition GeoEnum.h:68
@ IsoU
Definition GeoEnum.h:67
static UE_FORCEINLINE_HINT double Distance(const TVector2< double > &V1, const TVector2< double > &V2)
Definition Vector2D.h:941