Navigation
Unreal Engine C++ API Reference > Plugins > ModelingComponents > Mechanics
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UInteractionMechanic
- USpaceCurveDeformationMechanic
References
Module | ModelingComponents |
Header | /Engine/Plugins/Runtime/MeshModelingToolset/Source/ModelingComponents/Public/Mechanics/SpaceCurveDeformationMechanic.h |
Include | #include "Mechanics/SpaceCurveDeformationMechanic.h" |
Syntax
UCLASS&40;&41;
class USpaceCurveDeformationMechanic :
public UInteractionMechanic,
public IClickBehaviorTarget,
public IHoverBehaviorTarget
Variables
Type | Name | Description | |
---|---|---|---|
![]() |
bool | bAddToSelectionToggle | Support for Shift and Ctrl toggles. |
![]() |
bool | bGizmoBeingDragged | Used to make it easy to tell whether the gizmo was moved by the user or by undo/redo or some other change that we shoulnd't respond to. |
![]() |
bool | bRenderGeometryValid | |
![]() |
bool | bSpatialValid | |
![]() |
FViewCameraState | CameraState | Support for hovering. |
![]() ![]() |
TObjectPtr< USingleClickInputBehavior > | ClickBehavior | Behaviors used for moving points around and hovering them. |
![]() |
int32 | CtrlModifierId | |
![]() |
int32 | CurrentChangeStamp | Used for expiring undo/redo changes, which compare this to their stored value and expire themselves if they do not match. |
![]() |
FColor | CurrentPointsColor | |
![]() |
FColor | CurrentSegmentsColor | |
![]() |
TArray< UE::Geometry::FFrame3d > | CurvePoints | |
![]() |
TSharedPtr< FSpaceCurveSource > | CurveSource | |
![]() |
TArray< UE::Geometry::FFrame3d > | CurveStartPositions | We need the selected point start positions so we can move multiple points appropriately. |
![]() |
float | DepthBias | |
![]() |
TSharedPtr< FSpaceCurveSource > | EmptyCurveSource | |
![]() |
UE::Geometry::FGeometrySet3 | GeometrySet | Used for spatial queries. |
![]() |
TFunction< bool(const FVector3d &, const FVector3d &)> | GeometrySetToleranceTest | |
![]() |
UE::Geometry::FFrame3d | GizmoStartPosition | The starting point of the gizmo is needed to determine the offset by which to move the points. |
![]() ![]() |
TObjectPtr< UMouseHoverBehavior > | HoverBehavior | |
![]() |
FColor | HoverColor | |
![]() |
int32 | HoveredPointID | |
![]() |
FColor | NormalCurveColor | Variables for drawing. |
![]() |
OnPointsChangedEvent | OnPointsChanged | |
![]() |
float | PointsSize | |
![]() ![]() |
TObjectPtr< UCombinedTransformGizmo > | PointTransformGizmo | |
![]() ![]() |
TObjectPtr< UTransformProxy > | PointTransformProxy | Support for gizmo. |
![]() |
FColor | PreviewColor | |
![]() ![]() |
TObjectPtr< APreviewGeometryActor > | PreviewGeometryActor | Used for displaying points/segments |
![]() ![]() |
TObjectPtr< UPointSetComponent > | RenderPoints | |
![]() ![]() |
TObjectPtr< ULineSetComponent > | RenderSegments | |
![]() |
float | SegmentsThickness | |
![]() |
FColor | SelectedColor | |
![]() |
TArray< int32 > | SelectedPointIDs | Support for selection. |
![]() |
int32 | ShiftModifierId | |
![]() ![]() |
TObjectPtr< USpaceCurveDeformationMechanicPropertySet > | TransformProperties |
Destructors
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
Some other standard functions. |
Functions
Type | Name | Description | |
---|---|---|---|
![]() |
void | ChangeSelection
(
int32 NewPointID, |
These issue undo/redo change objects, and must therefore not be called in undo/redo code. |
![]() |
void | ||
![]() |
void | ClearHover () |
|
![]() |
void | ||
![]() |
bool | DeselectPoint
(
int32 PointID |
|
![]() |
void | GetCurrentCurvePoints
(
TArray< UE::Geometry::FFrame3d >& PointsOut |
|
![]() |
void | GizmoTransformChanged
(
UTransformProxy* Proxy, |
Callbacks we'll receive from the gizmo proxy. |
![]() |
void | GizmoTransformEnded
(
UTransformProxy* Proxy |
|
![]() |
void | GizmoTransformStarted
(
UTransformProxy* Proxy |
|
![]() |
bool | HitTest
(
const FInputDeviceRay& ClickPos, |
All of the following do not issue undo/redo change objects. |
![]() |
void | ||
![]() |
void | ||
![]() |
void | ||
![]() |
void | ||
![]() |
void | ||
![]() |
void | ||
![]() |
void | SelectPoint
(
int32 PointID |
|
![]() |
void | SetCurveSource
(
TSharedPtr< FSpaceCurveSource > CurveSource |
|
![]() |
void | ||
![]() |
void | UpdateCurve
(
const TArray< UE::Geometry::FFrame3d >& NewPositions |
|
![]() |
void | ||
![]() |
void | ||
![]() |
void | UpdateSelection
(
const TArray< int32 >& NewSelection |
|
![]() |
void |
Overridden from UInteractionMechanic
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
void | Render
(
IToolsContextRenderAPI* RenderAPI |
Allow the Mechanic to do any custom drawing (ie via PDI/RHI) |
![]() ![]() |
void | Setup
(
UInteractiveTool* ParentTool |
Called to initialize the InteractionMechanic |
![]() ![]() |
void | Shutdown () |
Called to clean up the InteractionMechanic |
![]() ![]() |
void | Tick
(
float DeltaTime |
ALlow the Mechanic to Tick |
Overridden from IClickBehaviorTarget
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
FInputRayHit | IsHitByClick
(
const FInputDeviceRay& ClickPos |
IClickBehaviorTarget implementation. |
![]() ![]() |
void | OnClicked
(
const FInputDeviceRay& ClickPos |
Notify Target that click ocurred |
Overridden from IModifierToggleBehaviorTarget
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
void | OnUpdateModifierState
(
int ModifierID, |
IModifierToggleBehaviorTarget implementation, inherited through IClickBehaviorTarget. |
Overridden from IHoverBehaviorTarget
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
FInputRayHit | BeginHoverSequenceHitTest
(
const FInputDeviceRay& PressPos |
IHoverBehaviorTarget implementation. |
![]() ![]() |
void | OnBeginHover
(
const FInputDeviceRay& DevicePos |
Initialize hover sequence at given position |
![]() ![]() |
void | OnEndHover () |
Terminate active hover sequence |
![]() ![]() |
bool | OnUpdateHover
(
const FInputDeviceRay& DevicePos |
Update active hover sequence with new input position |
Typedefs
Name | Description |
---|---|
OnPointsChangedEvent | This delegate is called every time the control point sequence is altered. |