UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
DistSegment3Triangle3.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3// Port of geometry3Sharp DistSegment3Triangle3
4// which was ported from WildMagic 5
5
6#pragma once
7
8#include "VectorTypes.h"
9#include "TriangleTypes.h"
10#include "SegmentTypes.h"
11#include "DistLine3Triangle3.h"
12#include "DistPoint3Triangle3.h"
13
14namespace UE
15{
16namespace Geometry
17{
18
19using namespace UE::Math;
20
24template <typename Real>
26{
27public:
28 // Input
31
32 // Output
33 Real DistanceSquared = -1.0;
36
40
41 Real Get()
42 {
44 }
46 {
47 return ComputeResult();
48 }
49
51 {
52 if (DistanceSquared >= 0)
53 {
54 return DistanceSquared;
55 }
56
59 double sqrDist = queryLT.GetSquared();
60 SegmentParameter = queryLT.LineParam;
61
64 SegmentClosest = queryLT.LineClosest;
65 TriangleClosest = queryLT.TriangleClosest;
66 TriangleBaryCoords = queryLT.TriangleBaryCoords;
67 }
68 else {
71 sqrDist = queryPT.GetSquared();
72 TriangleClosest = queryPT.ClosestTrianglePoint;
74 TriangleBaryCoords = queryPT.TriangleBaryCoords;
75 }
76 }
77 else {
80 sqrDist = queryPT.GetSquared();
81 TriangleClosest = queryPT.ClosestTrianglePoint;
83 TriangleBaryCoords = queryPT.TriangleBaryCoords;
84 }
85
87 return DistanceSquared;
88 }
89};
90
93
94} // end namespace UE::Geometry
95} // end namespace UE
OODEFFUNC typedef const char int line
Definition oodle2.h:678
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
static RealType Sqrt(const RealType Value)
Definition MathUtil.h:342
Definition DistLine3Triangle3.h:25
Definition DistPoint3Triangle3.h:23
Definition DistSegment3Triangle3.h:26
TSegment3< Real > Segment
Definition DistSegment3Triangle3.h:29
Real DistanceSquared
Definition DistSegment3Triangle3.h:33
TTriangle3< Real > Triangle
Definition DistSegment3Triangle3.h:30
TDistSegment3Triangle3(const TSegment3< Real > &SegmentIn, const TTriangle3< Real > &TriangleIn)
Definition DistSegment3Triangle3.h:37
Real Get()
Definition DistSegment3Triangle3.h:41
Real GetSquared()
Definition DistSegment3Triangle3.h:45
TVector< Real > SegmentClosest
Definition DistSegment3Triangle3.h:35
Real SegmentParameter
Definition DistSegment3Triangle3.h:34
TVector< Real > TriangleBaryCoords
Definition DistSegment3Triangle3.h:35
TVector< Real > TriangleClosest
Definition DistSegment3Triangle3.h:35
Real ComputeResult()
Definition DistSegment3Triangle3.h:50
TDistSegment3Triangle3< float > FDistSegment3Triangle3f
Definition DistSegment3Triangle3.h:91
TDistSegment3Triangle3< double > FDistSegment3Triangle3d
Definition DistSegment3Triangle3.h:92
Definition Sphere.cpp:10
Definition AdvancedWidgetsModule.cpp:13
Definition LineTypes.h:148
Definition SegmentTypes.h:447
T Extent
Definition SegmentTypes.h:454
TVector< T > EndPoint() const
Definition SegmentTypes.h:509
TVector< T > StartPoint() const
Definition SegmentTypes.h:503
TVector< T > Center
Definition SegmentTypes.h:450
TVector< T > Direction
Definition SegmentTypes.h:452
Definition TriangleTypes.h:263
Definition Vector.h:51