You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
* Ran IWYU on ~170 plugins to remove includes not needed. Public api still keep old includes inside #if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_2 #preflight 63d09351574ab9cae4670216 #rb none [CL 23844750 by henrik karlsson in ue5-main branch]
107 lines
3.5 KiB
C++
107 lines
3.5 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "ISequencerSection.h"
|
|
#include "MovieSceneTrackEditor.h"
|
|
|
|
struct FBuildEditWidgetParams;
|
|
|
|
struct FAssetData;
|
|
class FMenuBuilder;
|
|
class FSequencerSectionPainter;
|
|
class UMovieSceneGeometryCacheSection;
|
|
class UMovieSceneSequence;
|
|
class UGeometryCacheComponent;
|
|
|
|
/**
|
|
* Tools for Geometry Cache tracks
|
|
*/
|
|
class GEOMETRYCACHESEQUENCER_API FGeometryCacheTrackEditor : public FMovieSceneTrackEditor
|
|
{
|
|
public:
|
|
/**
|
|
* Constructor
|
|
*
|
|
* @param InSequencer The sequencer instance to be used by this tool
|
|
*/
|
|
FGeometryCacheTrackEditor( TSharedRef<ISequencer> InSequencer );
|
|
|
|
/** Virtual destructor. */
|
|
virtual ~FGeometryCacheTrackEditor() { }
|
|
|
|
/**
|
|
* 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<ISequencerTrackEditor> CreateTrackEditor( TSharedRef<ISequencer> OwningSequencer );
|
|
|
|
public:
|
|
|
|
// ISequencerTrackEditor interface
|
|
virtual void BuildObjectBindingTrackMenu(FMenuBuilder& MenuBuilder, const TArray<FGuid>& ObjectBindings, const UClass* ObjectClass) override;
|
|
virtual TSharedRef<ISequencerSection> MakeSectionInterface( UMovieSceneSection& SectionObject, UMovieSceneTrack& Track, FGuid ObjectBinding ) override;
|
|
virtual bool SupportsSequence(UMovieSceneSequence* InSequence) const override;
|
|
virtual bool SupportsType( TSubclassOf<UMovieSceneTrack> Type ) const override;
|
|
virtual TSharedPtr<SWidget> BuildOutlinerEditWidget(const FGuid& ObjectBinding, UMovieSceneTrack* Track, const FBuildEditWidgetParams& Params) override;
|
|
virtual const FSlateBrush* GetIconBrush() const override;
|
|
|
|
private:
|
|
|
|
void BuildGeometryCacheTrack(TArray<FGuid> ObjectBindings, UMovieSceneTrack* Track);
|
|
|
|
/** Delegate for AnimatablePropertyChanged in AddKey */
|
|
FKeyPropertyResult AddKeyInternal(FFrameNumber KeyTime, UObject* Object, UGeometryCacheComponent* GeomCacheComp, UMovieSceneTrack* Track);
|
|
};
|
|
|
|
|
|
/** Class for animation sections */
|
|
class FGeometryCacheSection
|
|
: public ISequencerSection
|
|
, public TSharedFromThis<FGeometryCacheSection>
|
|
{
|
|
public:
|
|
|
|
/** Constructor. */
|
|
FGeometryCacheSection( UMovieSceneSection& InSection, TWeakPtr<ISequencer> InSequencer);
|
|
|
|
/** Virtual destructor. */
|
|
virtual ~FGeometryCacheSection() { }
|
|
|
|
public:
|
|
|
|
// ISequencerSection interface
|
|
|
|
virtual UMovieSceneSection* GetSectionObject() override;
|
|
virtual FText GetSectionTitle() const override;
|
|
virtual float GetSectionHeight() const override;
|
|
virtual int32 OnPaintSection( FSequencerSectionPainter& Painter ) const override;
|
|
virtual void BeginResizeSection() override;
|
|
virtual void ResizeSection(ESequencerSectionResizeMode ResizeMode, FFrameNumber ResizeTime) override;
|
|
virtual void BeginSlipSection() override;
|
|
virtual void SlipSection(FFrameNumber SlipTime) override;
|
|
virtual void BeginDilateSection() override;
|
|
virtual void DilateSection(const TRange<FFrameNumber>& NewRange, float DilationFactor) override;
|
|
|
|
|
|
private:
|
|
|
|
/** The section we are visualizing */
|
|
UMovieSceneGeometryCacheSection& Section;
|
|
|
|
/** Used to draw animation frame, need selection state and local time*/
|
|
TWeakPtr<ISequencer> Sequencer;
|
|
|
|
/** Cached first loop start offset value valid only during resize */
|
|
FFrameNumber InitialFirstLoopStartOffsetDuringResize;
|
|
|
|
/** Cached start time valid only during resize */
|
|
FFrameNumber InitialStartTimeDuringResize;
|
|
};
|
|
|
|
#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_2
|
|
#include "CoreMinimal.h"
|
|
#endif
|