Files
UnrealEngineUWP/Engine/Source/Runtime/MovieSceneTracks/Private/Systems/MovieSceneDoublePropertySystem.cpp
ludovic chabant c5bbb72e4f Sequencer: Large world coordinates support
- Add support for double precision channels, curves, evaluation, blending, and all other runtime infrastructure.
- Note that, as usual for now, double channels load and save float values.
- Editor side also gains some new track editors for these new types, with some workarounds to correctly recognize between float and double vectors.
- Transform tracks are now operating entirely in doubles.
- Float recomposing APIs for keying tracks in the editor are now using doubles, and have been renamed to "value recomposing".

#rb max.chen
#preflight 6123f6d9e7a3070001ff37ed

[CL 17278174 by ludovic chabant in ue5-main branch]
2021-08-23 18:25:30 -04:00

28 lines
953 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "Systems/MovieSceneDoublePropertySystem.h"
#include "Systems/DoubleChannelEvaluatorSystem.h"
#include "Systems/MovieScenePiecewiseDoubleBlenderSystem.h"
#include "MovieSceneTracksComponentTypes.h"
UMovieSceneDoublePropertySystem::UMovieSceneDoublePropertySystem(const FObjectInitializer& ObjInit)
: Super(ObjInit)
{
SystemExclusionContext |= UE::MovieScene::EEntitySystemContext::Interrogation;
BindToProperty(UE::MovieScene::FMovieSceneTracksComponentTypes::Get()->Double);
if (HasAnyFlags(RF_ClassDefaultObject))
{
DefineImplicitPrerequisite(UMovieScenePiecewiseDoubleBlenderSystem::StaticClass(), GetClass());
DefineImplicitPrerequisite(UDoubleChannelEvaluatorSystem::StaticClass(), GetClass());
}
}
void UMovieSceneDoublePropertySystem::OnRun(FSystemTaskPrerequisites& InPrerequisites, FSystemSubsequentTasks& Subsequents)
{
Super::OnRun(InPrerequisites, Subsequents);
}