Class UUxtManipulatorComponentBase
Base class for manipulation components that react to pointer interactions.
This class does not modify the actor as-is. Implementations should use the provided functions to compute a target transform from grabbing pointers and call the ApplyTargetTransform method to actually modify the actor.
Inheritance
System::Object
USceneComponent
UUxtManipulatorComponentBase
Namespace:
Assembly: .dll
Syntax
public: class UUxtManipulatorComponentBase : public xtGrabTargetComponent
Constructors
|
Improve this Doc
View Source
~UUxtManipulatorComponentBase()
Declaration
public: ~UUxtManipulatorComponentBase()
|
Improve this Doc
View Source
UUxtManipulatorComponentBase()
Declaration
public: UUxtManipulatorComponentBase()
Fields
|
Improve this Doc
View Source
If true the initial transform will be set automatically when the component is grabbed.
Declaration
public: bool bAutoSetInitialTransform= true
Field Value
|
Improve this Doc
View Source
Constraints
Declaration
protected: UxtConstraintManager * Constraints
Field Value
|
Improve this Doc
View Source
Declaration
public: FTransform InitialCameraSpaceTransform
Field Value
Type |
Description |
FTransform |
|
|
Improve this Doc
View Source
Declaration
public: FTransform InitialTransform
Field Value
Type |
Description |
FTransform |
|
|
Improve this Doc
View Source
MoveLogic
Declaration
protected: UxtManipulationMoveLogic * MoveLogic
Field Value
|
Improve this Doc
View Source
Declaration
public: FUxtUpdateTransformDelegate OnUpdateTransform
Field Value
Type |
Description |
FUxtUpdateTransformDelegate |
|
|
Improve this Doc
View Source
The component to transform, will default to the root scene component if not specified
Declaration
public: USceneComponent * TransformTarget= nullptr
Field Value
Type |
Description |
USceneComponent * |
|
|
Improve this Doc
View Source
TwoHandRotateLogic
Declaration
protected: UxtTwoHandManipulationRotateLogic * TwoHandRotateLogic
Field Value
|
Improve this Doc
View Source
TwoHandScaleLogic
Declaration
protected: UxtTwoHandManipulationScaleLogic * TwoHandScaleLogic
Field Value
Methods
|
Improve this Doc
View Source
Apply the transform to the actor root scene component. Relative transform between the manipulator component and the root scene component is preserved.
Declaration
public: void ApplyTargetTransform(const FTransform &TargetTransform)
Parameters
Type |
Name |
Description |
const FTransform & |
TargetTransform |
|
|
Improve this Doc
View Source
BeginPlay()
Declaration
protected: virtual void BeginPlay() override
Overrides
|
Improve this Doc
View Source
EndPlay(const EEndPlayReason::Type EndPlayReason)
Declaration
protected: virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override
Parameters
Type |
Name |
Description |
const EEndPlayReason::Type |
EndPlayReason |
|
|
Improve this Doc
View Source
Translate the source transform such that grab points match targets. If more than one pointer is used then the centroid of the grab points and targets is used.
Declaration
public: void MoveToTargets(const FTransform &SourceTransform, FTransform &TargetTransform, bool UsePointerRotation) const
Parameters
Type |
Name |
Description |
const FTransform & |
SourceTransform |
|
FTransform & |
TargetTransform |
|
bool |
UsePointerRotation |
|
|
Improve this Doc
View Source
Rotates the source transform around the pivot point on the given axis such that the pointers line up with current targets. If more than one pointer is used then the resulting rotation will minimize the mean square of target distances.
Declaration
public: void RotateAboutAxis(const FTransform &SourceTransform, const FVector &Pivot, const FVector &Axis, FTransform &TargetTransform) const
Parameters
Type |
Name |
Description |
const FTransform & |
SourceTransform |
|
const FVector & |
Pivot |
|
const FVector & |
Axis |
|
FTransform & |
TargetTransform |
|
|
Improve this Doc
View Source
Rotates the source transform around the pivot point such that the pointers line up with current targets. If more than one pointer is used then the resulting rotation will minimize the mean square of target distances.
Declaration
public: void RotateAroundPivot(const FTransform &SourceTransform, const FVector &Pivot, FTransform &TargetTransform) const
Parameters
Type |
Name |
Description |
const FTransform & |
SourceTransform |
|
const FVector & |
Pivot |
|
FTransform & |
TargetTransform |
|
|
Improve this Doc
View Source
Cache the initial world space and camera space transform. Manipulation should be based on these initial transform for stable results. If bAutoSetInitialTransform is true then the initial transform is updated when grabbed.
Declaration
public: void SetInitialTransform()
|
Improve this Doc
View Source
Apply a low-pass filter to the source transform location and rotation to smooth out jittering. Target transform is a exponentially weighted average of the current component transform and the source transform based on the time step.
Declaration
public: void SmoothTransform(const FTransform &SourceTransform, float LocationSmoothing, float RotationSmoothing, float DeltaSeconds, FTransform &TargetTransform) const
Parameters
Type |
Name |
Description |
const FTransform & |
SourceTransform |
|
float |
LocationSmoothing |
|
float |
RotationSmoothing |
|
float |
DeltaSeconds |
|
FTransform & |
TargetTransform |
|
|
Improve this Doc
View Source
TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction *ThisTickFunction)
Declaration
protected: virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction *ThisTickFunction) override
Parameters
Type |
Name |
Description |
float |
DeltaTime |
|
ELevelTick |
TickType |
|
FActorComponentTickFunction * |
ThisTickFunction |
|