21template <
typename Real>
79 GetMinEdge02(
a11,
b1, p);
87 p1[1] = (Real)1 - p1[0];
92 GetMinEdge02(
a11,
b1, p);
103 GetMinInterior(p0,
h0, p1,
h1, p);
108 else if (
f01 <= (Real)0)
121 p1[1] = (Real)1 - p1[0];
122 h0 = p1[1] * (
a01 * p0[0] +
b1);
129 h1 = p1[1] * (
a01 * p1[0] +
a11 * p1[1] +
b1);
136 GetMinInterior(p0,
h0, p1,
h1, p);
141 else if (
f10 <= (Real)0)
147 p1[1] = (Real)1 - p1[0];
152 GetMinEdge02(
a11,
b1, p);
163 GetMinInterior(p0,
h0, p1,
h1, p);
174 h0 = p1[1] * (
a01 * p0[0] +
b1);
181 h1 = p1[1] * (
a11 * p1[1] +
b1);
184 GetMinEdge02(
a11,
b1, p);
188 GetMinInterior(p0,
h0, p1,
h1, p);
206 else if (
a11 +
b1 <= (Real)0)
217 Real
const&
a01, Real
const&
a11, Real
const&
b1, Real
const&
f10,
237 p[0] = (Real)1 - p[1];
245 p = ((Real)1 - z) * p0 + z * p1;
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition DistPoint3Triangle3.h:23
TVector< Real > TriangleBaryCoords
Definition DistPoint3Triangle3.h:30
TDistPoint3Triangle3(const TVector< Real > &PointIn, const TTriangle3< Real > &TriangleIn)
Definition DistPoint3Triangle3.h:34
TVector< Real > Point
Definition DistPoint3Triangle3.h:26
TTriangle3< Real > Triangle
Definition DistPoint3Triangle3.h:27
Real Get()
Definition DistPoint3Triangle3.h:40
Real GetSquared()
Definition DistPoint3Triangle3.h:44
Real ComputeResult()
Definition DistPoint3Triangle3.h:49
TVector< Real > ClosestTrianglePoint
Definition DistPoint3Triangle3.h:31
T DistanceSquared(const UE::Math::TVector2< T > &V1, const UE::Math::TVector2< T > &V2)
Definition VectorTypes.h:82
TDistPoint3Triangle3< double > FDistPoint3Triangle3d
Definition DistPoint3Triangle3.h:251
TDistPoint3Triangle3< float > FDistPoint3Triangle3f
Definition DistPoint3Triangle3.h:250
Definition AdvancedWidgetsModule.cpp:13
Definition TriangleTypes.h:263
TVector< RealType > V[3]
Definition TriangleTypes.h:264
T SquaredLength() const
Definition Vector.h:1734