Commit Graph

10 Commits

Author SHA1 Message Date
Richard TalbotWatkin
21f4bd5f3f Miscellaneous improvements to SplineComponentVisualizer.
#ttp 341724 - FEATURE REQUEST: PAPER2D: Add or insert a key into a terrain spline
#ttp 341720 - FEATURE REQUEST: PAPER2D: Rename Key on terrain splines
#ttp 341378 - Spline Component/Meshs: Controls points only editable in worldspace. no localpace transformation
#reviewedby James.Golding

[CL 2228433 by Richard TalbotWatkin in Main branch]
2014-07-23 09:40:19 -04:00
Richard TalbotWatkin
8515ee0486 Further SplineComponent improvements:
- Changed USplineComponent::SplineReparamTable to a transient member and force rebuild each time in PostLoad() / PostDuplicate().
- Initialize the SplineReparamTable size at the start to save needless reallocations (as its size is known from the beginning).
- Added menu options to set spline key types (curve, linear, constant)
- Added Reset to Automatic Tangent to allow resetting to either a clamped or an unclamped tangent.
#branch UE4
#proj Runtime.Engine, Editor.ComponentVisualizers
#reviewedby James.Golding, Michael.Noland

[CL 2119717 by Richard TalbotWatkin in Main branch]
2014-06-27 14:18:10 -04:00
Andrew Rodham
ba3528c9d4 Made it possible for asset editors to maintain their own FEditorModeTools lists
Breaking changes include:
    * Rename of GEditorModeTools -> GLevelEditorModeTools to signify that it applies only to the level editor modes
    * Addition of FEditorModeRegistry, responsible for managing and creating new editor modes. Modes are no longer registered with an instance of the mode, instead with a mode factory that is able to create a new mode of that type.
    * Editor modes now operate on FEditorViewportClients rather than FLevelEditorViewportClients
    * Added ability to specify an FEditorModeTools when creating an FEditorViewport

Moved component vizualiser manager handling outside of individual editor modes, and into FLevelEditorViewportClient. This should make it easier to transplant in future.

This work addresses TTP#334640 - EDITOR: Investigate making editor modes a per-'editor' concept

Reviewed by Michael Noland, Matt Kuhlenschmidt

[CL 2109245 by Andrew Rodham in Main branch]
2014-06-18 10:16:16 -04:00
Jaroslaw Palczynski
ebce413232 UE4 Refactoring. Changed OVERRIDE and FINAL macros to keywords override and final.
[CL 2104397 by Jaroslaw Palczynski in Main branch]
2014-06-13 06:14:46 -04:00
Michael Noland
4e77d916bf Editor: Splines now trigger a PostEditChangeProperty on the component when modified via the component visualizer
#codereview james.golding

[CL 2101367 by Michael Noland in Main branch]
2014-06-11 00:20:55 -04:00
Richard TalbotWatkin
2647b4ead2 Improvements to SplineComponent and its visualization.
#branch UE4
#proj Editor.ComponentVisualizers, Editor.UnrealEd, Runtime.Core, Runtime.Engine
#change FInterpCurve now uses a binary search to obtain the correct key. Removed the optional out-parameter on Eval, EvalDerivative, etc. Removed  FORCEINLINEs on large methods.
#change USplineComponent now builds the remap table with points spaced at equal distances, which leads to better results.  Added internal methods to obtain the segment length, and the interpolation parameter along the segment at a given distance.
#add Added Duration to USplineComponent.
#add Added a number of different methods for obtaining position, tangent and rotation at a specified distance, or a specified time (optionally at constant velocity).
#add Added methods for building the spline procedurally.
#add Supports right-click context menu on ComponentVisualizers in the standard interface.
#add Key tangents can be manually edited.
#change FLevelEditorViewportClient::ProcessClick now handles right clicks to the Unreal gizmo in the same manner as left clicks, i.e. the method recurses using a version of the hit proxy with the gizmo removed, so we can look at what's underneath.  This allows for "genuine" context menus, i.e. depending on what was clicked, instead of using a single default provided by the current level editor.
#reviewedby James.Golding

[CL 2089561 by Richard TalbotWatkin in Main branch]
2014-05-30 07:58:16 -04:00
James Golding
c40b9970b8 Refactor active visualizer logic into ComponentVisualizerManager struct
[CL 2079152 by James Golding in Main branch]
2014-05-20 13:39:35 -04:00
James Golding
3833381459 Pass FComponentInstanceDataCache into OnConstruction, allowing us to apply data before running UCS
Remove ComponentInstanceDataCache.h from ActorComponent.h
Remove SplineComponent.h from Engine.h
Change splinecomp funcs to get get location/direction at point on spline to be world space (and normalized direction vector)
Update reparam table when editing spline
#codereview marc.audy

[CL 2077607 by James Golding in Main branch]
2014-05-19 09:42:46 -04:00
James Golding
85206f3f5b Initial checkin for editor functionality in ComponentVisualizers
Simplified SplineComponent, now a SceneComponent not a PrimitiveComponent
Added support for persisting SplineComp state across CS re-run
SplineComponentVisualizer editing started

[CL 2075479 by James Golding in Main branch]
2014-05-16 09:37:22 -04:00
Tim Sweeney
324683ce78 Engine source (Main branch up to CL 2026164) 2014-03-14 14:13:41 -04:00