Files
UnrealEngineUWP/Engine/Source/Developer/MovieSceneTools/Private/TransformTrackEditor.h
Ben Marsh 149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00

57 lines
1.8 KiB
C++

// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "MovieScene3DTransformTrack.h"
/**
* Tools for animatable transforms
*/
class F3DTransformTrackEditor : public FMovieSceneTrackEditor
{
public:
/**
* Constructor
*
* @param InSequencer The sequencer instance to be used by this tool
*/
F3DTransformTrackEditor( TSharedRef<ISequencer> InSequencer );
~F3DTransformTrackEditor();
/**
* Creates an instance of this class. Called by a sequencer
*
* @param OwningSequencer The sequencer instance to be used by this tool
* @return The new instance of this class
*/
static TSharedRef<FMovieSceneTrackEditor> CreateTrackEditor( TSharedRef<ISequencer> OwningSequencer );
/** FMovieSceneTrackEditor Interface */
virtual bool SupportsType( TSubclassOf<UMovieSceneTrack> Type ) const override;
virtual TSharedRef<ISequencerSection> MakeSectionInterface( UMovieSceneSection& SectionObject, UMovieSceneTrack* Track ) override;
virtual void AddKey( const FGuid& ObjectGuid, UObject* AdditionalAsset = NULL ) override;
private:
/**
* Called before an actor or component transform changes
*
* @param Object The object whose transform is about to change
*/
void OnPreTransformChanged( UObject& InObject );
/**
* Called when an actor or component transform changes
*
* @param Object The object whose transform has changed
*/
void OnTransformChanged( UObject& InObject );
/** Delegate for animatable property changed in OnTransformChanged */
void OnTransformChangedInternals(float KeyTime, UObject* InObject, FGuid ObjectHandle, struct FTransformDataPair TransformPair, bool bAutoKeying);
private:
/** Mapping of objects to their existing transform data (for comparing against new transform data) */
TMap< TWeakObjectPtr<UObject>, FTransformData > ObjectToExistingTransform;
};