/Engine/Plugins/Runtime/MeshModelingToolset/Source/ModelingComponents/Public/Transforms/TransformGizmoDataBinder.h
To use, just call InitializeBoundVectors with 3 vectors (it can be fewer, but the binder currently does the same amount of work regardless of whether 3 or fewer are bound), and then either call BindToGizmoContextObject with the context object that will be used to create the gizmos (in which case the vectors will bind to all newly created gizmos, and will switch bindings as different gizmos are dragged), or just bind to a particular gizmo using BindToInitializedGizmo after its SetActiveTarget call has been made..
class FTransformGizmoDataBinder : public [TSharedFromThis< FTransformGizmoDataBinder, ESPMode::ThreadSafe >](API\Runtime\Core\Templates\TSharedFromThis)
TFunction< FVec...
ActualToBoundConversion
See comment for SetTranslationConversionFunctions.
bool
bCurrentGizmoLacksDegreeOfFreedom
If a gizmo doesn't have all three axes and is not aligned to world (i.e. is in local mode) then we currently require a reference transform to allow the user to be in destination mode.
bool
bCurrentGizmoOnlyHasUniformScale
bool
bGizmoIsBeingDragged
bool
bIgnoreCallbackForDebouncing
Used for debouncing when editing the gizmo via the UI.
bool
bInDataEditSequence
Additional state that lets us respond appropriately to various notifications.
FVector3d *
BoundEulerAngles
TSet<TWeakObje...
BoundGizmos
All the gizmos the numerical UI can correspond to.
FVector3d *
BoundScale
TFunction< FVec...
BoundToActualConversion
FVector3d *
BoundTranslation
bool
bUsingDeltaMode
Controls delta mode, where the gizmo specifies a difference from some start transform.
TArray<TWeakOb...
ContextObjectsToUnregisterWith
Used to clean up our registration with context object when being destroyed.
TOptional< FTra...
CurrentCustomLocalReferenceTransform
Reference transform to use when in local gizmo mode.
TWeakObjectPtr<...
CurrentlyTrackedGizmo
Gizmo to which the values are currently bound.
TOptional< FTra...
DefaultCustomLocalReferenceTransform
Reference transform to use in local gizmo mode by default.
FTransform
DeltaStartTransform
EToolContextCoo...
LastCoordinateSystem
Used to determine whether the current gizmo's coordinate system has changed, when we receive anUpdateCoordinateSystem()call.
FVector3d
LastEulerAngles
FVector3d
LastScale
FVector3d
LastTranslation
Used to detect whether anything actually changed.
FOnTrackedGizmo...
OnTrackedGizmoChanged
FVector3d
ProportionalDragInitialVector
Used when we only allow uniform scaling, to scale everything proportionally.
FVector3d[3]
VectorsToUseIfUnbound