Ryan Schmidt
45956cf80f
ModelingMode: Add warning message type and warning message area to Modeling Tools Mode.
...
#rb none
#rnx
[CL 9053470 by Ryan Schmidt in Dev-Editor branch]
2019-09-24 16:19:08 -04:00
Ryan Schmidt
8ccfe7fcd3
ToolsFramework: add change event support for UTransformProxy. UGizmoTransformChangeStateTarget can now have attached change-generators. Use this in TransformGizmo to generate changes for TransformProxy when gizmo state change happens. Add TransformGizmo::SetNewGizmoTransform() which allows for repositioning gizmo via transaction/changes that work with undo/redo.
...
#rb none
#rnx
[CL 9010412 by Ryan Schmidt in Dev-Editor branch]
2019-09-23 22:01:25 -04:00
Ryan Schmidt
d55190e47d
ToolsFramework: add FToolCommandChange, replace all uses of FCommandChange with it. Move IToolContextTransactionProvider defn to separate file. Add IToolCommandChangeSource interface for downstream code to use. Move FCommandChangeSequence from inside Selection tool up to Framework level.
...
#rb none
#rnx
[CL 9010050 by Ryan Schmidt in Dev-Editor branch]
2019-09-23 21:52:12 -04:00
michael daum
a60778988b
Fix strict build by disambiguating some types
...
#rb ryan.schmidt
[CL 8992993 by michael daum in Dev-Editor branch]
2019-09-23 16:51:50 -04:00
Ryan Schmidt
ff324f1b1e
ToolsFramework: add IToolContextTransactionProvider UInterface which provides the transaction/change functions that ToolManager and GizmoManager both implement.
...
UGizmoTransformChangeStateTarget can now take either. TransformGizmo::SetActiveTarget() now takes optional override (uses GizmoManager by default).
This allows us to pass in ToolManager instead inside Tools where the Gizmo is fully local to Tool, in which case Gizmo undo/redo events should be auto-expired after the Tool exits (which ToolManager will do, but GizmoManager does not)
#rb none
#rnx
[CL 8988018 by Ryan Schmidt in Dev-Editor branch]
2019-09-23 16:14:03 -04:00
Ryan Schmidt
fded72fd60
ToolsFramework: Support for world/local frame configuration in TransformGizmo and EditMeshPolygonsTool
...
#rb none
#rnx
[CL 8980793 by Ryan Schmidt in Dev-Editor branch]
2019-09-23 13:14:39 -04:00
Ryan Schmidt
cafdb6ed68
ToolsFramework: Add support for querying external world/local coordinate system setting via IToolsContextQueriesAPI (eg like the current mode in the Editor UI).
...
#rb none
#fyi lauren.barnes
#rnx
[CL 8980599 by Ryan Schmidt in Dev-Editor branch]
2019-09-23 13:01:39 -04:00
Ryan Schmidt
6556f3ac37
ToolsFramework: add simple method to save/restore Tool UInteractiveToolPropertySet properties, via CDO.
...
#rb none
#rnx
[CL 8968042 by Ryan Schmidt in Dev-Editor branch]
2019-09-22 17:28:21 -04:00
Ryan Schmidt
3163b1346a
ModelingTools: MeshSurfacePointTool now tracks ctrl key state, use in SculptTool to invert brush
...
#rb none
#rnx
[CL 8935995 by Ryan Schmidt in Dev-Editor branch]
2019-09-20 16:43:27 -04:00
Ryan Schmidt
aea0d26884
ToolsFramework: use new UGizmoTransformChangeStateTarget in TransformGizmo, so that gizmo position is properly updated on undo/redo
...
#rb none
#rnx
[CL 8932404 by Ryan Schmidt in Dev-Editor branch]
2019-09-20 14:03:22 -04:00
Ryan Schmidt
416e8b9a25
Add missing header to fix CIS errors
...
#rb none
#rnx
[CL 8932012 by Ryan Schmidt in Dev-Editor branch]
2019-09-20 13:54:06 -04:00
Ryan Schmidt
858fd800cc
ToolsFramework: add FComponentWorldTransformChange, tracks changes world transform of a component. Add UGizmoTransformChangeStateTarget, a gizmo state target that builds and emits FComponentWorldTransformChange. Add hit normal to FInputRayHit.
...
#rb none
#rnx
[CL 8931662 by Ryan Schmidt in Dev-Editor branch]
2019-09-20 13:44:08 -04:00
Ryan Schmidt
718c31c8c9
ToolsFramework: expand InputBehavior/InputRouter hover implementation so it has hit-test/capture/release like mouse capture. This is required to resolve multiple hoverable objects under. Update all behaviors/tools with new API.
...
#rb none
#fyi lauren.barnes
#rnx
[CL 8887166 by Ryan Schmidt in Dev-Editor branch]
2019-09-19 10:23:48 -04:00
Ryan Schmidt
dbf6fb617a
ToolsFramework: cleaned up IToolsContextAssetAPI, now only exposes a single function to create new package at a given path/basename combo, and returns unique asset name. Rewrote FEditorToolAssetAPI to use AssetToolsModule. AssetGenerationUtil::GenerateStaticMeshActor no longer tries to rename actor as this can result in collisions (which cause check), now only changes display name.
...
#rb none
#fyi michael.daum
#rnx
[CL 8849689 by Ryan Schmidt in Dev-Editor branch]
2019-09-18 17:33:43 -04:00
Rex Hill
64d7948e9c
Fix compile error with UnEdMode PostMessage on windows due to a window headers defining PostMessage
...
#rb none
#rnx
#fyi Ryan.Schmidt
[CL 8696305 by Rex Hill in Dev-Editor branch]
2019-09-16 14:06:18 -04:00
Ryan Schmidt
c727f4055d
ToolsFramework: add trivial function to return material index count from Component
...
#rb none
#rnx
[CL 8685926 by Ryan Schmidt in Dev-Editor branch]
2019-09-15 19:19:44 -04:00
Ryan Schmidt
86afe5a9fe
ToolsFramework: GizmoManager can now spawn customized variants of the standard transform gizmo. Minor API changes.
...
#rb none
#rnx
[CL 8684609 by Ryan Schmidt in Dev-Editor branch]
2019-09-14 00:59:31 -04:00
Ryan Schmidt
2332e92367
ToolsFramework: replace FString/TCHAR in various PostMessage functions with FText. Fix up call sites. Add area to modeling panel to display notification messages.
...
#fyi lauren.barnes
#rb none
#rnx
[CL 8684596 by Ryan Schmidt in Dev-Editor branch]
2019-09-14 00:17:10 -04:00
Ryan Schmidt
5f19bbb123
ToolsFramework: gizmo actors should not be transactional
...
#rb none
#rnx
[CL 8644466 by Ryan Schmidt in Dev-Editor branch]
2019-09-11 16:11:59 -04:00
Ryan Schmidt
1eb915b53c
resolve minor CIS errors/warnings and remove initials from comment
...
#rb none
#rnx
[CL 8639855 by Ryan Schmidt in Dev-Editor branch]
2019-09-11 13:24:49 -04:00
Ryan Schmidt
23111ff977
ToolsFramework: minor Gizmo improvements. Gizmo unique identifier is now optional, allowing multiple TransformGizmo to be created. Added several options to TransformProxy to support moving pivot and separated rotations.
...
#rb none
#rnx
[CL 8631791 by Ryan Schmidt in Dev-Editor branch]
2019-09-10 21:58:36 -04:00
Ryan Schmidt
1dd5787dec
ToolsFramework: add new USelectionSet and UMeshSelectionSet to represent sub-selections of objects/meshes
...
#rb none
#rnx
[CL 8618879 by Ryan Schmidt in Dev-Editor branch]
2019-09-10 14:48:32 -04:00
Ryan Schmidt
406c4dbbe3
ToolsFramework: Improve Undo/Redo handling with new "Expired" functionality.
...
InteractiveToolManager now wraps incoming FChanges from the Tools in a FToolChangeWrapperChange that Expires itself once the Tool is no longer active.
InteractiveToolManager now pushes new FBeginToolChange at the start of each Tool. Undoing past start of Tool cancels the Tool, and then this change is Expired.
#rb none
#rnx
[CL 8618478 by Ryan Schmidt in Dev-Editor branch]
2019-09-10 14:40:38 -04:00
Ryan Schmidt
573d9becde
add missing header
...
#rb none
#rnx
[CL 8618066 by Ryan Schmidt in Dev-Editor branch]
2019-09-10 14:20:52 -04:00
Ryan Schmidt
e0aaaed056
ToolsFramework: Standard implementations of Gizmos for axis position/angle and plane position. Used to implement a standard 3-axis translate/rotate transformer.
...
InteractiveGizmoManager now tracks Owner of Gizmos, for delete-by-owner support. Added Create3AxisTransformGizmo() to create standard Gizmo.
GizmoInterfaces.h: UInterfaces for gizmo components
AxisPositionGizmo, AxisAngleGizmo, PlanePositionGizmo: standard implementations of UInteractiveGizmo
GizmoBaseComponent, GizmoArrowComponent, GizmoRectangleComponent, GizmoCircleComponent: custom UPrimitiveComponent implementations for standard Gizmos
TransformGizmo: 3-axis transform gizmo built out of above elements
AxisSources.h, ParameterSourcesFloat/Vec2.h, StateTargets.h, HitTargets.h, TransformSources.h: UObjects used by Gizmos to expose implementation for customization.
ParameterToTransformAdapters.h: Gizmo ParameterSource implementations that convert axis/plane position and axis-angle to 3D translations/rotations
TransformProxy: wrapper around set of objects that provides a single FTransform, used by TransformGizmo to apply to multiple objects/etc
GizmoMath.h, GizmoRenderingUtil.h: utility functions for Gizmo implementation
#fyi Lauren.Ridge
#rb Michael.Daum
#rnx
[CL 8618015 by Ryan Schmidt in Dev-Editor branch]
2019-09-10 14:14:29 -04:00