51 lines
1.5 KiB
C++
51 lines
1.5 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "EdMode.h"
|
|
|
|
|
|
namespace UE::PoseSearch
|
|
{
|
|
class FDatabaseViewModel;
|
|
|
|
class FDatabaseEdMode : public FEdMode
|
|
{
|
|
public:
|
|
|
|
const static FEditorModeID EdModeId;
|
|
|
|
FDatabaseEdMode();
|
|
virtual ~FDatabaseEdMode();
|
|
|
|
virtual void Tick(FEditorViewportClient* ViewportClient, float DeltaTime) override;
|
|
virtual void Render(const FSceneView* View, FViewport* Viewport, FPrimitiveDrawInterface* PDI) override;
|
|
virtual bool HandleClick(
|
|
FEditorViewportClient* InViewportClient,
|
|
HHitProxy* HitProxy,
|
|
const FViewportClick& Click) override;
|
|
virtual bool StartTracking(FEditorViewportClient* InViewportClient, FViewport* InViewport) override;
|
|
virtual bool EndTracking(FEditorViewportClient* InViewportClient, FViewport* InViewport) override;
|
|
virtual bool InputDelta(
|
|
FEditorViewportClient* InViewportClient,
|
|
FViewport* InViewport,
|
|
FVector& InDrag,
|
|
FRotator& InRot,
|
|
FVector& InScale) override;
|
|
virtual bool InputKey(
|
|
FEditorViewportClient* ViewportClient,
|
|
FViewport* Viewport,
|
|
FKey Key,
|
|
EInputEvent Event) override;
|
|
virtual bool AllowWidgetMove() override;
|
|
virtual bool ShouldDrawWidget() const override;
|
|
virtual FVector GetWidgetLocation() const override;
|
|
virtual bool GetCustomDrawingCoordinateSystem(FMatrix& InMatrix, void* InData) override;
|
|
virtual bool GetCustomInputCoordinateSystem(FMatrix& InMatrix, void* InData) override;
|
|
|
|
private:
|
|
FDatabaseViewModel* ViewModel = nullptr;
|
|
};
|
|
}
|