UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ParameterToTransformAdapters.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"
9#include "ParameterToTransformAdapters.generated.h"
10
11
12//
13// Various 1D and 2D ParameterSource converters intended to be used to create 3D transformation gizmos.
14// Based on base classes in ParameterSourcesFloat.h and ParameterSourcesVec2.h
15//
16
17
18
26UCLASS(MinimalAPI)
28{
30public:
31
32
38 TUniqueFunction<bool(double AxisDelta, double& SnappedDelta)> AxisDeltaConstraintFunction = [](double, double&) { return false; };
39
46 TUniqueFunction<bool(const FVector& Input, FVector& PreProjectedOutput)> PositionConstraintFunction = [](const FVector&, FVector&) { return false; };
47
48 virtual float GetParameter() const override
49 {
50 return Parameter;
51 }
52
53 INTERACTIVETOOLSFRAMEWORK_API virtual void SetParameter(float NewValue) override;
54
55 INTERACTIVETOOLSFRAMEWORK_API virtual void BeginModify() override;
56 INTERACTIVETOOLSFRAMEWORK_API virtual void EndModify() override;
57
58
59public:
61 UPROPERTY()
63
65 UPROPERTY()
67
68
69public:
71 UPROPERTY()
72 float Parameter = 0.0f;
73
75 UPROPERTY()
77
79 UPROPERTY()
80 FVector CurTranslationAxis;
81
83 UPROPERTY()
84 FVector CurTranslationOrigin;
85
87 UPROPERTY()
88 FTransform InitialTransform;
89
90public:
91
105};
106
107
108
109
110
118UCLASS(MinimalAPI)
120{
122public:
123
130 TUniqueFunction<bool(double AxisDelta, double& SnappedDelta)> AxisXDeltaConstraintFunction = [](double, double&) { return false; };
131 TUniqueFunction<bool(double AxisDelta, double& SnappedDelta)> AxisYDeltaConstraintFunction = [](double, double&) { return false; };
132
138 TUniqueFunction<bool(const FVector& Input, FVector& PreProjectedOutput)> PositionConstraintFunction = [](const FVector&, FVector&) { return false; };
139 /*
140 * When true, the output of PositionConstraintFunction will be projected onto the current translation origin/axis.
141 */
142 bool bProjectConstrainedPosition = true;
143
144 virtual FVector2D GetParameter() const override
145 {
146 return Parameter;
147 }
148
149 INTERACTIVETOOLSFRAMEWORK_API virtual void SetParameter(const FVector2D& NewValue) override;
150
151 INTERACTIVETOOLSFRAMEWORK_API virtual void BeginModify() override;
152 INTERACTIVETOOLSFRAMEWORK_API virtual void EndModify() override;
153
154
155public:
157 UPROPERTY()
159
161 UPROPERTY()
163
164
165public:
167 UPROPERTY()
168 FVector2D Parameter = FVector2D::ZeroVector;
169
171 UPROPERTY()
173
175 UPROPERTY()
176 FVector CurTranslationOrigin;
177
179 UPROPERTY()
180 FVector CurTranslationNormal;
181
183 UPROPERTY()
184 FVector CurTranslationAxisX;
185
187 UPROPERTY()
188 FVector CurTranslationAxisY;
189
191 UPROPERTY()
192 FTransform InitialTransform;
193
194public:
195
209};
210
211
212
213
214
215
222UCLASS(MinimalAPI)
224{
226public:
227
233 TUniqueFunction<bool(double AngleDelta, double& SnappedAngleDelta)> AngleDeltaConstraintFunction = [](double, double&) { return false; };
234
240 TUniqueFunction<FQuat(const FQuat&)> RotationConstraintFunction = [](const FQuat& DeltaRotation) { return DeltaRotation; };
241
242 virtual float GetParameter() const override
243 {
244 return Angle;
245 }
246
247 INTERACTIVETOOLSFRAMEWORK_API virtual void SetParameter(float NewValue) override;
248
249 INTERACTIVETOOLSFRAMEWORK_API virtual void BeginModify() override;
250 INTERACTIVETOOLSFRAMEWORK_API virtual void EndModify() override;
251
252
253public:
255 UPROPERTY()
257
259 UPROPERTY()
261
262
263public:
265 UPROPERTY()
266 float Angle = 0.0f;
267
269 UPROPERTY()
271
273 UPROPERTY()
274 FVector CurRotationAxis;
275
277 UPROPERTY()
278 FVector CurRotationOrigin;
279
281 UPROPERTY()
282 FTransform InitialTransform;
283
284
285public:
286
300};
301
302
303
304
305
306
307
308
309
321UCLASS(MinimalAPI)
323{
325public:
326
332 TUniqueFunction<bool(double ScaleAxisDelta, double& SnappedScaleAxisDelta)> ScaleAxisDeltaConstraintFunction = [](double, double&) { return false; };
338 TUniqueFunction<double(const double&)> ScaleConstraintFunction = [](const double& DeltaScale) { return DeltaScale; };
339
340
341 virtual FVector2D GetParameter() const override
342 {
343 return Parameter;
344 }
345
346 INTERACTIVETOOLSFRAMEWORK_API virtual void SetParameter(const FVector2D& NewValue) override;
347
348 INTERACTIVETOOLSFRAMEWORK_API virtual void BeginModify() override;
349 INTERACTIVETOOLSFRAMEWORK_API virtual void EndModify() override;
350
351
352public:
354 UPROPERTY()
356
358 UPROPERTY()
360
362 UPROPERTY()
363 float ScaleMultiplier = 0.02f;
364
365public:
367 UPROPERTY()
368 FVector2D Parameter = FVector2D::ZeroVector;
369
371 UPROPERTY()
373
375 UPROPERTY()
376 FVector CurScaleOrigin;
377
379 UPROPERTY()
380 FVector CurScaleNormal;
381
383 UPROPERTY()
384 FVector CurScaleAxisX;
385
387 UPROPERTY()
388 FVector CurScaleAxisY;
389
391 UPROPERTY()
392 FTransform InitialTransform;
393
394public:
395
409};
410
411
412
413
414
422UCLASS(MinimalAPI)
424{
426public:
427
433 TUniqueFunction<bool(const double& ScaleAxisDelta, double& SnappedScaleAxisDelta)> ScaleAxisDeltaConstraintFunction = [](const double&, double&) { return false; };
439 TUniqueFunction<double(const double&)> ScaleConstraintFunction = [](const double& DeltaScale) { return DeltaScale; };
440
441 virtual float GetParameter() const override
442 {
443 return Parameter;
444 }
445
446 INTERACTIVETOOLSFRAMEWORK_API virtual void SetParameter(float NewValue) override;
447
448 INTERACTIVETOOLSFRAMEWORK_API virtual void BeginModify() override;
449 INTERACTIVETOOLSFRAMEWORK_API virtual void EndModify() override;
450
451public:
453 UPROPERTY()
455
457 UPROPERTY()
459
461 UPROPERTY()
462 float ScaleMultiplier = 0.02f;
463
465 UPROPERTY()
466 bool bClampToZero = false;
467
468public:
470 UPROPERTY()
471 float Parameter = 0.0f;
472
474 UPROPERTY()
476
478 UPROPERTY()
479 FVector CurScaleAxis;
480
482 UPROPERTY()
483 FVector CurScaleOrigin;
484
486 UPROPERTY()
487 FTransform InitialTransform;
488
489public:
490
504};
505
506
507
508
509
510
511
512
520UCLASS(MinimalAPI)
522{
524public:
525
532 TUniqueFunction<bool(const FVector&, FVector&)> PositionConstraintFunction = [](const FVector&, FVector&) { return false; };
533
540 TUniqueFunction<bool(double ScaleAxisDelta, double& SnappedScaleAxisDelta)> ScaleAxisXDeltaConstraintFunction = [](double, double&) { return false; };
541 TUniqueFunction<bool(double ScaleAxisDelta, double& SnappedScaleAxisDelta)> ScaleAxisYDeltaConstraintFunction = [](double, double&) { return false; };
547 TUniqueFunction<FVector2D(const FVector2D&)> ScaleConstraintFunction = [](const FVector2D& DeltaScale) { return DeltaScale; };
548
549
550 virtual FVector2D GetParameter() const override
551 {
552 return Parameter;
553 }
554
555 INTERACTIVETOOLSFRAMEWORK_API virtual void SetParameter(const FVector2D& NewValue) override;
556
557 INTERACTIVETOOLSFRAMEWORK_API virtual void BeginModify() override;
558 INTERACTIVETOOLSFRAMEWORK_API virtual void EndModify() override;
559
560
561public:
563 UPROPERTY()
565
567 UPROPERTY()
569
571 UPROPERTY()
572 float ScaleMultiplier = 0.02f;
573
575 UPROPERTY()
576 bool bUseEqualScaling = false;
577
579 UPROPERTY()
580 bool bClampToZero = false;
581public:
583 UPROPERTY()
584 FVector2D Parameter = FVector2D::ZeroVector;
585
587 UPROPERTY()
589
591 UPROPERTY()
592 FVector CurScaleOrigin;
593
595 UPROPERTY()
596 FVector CurScaleNormal;
597
599 UPROPERTY()
600 FVector CurScaleAxisX;
601
603 UPROPERTY()
604 FVector CurScaleAxisY;
605
607 UPROPERTY()
608 FTransform InitialTransform;
609
610public:
611
625};
626
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::Math::TQuat< double > FQuat
Definition MathFwd.h:50
UE::Math::TVector2< double > FVector2D
Definition MathFwd.h:48
const bool
Definition NetworkReplayStreaming.h:178
UPackage * GetTransientPackage()
Definition Obj.cpp:5819
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
void Construct(const FArguments &InArgs)
Definition GizmoInterfaces.h:64
Definition GizmoInterfaces.h:37
Definition ScriptInterface.h:139
Definition FunctionFwd.h:19
Definition ParameterToTransformAdapters.h:224
virtual float GetParameter() const override
Definition ParameterToTransformAdapters.h:242
Definition ParameterToTransformAdapters.h:424
virtual float GetParameter() const override
Definition ParameterToTransformAdapters.h:441
Definition ParameterToTransformAdapters.h:28
virtual float GetParameter() const override
Definition ParameterToTransformAdapters.h:48
Definition ParameterSourcesFloat.h:49
Definition ParameterSourcesVec2.h:49
Definition ParameterToTransformAdapters.h:522
virtual FVector2D GetParameter() const override
Definition ParameterToTransformAdapters.h:550
Definition ParameterToTransformAdapters.h:120
virtual FVector2D GetParameter() const override
Definition ParameterToTransformAdapters.h:144
Definition ParameterToTransformAdapters.h:323
virtual FVector2D GetParameter() const override
Definition ParameterToTransformAdapters.h:341
Definition Object.h:95
@ false
Definition radaudio_common.h:23
Definition ParameterSourcesFloat.h:21
Definition ParameterSourcesVec2.h:20