Commit Graph

123 Commits

Author SHA1 Message Date
brooke hubert
f149e45233 Fixing a bug where creating temporary actors via typed elements would not be able to delete them again in single place tool
#preflight 61b22ba9c674eb9fc9d8ea9a
#Jira None
#rb julien.stjean ryan.schmidt

#ROBOMERGE-AUTHOR: brooke.hubert
#ROBOMERGE-SOURCE: CL 18420733 in //UE5/Release-5.0/... via CL 18422600
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18422868 by brooke hubert in ue5-release-engine-test branch]
2021-12-09 14:51:37 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
aurel cordonnier
fc542f6cfd Merge from Release-Engine-Staging @ 18081189 to Release-Engine-Test
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971

[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
2021-11-07 23:43:01 -05:00
semion piskarev
b28b0cd959 InteractiveToolsFramework: Fix mouse wheel not being captured by UModeManagerInteractiveToolsContext::InputKey.
#rb Matija.Kecman
#rnx
#jira none
#preflight 61787393e7c41c00018d3c87

#ROBOMERGE-AUTHOR: semion.piskarev
#ROBOMERGE-SOURCE: CL 17946968 in //UE5/Release-5.0/... via CL 17946996
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17947008 by semion piskarev in ue5-release-engine-test branch]
2021-10-27 12:49:43 -04:00
ryan schmidt
35cb7ccf8f ToolsFramework: move support for scene location/angle snapping from ToolContextInterfaces/IContextQueriesAPI to USceneSnappingManager, a context store object that different modes may wish to implement.
USceneSnappingManager currently only provides the current snapping interface and a no-op implementation.
Move existing EdModeInteractiveToolsContext snapping implementation to ModelingSceneSnappingManager in ModelingComponents module.
Add IContextQueriesAPI::GetCurrentSnappingSettings to allow ITF Host to specify snapping settings, implement in EdModeInteractiveToolsContext.
Update affected Tools/Gizmos, register ModelingSceneSnappingManager instance in Modeling EdMode.

#rb semion.piskarev
#rnx
#jira none
#preflight 6171b7654d6efa00017a0450

#ROBOMERGE-OWNER: ryan.schmidt
#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17890511 in //UE5/Release-5.0/... via CL 17890705
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v883-17842818)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17890711 by ryan schmidt in ue5-release-engine-test branch]
2021-10-21 16:57:00 -04:00
christina tempelaarl
c476e9522a Non-unity fix.
#jira UE-131781
#rb none

#ROBOMERGE-AUTHOR: christina.tempelaarl
#ROBOMERGE-SOURCE: CL 17834185 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v881-17767770)

[CL 17834297 by christina tempelaarl in ue5-release-engine-test branch]
2021-10-15 17:04:31 -04:00
christina tempelaarl
7690581940 Update LevelEditor TRS gizmo to handle Editor mode and coord system changes.
#jira UETOOL-4297
#rb brooke.hubert
#preflight 615c9daaed17cd000199c52c

#ROBOMERGE-AUTHOR: christina.tempelaarl
#ROBOMERGE-SOURCE: CL 17726964 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v879-17706426)

[CL 17726989 by christina tempelaarl in ue5-release-engine-test branch]
2021-10-05 16:34:35 -04:00
andrew davidson
57beb335f2 Merging //UE5/Dev-LargeWorldCoordinates [at] 17581892 to //UE5/Main
#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 17595295 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17595306 by andrew davidson in ue5-release-engine-test branch]
2021-09-22 10:01:48 -04:00
christina tempelaarl
0480e0b759 Change Editor Gizmo Builders from UObjects to interfaces.
#jira UETOOL-4097
#rb brooke.hubert
#preflight 6143adc1ba11800001647cc9

#ROBOMERGE-AUTHOR: christina.tempelaarl
#ROBOMERGE-SOURCE: CL 17545118 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17545128 by christina tempelaarl in ue5-release-engine-test branch]
2021-09-16 18:11:20 -04:00
christina tempelaarl
8a958adec3 Move gizmo primitive objects and related classes to Experimental/EditorInteractiveToolsFramework directory for 5.0. They are currently only used by UEditorTransformGizmo and are still in active development.
#jira UE-126648
#rb ryan.schmidt
#preflight 61437544568b3a00012173e0

#ROBOMERGE-AUTHOR: christina.tempelaarl
#ROBOMERGE-SOURCE: CL 17541920 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17541963 by christina tempelaarl in ue5-release-engine-test branch]
2021-09-16 13:55:36 -04:00
ryan schmidt
55e4644fd1 Add support for UEdMode-level InteractiveToolsContext which exists at the same time as the existing ModeManager-level ITC.
- rename UEdModeInteractiveToolsContext to UEditorInteractiveToolsContext, made all functions virtual so they can be customized for the new Editor/EdMode implementations where necessary
- add UModeManagerInteractiveToolsContext and UEdModeInteractiveToolsContext subclasses. Most functionality stays in the base class. Mouse-handling functions that manipulate the InputRouter move to ModeManagerITC.
- EdModeITC now is initialized based on a ModeManagerITC, and shares it's InputRouter
- ModeManagerITC creates the child EdModeITCs, forwards Tick/Render/DrawHUD calls
- FEditorModeTools now creates a ModeManagerITC

- Add EToolsContextScope enum, with options for Editor and EdMode ToolsContext
- UEdMode::Enter() now creates a child EdModeITC via new EditorITC::CreateNewChildEdModeToolsContext() function above, in addition to storing reference to the ModeManagerITC. Internal code updated to handle both ITCs.
- The EdModeITC is shut down on ::Exit() and unregistered from the EditorITC parent
- UEdMode ITC access functions (GetToolsContext, GetToolManager, RegisterTool) now take an optional Scope argument
- UEdMode::GetDefaultToolScope() allows EdModes to define default scope for the entire mode, defaults to Editor scope

- removed unused CanStartTool()/etc wrapper functions from FModeToolkit, they were not being called
- FModeToolkit::Init() now listens to events from both the ModeManagerITC and EdModeITC, delete cleans them both up
- FModeToolkit::OnToolStarted() checks both ITCs to see which one owns the new Tool

- updated all EdModes that were directly accessing the UEdMode::ToolsContext member, replaced with calls to GetToolsContext() / GetToolManager() APIs
- updated ModelingToolsEditorMode to use EdMode ToolScope

#rb brooke.hubert
#rnx
#jira none
#preflight 6140cc1130c00d0001dc4b9e

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17510176 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17510201 by ryan schmidt in ue5-release-engine-test branch]
2021-09-14 17:11:13 -04:00
zousar shaker
836bd0854d Automated search-and-replace pass to change uses of UE_TRANSITIONAL_OBJECT_PTR(Type) to TObjectPtr<Type>.
There were two instance of the type being incorrect and they were manually fixed.

#rb none

#ROBOMERGE-AUTHOR: zousar.shaker
#ROBOMERGE-SOURCE: CL 17472048 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17472069 by zousar shaker in ue5-release-engine-test branch]
2021-09-09 10:07:44 -04:00
ryan schmidt
d3e9dcbc26 ModelingTools: replace StorableSelection mechanism with new UPersistentMeshSelection and UPersistentMeshSelectionManager context object.
- UPersistentMeshSelection is largely a port of UGroupTopologyStorableSelection, with the actual selection data moved to FGenericMeshSelection
- UPersistentMeshSelectionManager is meant to be used as a ContextObject in a ToolsContext, also contains utility functions to register/unregister/find context object
- Selection is no longer passed as part of FToolBuilderState. Instead Tools access the selection via ContextObject
- UPersistentMeshSelectionManager currently supports a single active selection. Selection changes are transacted via an FChange.
- When not inside a Tool, Selection is visualized with a pink border outline. Currently vertex selection is not visualized.
- Usage model is that on Tool Accept/Complete, prior to Tool Shutdown, any existing selection is cleared, and Tool may set a new Output selection which becomes the active selection
- StoredMeshSelectionUtil.h has utility functions to get current selection, set output selection, and clear it
- SingleSelectionMeshEditingTool already made input selection available to subclasses, port that capability to new architecture
- convert EditMeshPolygonsTool to be a SingleSelectionMeshEditingTool, use provided Input selection and set Output selection as appropriate

- ModelingToolsEditorMode clears active selection where appropriate, eg if selected object changes. However the behavior here will need further improvement, currently relies on questionable event handling from the TypedElement system

#rb semion.piskarev
#rnx
#jira none
#preflight 6136cbbfd9c85a0001fc3b56

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17441056 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17441061 by ryan schmidt in ue5-release-engine-test branch]
2021-09-06 23:05:07 -04:00
julien stjean
9af8446874 Changed the TypedElementInterface to use UInterfaces instead of an object base api.
#jira UETOOL-4054
#preflight 6132413c1a52e20001dce90d
#rb Jamie.Dale

#ROBOMERGE-SOURCE: CL 17424653 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)

[CL 17424661 by julien stjean in ue5-release-engine-test branch]
2021-09-03 14:18:34 -04:00
zousar shaker
fe7573c2db Wrapped ObjectPtr upgrade refresh for Engine + ShooterGame
#rb none

#ROBOMERGE-SOURCE: CL 17278708 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v858-17259218)

[CL 17278722 by zousar shaker in ue5-release-engine-test branch]
2021-08-23 18:53:24 -04:00
christina tempelaarl
884acfa226 Fix non-unity compile error.
#rb trivial
#jira UETOOL-3780
#preflight 610e46b1cf0cdd000154e251

#ROBOMERGE-SOURCE: CL 17094415 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v853-17066230)

[CL 17094419 by christina tempelaarl in ue5-release-engine-test branch]
2021-08-07 11:06:24 -04:00
christina tempelaarl
08e4febe77 Add Accessory and Primary gizmo support to Editor gizmo manager and subsystem.
#jira UETOOL-3780
#rb brooke.hubert, matt.kuhlenschmidt
#preflight 610cb37cf19b370001fb9f50

#ROBOMERGE-SOURCE: CL 17085778 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v853-17066230)

[CL 17085790 by christina tempelaarl in ue5-release-engine-test branch]
2021-08-06 14:12:53 -04:00
ryan schmidt
8ba7990e6e Switch to Editor Grid/Rotation snapping settings and enable/disable state for all usage of TransformGizmo in ModelingTools
- TransformGizmo now defaults to Grid Position/Rotation Snapping enabled by default
- remove shift-modifier that toggled on 45-degree snapping in UAxisAngleGizmo
- update most Tools and Mechanics to remove explicit snapping properties/checkboxes and shift modifiers (PolyEdit and PolyDeform Tool still need to be updated)
- update FEdModeToolsContextQueriesImpl::ExecuteSceneSnapQueryPosition() and FEdModeToolsContextQueriesImpl::ExecuteSceneSnapQueryRotation() implementations to support snapping enable/disable via ULevelEditorViewportSettings
#rb jimmy.andrews
#rnx
#jira none
#preflight 60fa20b2a6959a0001cfdf29

#ROBOMERGE-SOURCE: CL 16935052 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16935081 by ryan schmidt in ue5-release-engine-test branch]
2021-07-23 01:35:18 -04:00
zousar shaker
d55f79222e Wrapped ObjectPtr upgrade refresh for Engine + ShooterGame
#rb none
#preflight 60f6411c35476b00018dd12c

#ROBOMERGE-SOURCE: CL 16892864 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16892876 by zousar shaker in ue5-release-engine-test branch]
2021-07-20 00:24:38 -04:00
christina tempelaarl
58d21d1410 Add typed element selection set support to Editor gizmo manager. Add toggle to enable new TRS gizmo.
#jira UETOOL-3562
#rb jamie.dale, brooke.hubert
#preflight 60efbbdb1a88600001ff7180

#ROBOMERGE-SOURCE: CL 16864376 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16864378 by christina tempelaarl in ue5-release-engine-test branch]
2021-07-15 13:18:14 -04:00
ryan schmidt
1876544bd5 ToolsFramework: Add UEdModeInteractiveToolsContext::SetEnableRenderingDuringHitProxyPass() to allow ITF clients to enable/disable hitproxy rendering. Default to enabled as it is expected that most existing FEdModes/etc are using hitproxy. Disable in ModelingMode because we don't want hitproxy rendering there.
#rb brooke.hubert
#rnx
#jira none
#preflight 60ce358e1f30ee00017cab85

#ROBOMERGE-SOURCE: CL 16723013 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16723018 by ryan schmidt in ue5-release-engine-test branch]
2021-06-19 18:16:54 -04:00
brooke hubert
d3089b1f9e Fix an issue where hit proxies were not being updated after placement mode painted assets.
Start/EndTracking was not being called for the mode manager after input reshuffles; additionally if we are circumventing the normal viewport start/end tracking, we need to make sure that hit proxies redraw for items that may have been placed via an ITF tool by invalidating the viewport.

#preflight 60ca57306092ba000113f2a7
#Jira none
#rb jamie.dale
[FYI] semion.piskarev

#ROBOMERGE-SOURCE: CL 16697572 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16697574 by brooke hubert in ue5-release-engine-test branch]
2021-06-16 18:24:42 -04:00
christina tempelaarl
2dc2a063c9 Add selection-based builder for Editor transform gizmo which will work with the new Editor gizmo subsystem and manager.
#jira UETOOL-3561
#rb brooke.hubert
#preflight 60c2e8f244f4240001b416c1

#ROBOMERGE-SOURCE: CL 16637095 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v831-16623017)

[CL 16637104 by christina tempelaarl in ue5-release-engine-test branch]
2021-06-11 01:50:22 -04:00
aurel cordonnier
0b3383217c Fixes for no unity errors
#rnx

#ROBOMERGE-SOURCE: CL 16631670 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v831-16623017)

[CL 16631677 by aurel cordonnier in ue5-release-engine-test branch]
2021-06-10 18:04:45 -04:00
christina tempelaarl
3250b6b533 Trivial fix for Mac build compile error.
#jira none
#rb none
#preflight 60c1acf8b1a4a300010ac845

#ROBOMERGE-SOURCE: CL 16619609 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16619616 by christina tempelaarl in ue5-release-engine-test branch]
2021-06-10 03:12:57 -04:00