Commit Graph

49 Commits

Author SHA1 Message Date
Mike Fricker
65e7557229 [INTEGRATE] Compile times: Working on eliminating <Module>Classes.h header files
- 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]
2015-09-10 08:48:03 -04:00
Marc Audy
d25958e352 Use SizeSquared comparisons instead of Size where trivially replaceable
[CL 2681970 by Marc Audy in Main branch]
2015-09-06 12:42:18 -04:00
Richard TalbotWatkin
e8f5b12e09 Fixed issue with automatic pivot offset when editing brushes.
#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]
2015-08-21 09:54:19 -04:00
Richard TalbotWatkin
9771f61759 Added facility to automatically adjust the pivot offset for Brushes when they are edited in Geometry Mode, so the pivot stays centered on the vertices.
#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]
2015-07-27 12:49:14 -04:00
Richard TalbotWatkin
6f55d19959 Deprecated BrushComponent PrePivot. Replacement is a generic pivot offset property on AActor which is used when positioning the pivot for selected actors in the editor. Improved viewport click handling.
#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]
2015-07-07 03:41:52 -04:00
Richard TalbotWatkin
d197407b42 Major optimizations to the BSP building process, and BSP Undo.
#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]
2015-06-25 09:42:17 -04:00
Richard TalbotWatkin
f0f2e3a870 Geometry Optimize operation first performs a triangulation so that it works correctly.
#jira UE-16416 - Sometimes you have to fully triangulate a brush before optimizing it.

[CL 2596972 by Richard TalbotWatkin in Main branch]
2015-06-23 09:43:20 -04:00
Richard TalbotWatkin
59cb41684d Fixed undo in Geometry Mode so that the geometry selection state is correctly restored.
#jira UE-981 - Undoing a brush edit will deselect any selected sub-elements of the brush

[CL 2595915 by Richard TalbotWatkin in Main branch]
2015-06-22 15:05:22 -04:00
Matt Kuhlenschmidt
bd4f2b6f2a Fix BSP not rebuilding in some cases
https://jira.ol.epicgames.net/browse/UE-13720
https://jira.ol.epicgames.net/browse/UE-13849

[CL 2514346 by Matt Kuhlenschmidt in Main branch]
2015-04-16 11:45:01 -04:00
Matt Kuhlenschmidt
5420992119 Made BSP hit proxies use weak pointers to avoid stale data still in the hit proxy buffers when BSP geometry is recreated
[CL 2500341 by Matt Kuhlenschmidt in Main branch]
2015-04-02 16:34:30 -04:00
Richard TalbotWatkin
46bd61cb51 Fixed bugs in the Brush Clip tool.
#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]
2015-04-01 14:56:26 -04:00
Mike Fricker
114458bf0f Clang warning fixes: Fixed missing 'override' specifiers
- Also removed some unreferenced functions that adding 'override' revealed

PR #1002 -- Thank you, Omar007!

[CL 2498415 by Mike Fricker in Main branch]
2015-04-01 07:20:55 -04:00
Zak Middleton
50daf8b396 #ue4 - Perf: Convert some uses of GetActorRotation() to GetActorQuat() where possible. Use FQuatRotationMatrix rather than FRotationMatrix where possible.
- 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]
2015-03-31 18:56:31 -04:00
Jaroslaw Palczynski
28fc7695a0 Missing chages for 2481343.
Some P4V problem with backing out large changelist missed some files.

#codereview Robert.Manuszewski

[CL 2481366 by Jaroslaw Palczynski in Main branch]
2015-03-17 06:17:32 -04:00
Jaroslaw Palczynski
f23f29257b Back out changelist 2481333
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]
2015-03-17 05:38:32 -04:00
Jaroslaw Palczynski
fa31560e2d Enabled UHT to digest GENERATED_BODY instead of GENERATED_UCLASS_BODY, GENERATED_USTRUCT_BODY, GENERATED_UINTERFACE_BODY or GENERATED_IINTERFACE_BODY, changed every occurence to the new syntax and fixed every warning that have fallen out of this change.
#codereview Robert.Manuszewski

[CL 2481333 by Jaroslaw Palczynski in Main branch]
2015-03-17 05:19:11 -04:00
Richard TalbotWatkin
ade33c7e7d Added ToolTip text to the various geometry modifier widgets.
#jira UE-8828 - No tooltips for Geometry Editing buttons

[CL 2450198 by Richard TalbotWatkin in Main branch]
2015-02-18 10:58:17 -05:00
Richard TalbotWatkin
f02e7dbbed Fixed edit/extrude BSP operation with multiply selected brushes. Also fixed scale for the limited case that there is exactly one surface selected.
#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]
2015-02-09 12:06:26 -05:00
Mikolaj Sieluzycki
fa01cacb6c Trim down the amount of UObject constructors.
#codereview Robert.Manuszewski

[CL 2429641 by Mikolaj Sieluzycki in Main branch]
2015-02-03 05:40:57 -05:00
Richard TalbotWatkin
e269280233 Fixed crash when attempting to turn an edge in Geometry Mode whose associated polys are coincident.
#jira UE-7210 - Crash occurs when selecting turn on a BSP edge that only has one triangle

[CL 2427865 by Richard TalbotWatkin in Main branch]
2015-02-02 03:30:06 -05:00
Robert Manuszewski
e56a5b49ee Deprecating 'operator new' for UObjects.
[CL 2425600 by Robert Manuszewski in Main branch]
2015-01-30 08:30:03 -05:00
Richard TalbotWatkin
d2d22eabb2 Fixed assert when building a brush with a spiral arrangement of vertices.
#jira UE-1430 - CRITICAL: Regression: CRASH: pressing enter to close geometry made with Pen tool

[CL 2403501 by Richard TalbotWatkin in Main branch]
2015-01-12 11:19:13 -05:00
Nick Darnell
90e793745c Slate - ESlateCheckBoxState has been renamed to ECheckBoxState.
[CL 2384008 by Nick Darnell in Main branch]
2014-12-10 14:24:09 -05:00
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Michael Noland
8fadce6378 Engine: Replace some color literals with FColor / FColorList entries
[CL 2378046 by Michael Noland in Main branch]
2014-12-05 15:03:26 -05:00