// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "Channels/BezierChannelCurveModel.h" #include "Channels/MovieSceneDoubleChannel.h" #include "Containers/ArrayView.h" #include "Templates/SharedPointer.h" #include "Templates/UniquePtr.h" class IBufferedCurveModel; class ISequencer; class UMovieSceneSection; class UObject; struct FKeyHandle; struct FMovieSceneDoubleChannel; struct FMovieSceneDoubleValue; template struct TMovieSceneChannelHandle; class FDoubleChannelCurveModel : public FBezierChannelCurveModel { public: FDoubleChannelCurveModel(TMovieSceneChannelHandle InChannel, UMovieSceneSection* InOwningSection, TWeakPtr InWeakSequencer); FDoubleChannelCurveModel(TMovieSceneChannelHandle InChannel, UMovieSceneSection* InOwningSection, UObject* InOwningObject, TWeakPtr InWeakSequencer); // FCurveModel virtual void CreateKeyProxies(TArrayView InKeyHandles, TArrayView OutObjects) override; virtual TUniquePtr CreateBufferedCurveCopy() const override; virtual void GetValueRange(double& MinValue, double& MaxValue) const override; virtual void GetValueRange(double InMinTime, double InMaxTime, double& MinValue, double& MaxValue) const override; };