UDocumentation
UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
GizmoElementTriangleList.h
Go to the documentation of this file.
1
// Copyright Epic Games, Inc. All Rights Reserved.
2
3
#pragma once
4
5
#include "
CoreMinimal.h
"
6
#include "
BaseGizmos/GizmoElementBase.h
"
7
#include "
InputState.h
"
8
#include "
UObject/ObjectMacros.h
"
9
#include "GizmoElementTriangleList.generated.h"
10
16
UCLASS
(
Transient
, MinimalAPI)
17
class
UGizmoElementTriangleList
:
public
UGizmoElementBase
18
{
19
GENERATED_BODY
()
20
21
public
:
22
23
//~ Begin UGizmoElementBase Interface.
24
INTERACTIVETOOLSFRAMEWORK_API
virtual
void
Render
(
IToolsContextRenderAPI
*
RenderAPI
,
const
FRenderTraversalState
&
RenderState
)
override
;
25
INTERACTIVETOOLSFRAMEWORK_API
virtual
FInputRayHit
LineTrace(
const
UGizmoViewContext
*
ViewContext
,
const
FLineTraceTraversalState
&
LineTraceState
,
const
FVector
& RayOrigin,
const
FVector
& RayDirection,
FLineTraceOutput
&
OutLineTraceOutput
)
override
;
26
//~ End UGizmoElementBase Interface.
27
28
// The vertices of the triangle list, each tuple of 3 forming a triangle
29
INTERACTIVETOOLSFRAMEWORK_API
virtual
void
SetVertices(
const
TArrayView<const FVector>
&
InVertices
);
30
INTERACTIVETOOLSFRAMEWORK_API
virtual
const
TArray<FVector>
& GetVertices()
const
;
31
32
// Base location the triangles
33
INTERACTIVETOOLSFRAMEWORK_API
virtual
void
SetBase(
FVector
InBase
);
34
INTERACTIVETOOLSFRAMEWORK_API
virtual
FVector
GetBase()
const
;
35
36
// Up direction
37
INTERACTIVETOOLSFRAMEWORK_API
virtual
void
SetUpDirection(
const
FVector
&
InUpDirection
);
38
INTERACTIVETOOLSFRAMEWORK_API
virtual
FVector
GetUpDirection()
const
;
39
40
// Side direction
41
INTERACTIVETOOLSFRAMEWORK_API
virtual
void
SetSideDirection(
const
FVector
&
InSideDirection
);
42
INTERACTIVETOOLSFRAMEWORK_API
virtual
FVector
GetSideDirection()
const
;
43
44
protected
:
45
46
void
ComputeProjectedVertices(
const
FTransform
&
InLocalToWorldTransform
,
bool
bIncludeBase
);
47
48
static
bool
Intersect(
const
FRay
& Ray,
const
FVector
&
A
,
const
FVector
&
B
,
const
FVector
&
C
,
double
Tolerance,
double
&
Distance
);
49
50
// The vertices of the triangle list, each tuple of 3 forming a triangle
51
UPROPERTY
()
52
TArray
<
FVector
> Vertices;
53
54
// Base location the triangles
55
UPROPERTY
()
56
FVector
Base =
FVector
::ZeroVector;
57
58
// Up direction
59
UPROPERTY
()
60
FVector
UpDirection =
FVector
(0.0f, 0.0f, 1.0f);
61
62
// Side direction
63
UPROPERTY
()
64
FVector
SideDirection =
FVector
(0.0f, 1.0f, 0.0f);
65
66
TArray
<
FVector
> ProjectedVertices;
67
};
68
EScaleChainInitialLength::Distance
@ Distance
EMusicalNoteName::C
@ C
EMusicalNoteName::A
@ A
EMusicalNoteName::B
@ B
CoreMinimal.h
StaticCastSharedRef
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition
SharedPointer.h:127
EPackageAutoSaveType::Transient
@ Transient
GizmoElementBase.h
InputState.h
ObjectMacros.h
UPROPERTY
#define UPROPERTY(...)
UObject definition macros.
Definition
ObjectMacros.h:744
GENERATED_BODY
#define GENERATED_BODY(...)
Definition
ObjectMacros.h:765
UCLASS
#define UCLASS(...)
Definition
ObjectMacros.h:776
EOpenGLFormatCapabilities::Render
@ Render
EBulkReregister::RenderState
@ RenderState
IToolsContextRenderAPI
Definition
ToolContextInterfaces.h:427
TArrayView
Definition
ArrayView.h:139
TArray
Definition
Array.h:670
UGizmoElementBase
Definition
GizmoElementBase.h:26
UGizmoElementTriangleList
Definition
GizmoElementTriangleList.h:18
UGizmoViewContext
Definition
GizmoViewContext.h:20
FInputRayHit
Definition
InputState.h:52
UE::Math::TRay< double >
UE::Math::TTransform< double >
UE::Math::TVector< double >
UGizmoElementBase::FLineTraceOutput
Definition
GizmoElementBase.h:125
UGizmoElementBase::FLineTraceTraversalState
Definition
GizmoElementBase.h:96
UGizmoElementBase::FRenderTraversalState
Definition
GizmoElementBase.h:52
Engine
Source
Runtime
InteractiveToolsFramework
Public
BaseGizmos
GizmoElementTriangleList.h
Generated by
1.9.8