40 Center = T(.5) * (Point0 + Point1);
213 return (Dist > Tolerance ? -1 : (Dist < -Tolerance ? 1 : 0));
230 return (
det > Tolerance ? +1 : (
det < -Tolerance ? -1 : 0));
246 bool bIsPoint =
Extent == 0;
320 if (
len2 < Tolerance)
388 return (
det > Tolerance ? +1 : (
det < -Tolerance ? -1 : 0));
464 Center = T(.5) * (Point0 + Point1);
631 for (
int32 j = 0; j < 3; ++j)
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition MathUtil.h:150
static RealType Clamp(const RealType Value, const RealType ClampMin, const RealType ClampMax)
Definition MathUtil.h:222
static RealType Max(const RealType A, const RealType B)
Definition MathUtil.h:246
static RealType Abs(const RealType Value)
Definition MathUtil.h:215
static RealType Min(const RealType A, const RealType B)
Definition MathUtil.h:271
TSegment2< float > FSegment2f
Definition SegmentTypes.h:432
TSegment3< float > FSegment3f
Definition SegmentTypes.h:662
constexpr T DotPerp(const UE::Math::TVector2< T > &V1, const UE::Math::TVector2< T > &V2)
Definition VectorTypes.h:19
T DistanceSquared(const UE::Math::TVector2< T > &V1, const UE::Math::TVector2< T > &V2)
Definition VectorTypes.h:82
T SquaredLength(const UE::Math::TVector< T > &V)
Definition VectorTypes.h:154
TSegment2< double > FSegment2d
Definition SegmentTypes.h:433
T Orient(const UE::Math::TVector2< T > &A, const UE::Math::TVector2< T > &B, const UE::Math::TVector2< T > &C)
Definition VectorTypes.h:33
TSegment3< double > FSegment3d
Definition SegmentTypes.h:663
T Normalize(UE::Math::TVector2< T > &Vector, const T Epsilon=0)
Definition VectorTypes.h:46
Definition AdvancedWidgetsModule.cpp:13
Definition BoxTypes.h:247
Definition SegmentTypes.h:23
TVector2< T > EndPoint() const
Definition SegmentTypes.h:85
T ConvertToUnitRange(T DistanceParameter) const
Definition SegmentTypes.h:124
TVector2< T > PointBetween(T UnitParameter) const
Definition SegmentTypes.h:115
T Project(const TVector2< T > &QueryPoint) const
Definition SegmentTypes.h:184
static bool IsOnSegment(const TVector2< T > &A, const TVector2< T > &B, const TVector2< T > &QueryPt, T Tolerance=(T) 0)
Definition SegmentTypes.h:394
T Extent
Definition SegmentTypes.h:30
TVector2< T > StartPoint() const
Definition SegmentTypes.h:79
bool Intersects(const TSegment2< T > &OtherSegment, T DotThresh=TMathUtil< T >::Epsilon, T IntervalThresh=0) const
Definition SegmentTypes.h:241
TVector2< T > Direction
Definition SegmentTypes.h:28
static T FastDistanceSquared(const TVector2< T > &StartPt, const TVector2< T > &EndPt, const TVector2< T > &QueryPt, T Tolerance=TMathUtil< T >::Epsilon)
Definition SegmentTypes.h:314
void Reverse()
Definition SegmentTypes.h:70
int GetSide(const TVector2< T > &QueryPoint, T Tolerance=0)
Definition SegmentTypes.h:206
void update_from_endpoints(const TVector2< T > &p0, const TVector2< T > &p1)
Definition SegmentTypes.h:424
static int GetSide(const TVector2< T > &StartPt, const TVector2< T > &EndPt, const TVector2< T > &QueryPt, T Tolerance=(T) 0)
Definition SegmentTypes.h:349
int WhichSide(const TVector2< T > &QueryPoint, T Tolerance=0)
Definition SegmentTypes.h:224
TVector2< T > NearestPoint(const TVector2< T > &QueryPoint) const
Definition SegmentTypes.h:166
T DistanceSquared(const TVector2< T > &Point, T &DistParameterOut) const
Definition SegmentTypes.h:145
TVector2< T > Center
Definition SegmentTypes.h:26
T DistanceSquared(const TVector2< T > &Point) const
Definition SegmentTypes.h:132
TVector2< T > PointAt(T DistanceParameter) const
Definition SegmentTypes.h:106
TSegment2(const TVector2< T > &CenterIn, const TVector2< T > &DirectionIn, T ExtentIn)
Definition SegmentTypes.h:48
void SetStartPoint(const TVector2< T > &Point)
Definition SegmentTypes.h:58
T ProjectUnitRange(const TVector2< T > &QueryPoint) const
Definition SegmentTypes.h:193
TVector2< T > GetPointFromIndex(int i) const
Definition SegmentTypes.h:98
TSegment2(const TVector2< T > &Point0, const TVector2< T > &Point1)
Definition SegmentTypes.h:37
void SetEndPoint(const TVector2< T > &Point)
Definition SegmentTypes.h:64
T Length() const
Definition SegmentTypes.h:92
Definition SegmentTypes.h:447
TVector< T > PointAt(T DistanceParameter) const
Definition SegmentTypes.h:530
void SetStartPoint(const TVector< T > &Point)
Definition SegmentTypes.h:482
TSegment3(const TVector< T > &CenterIn, const TVector< T > &DirectionIn, T ExtentIn)
Definition SegmentTypes.h:472
TSegment3(const TVector< T > &Point0, const TVector< T > &Point1)
Definition SegmentTypes.h:461
TAxisAlignedBox3< T > GetBounds(T SegmentRadius) const
Definition SegmentTypes.h:644
TVector< T > PointBetween(T UnitParameter) const
Definition SegmentTypes.h:539
T ProjectUnitRange(const TVector< T > &QueryPoint) const
Definition SegmentTypes.h:617
TVector< T > GetPointFromIndex(int i) const
Definition SegmentTypes.h:522
void Reverse()
Definition SegmentTypes.h:494
void SetEndPoint(const TVector< T > &Point)
Definition SegmentTypes.h:488
T Extent
Definition SegmentTypes.h:454
T ConvertToUnitRange(T DistanceParameter) const
Definition SegmentTypes.h:548
TVector< T > EndPoint() const
Definition SegmentTypes.h:509
void update_from_endpoints(const TVector< T > &p0, const TVector< T > &p1)
Definition SegmentTypes.h:654
T Length() const
Definition SegmentTypes.h:516
T Project(const TVector< T > &QueryPoint) const
Definition SegmentTypes.h:608
T DistanceSquared(const TVector< T > &Point) const
Definition SegmentTypes.h:556
TAxisAlignedBox3< T > GetBounds() const
Definition SegmentTypes.h:627
TVector< T > StartPoint() const
Definition SegmentTypes.h:503
TVector< T > NearestPoint(const TVector< T > &QueryPoint) const
Definition SegmentTypes.h:590
T DistanceSquared(const TVector< T > &Point, T &DistParameterOut) const
Definition SegmentTypes.h:569
TVector< T > Center
Definition SegmentTypes.h:450
TVector< T > Direction
Definition SegmentTypes.h:452
static TVector2< T > UnitX()
Definition Vector2D.h:81
UE_FORCEINLINE_HINT T SquaredLength() const
Definition Vector2D.h:516
static UE_FORCEINLINE_HINT T DistSquared(const TVector2< T > &V1, const TVector2< T > &V2)
Definition Vector2D.h:935
T Dot(const TVector2< T > &V2) const
Definition Vector2D.h:1123
static TVector2< T > Zero()
Definition Vector2D.h:79
T SizeSquared() const
Definition Vector2D.h:1117
static TVector< T > UnitX()
Definition Vector.h:118
static TVector< T > Zero()
Definition Vector.h:112