EStaticMeshEditingLOD enum moved to ComponentSourceInterfaces.h to make it more widely available.
Add ToolBuilderUtil::EnumerateComponents() and ToolTargetManager::EnumerateSelectedAndTargetableComponents(), this allows ToolBuilders to do additional checks on the valid Targets without having to make local arrays/etc. Fix SetCollisionGeometryTool to not build ToolTargets every frame just to check if one is a StaticMeshComponent.
#rb lonnie.li
#rnx
#jira none
#preflight 6092e932242f6600012445b0
[CL 16213180 by Ryan Schmidt in ue5-main branch]
The tracking transactions were not happening at the right times, so the tools context had special considerations for some viewport interactions, but not all. This was causing some scale, rotate, and translate operations in the viewport to be lost when the tools context would evaluate the right mouse button behavior for fly mode.
This rearranges how the tracking transaction makes it to the tools context from the viewport, and splits the tools context processing of mouse tracking away from the mode manager, so that the ordering of mouse processing can be maintained by the viewport, instead of the tools context having to maintain knowledge of the viewport.
#Jira UE-110273
#rb ryan.schmidt lauren.barnes jamie.dale
#ROBOMERGE-SOURCE: CL 15676489 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533)
[CL 15676508 by brooke hubert in ue5-main branch]
* Tweak after placement in world and local space using standard level editor gizmos.
* Removed Single place tool settings. Since we're using the TRS gizmos, these settings are unnecessary.
* Moved cycle through palette to shift + right click to match other viewport functions (i.e. cycling static mesh previews).
* Placement mode now inherits from default ed mode, so we will get the new gizmos as they come online.
* Fixed a bug in the select tool where the input was never making it back to the viewport for handling.
* Fixed a bug in the ITF Editor hooks where the mouse capture was incorrectly reporting and eating the input from the viewport.
#Jira UE-107395
[at]jamie.dale
#ROBOMERGE-SOURCE: CL 15464701 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)
[CL 15466468 by brooke hubert in ue5-main branch]
- Moved source models related classes and implementation into separate files.
- Created a new UObject wrapper for holding mesh description bulk data; this is created as a transactable object inside a UStaticMesh.
- The cached mesh description is now an inner object of the bulk data wrapper; this allows transactions on the bulk data to affect the cached mesh.
- The static mesh SourceModels array can no longer be accessed directly: FStaticMeshSourceModel requires extra initialization before it should be used, so new LODs should be added through the static mesh API.
- Undo/redo is now fixed within the geometry tools
- Fixed regression where mesh description was being unpacked unnecessarily during transactions
- MeshDescription bulk data and its cached MeshDescriptions are now emptied prior to removing the UObject reference, in order to immediately free memory instead of needing to wait for garbage collection
- No more deadlocks when clearing or committing mesh descriptions during garbage collection
- Bulk data UObjects are constructed, where possible, at startup, in order to prevent it from happening during critical moments, e.g. during garbage collection or package saving.
#rb Danny.Couture, Alexis.Matte, Ryan.Schmidt
[CL 15420827 by Richard TalbotWatkin in ue5-main branch]
# Also exposed the typed element selection set to the queries API in ITF.
# Implemented a stash/pop selection on the typed element selection set for modes to use.
#Jira UE-107091
#rb jamie.dale chris.gagnon ryan.schmidt
#ROBOMERGE-SOURCE: CL 15359303 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)
[CL 15360406 by brooke hubert in ue5-main branch]