#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]
- FQuatRotationMatrix(GetActorQuat()) is ~4x faster than FRotationMatrix(GetActorRotation()), due to latter form's FQuat->FRotator conversion and different matrix construction using Sin/Cos.
[CL 2497964 by Zak Middleton in Main branch]
Some P4V problem with backing out large changelist missed some files.
#codereview Robert.Manuszewski
[CL 2481366 by Jaroslaw Palczynski in Main branch]
Rob asked me to back out GENERATED_*_BODY -> GENERATED_BODY change for now until the "_Validate and _Implementation auto-generation" discussion is over.
#codereview Robert.Manuszewski
[CL 2481343 by Jaroslaw Palczynski 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]