- This checkin eliminates use of all <Module>Classes.h files in Engine, with the exception of UnrealEdClasses.h
- Compilation speed-ups for all of the modules affected, now that they are including what they use
- No effective changes other than C++ includes
[CL 2686054 by Mike Fricker in Main branch]
#jira UE-16415 - The origin of a BSP brush stays in place while youÆre editing the brush in Geometry mode, often leaving the origin (and default rotation point) floating off in space.
[CL 2664363 by Richard TalbotWatkin in Main branch]
#jira UE-16415 - The origin of a BSP brush stays in place while youÆre editing the brush in Geometry mode, often leaving the origin (and default rotation point) floating off in space.
[CL 2634054 by Richard TalbotWatkin in Main branch]
#jira UE-16419 - If you right click on a vert to snap a pivot of a brush to that location, it will automatically reset the pivot back to the origin after your next mouse click.
#reviewedby Matt.Kuhlenschmidt
[CL 2612043 by Richard TalbotWatkin in Main branch]
#jira UE-16405 - Hitch occurs when undoing BSP manipulations
Summary of changes:
- Added 'fuzzy map' for quick look up of nearly equal FVectors, improving the BSP rebuild algorithm from O(n^4) to O(n*m) where m is much smaller than n.
- Added 'fuzzy map' for quick look up of nearly equal FPlanes, improving plane merging from O(n^2) to O(n).
- Changed TTransArrays in UModel to regular arrays, to remove a lot of transaction modifies during BSP rebuild.
- UModel array allocations are now allocated upfront where possible, instead of constant dynamic resizing.
- Optimized algorithm used by UModelComponent::GenerateElements to reduce allocations and simplify map lookups.
- Removed call to ULevel::CommitModelSurfaces in UModelComponent::PostEditUndo, which was causing an enormous amount of unnecessary work on each undo operation. It is now done, as ever, by UWorld::Tick.
#reviewedby Matt.Kuhlenschmidt
[CL 2600444 by Richard TalbotWatkin in Main branch]
#jira UE-12430 - BSP brushes that have been brush clipped cannot be copied and pasted between maps
#jira UE-12122 - Editing duplicated BSP brushes also edits the original brush
The new UModel is created as an inner object of the new Brush, meaning that it has no external path and hence imports correctly.
[CL 2498929 by Richard TalbotWatkin in Main branch]
#jira UE-7507 - Vertex editing 2 BSP brushes simultaneously reverts to local movement for brushes that have been rotated
[CL 2438298 by Richard TalbotWatkin in Main branch]
#jira UE-5794 - The translation widget uses a BSP's initial position when Geometry Editing after rotating
[CL 2370697 by Richard TalbotWatkin in Main branch]
* Moved Slate.h into SlateBasics.h and began shifting less commonly used headers into SlateExtras.h.
* Slate.h now simply includes SlateBasics.h and SlateExtras.h.
* Slate.h includes a deprecated warning now to indicate that SlateBasics.h + specific includes should be used instead.
* Moved dozens of inlined functions using Slate widgets into .cpp files to avoid header dependencies.
* All code samples now include SlateBasics.h and SlateExtras.h so future shifts will not break most those projects, but not trigger the deprecation warning of including Slate.h.
#BUN
[CL 2329610 by Wes Hunt in Main branch]