Files
UnrealEngineUWP/Engine/Source/Developer/LogVisualizer/Private/VisualLoggerRenderingActor.h
sebastian kowalczyk 49aba11ae5 Optimizations to Visual Logger edytor tool:
Much faster filters due to Async framework, it's paraller now,
Optimizations to items rendered on sequencer,
Optimization to graphs rendered on canvas,
Changed as much as possible to event driven flot, to update data only when needed.

[CL 2670708 by sebastian kowalczyk in Main branch]
2015-08-27 05:21:28 -04:00

63 lines
1.7 KiB
C++

// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "DebugRenderSceneProxy.h"
#include "VisualLoggerRenderingActor.generated.h"
/**
* Transient actor used to draw visual logger data on level
*/
DECLARE_MULTICAST_DELEGATE_OneParam(FOnSelectionChanged, class AActor*);
UCLASS(config = Engine, NotBlueprintable, Transient)
class LOGVISUALIZER_API AVisualLoggerRenderingActor : public AActor
{
struct FTimelineDebugShapes
{
TArray<FDebugRenderSceneProxy::FDebugLine> Lines;
TArray<FDebugRenderSceneProxy::FCone> Cones;
TArray<FDebugRenderSceneProxy::FDebugBox> Boxes;
TArray<FDebugRenderSceneProxy::FSphere> Points;
TArray<FDebugRenderSceneProxy::FMesh> Meshes;
TArray<FDebugRenderSceneProxy::FText3d> Texts;
TArray<FDebugRenderSceneProxy::FWireCylinder> Cylinders;
TArray<FDebugRenderSceneProxy::FCapsule> Capsles;
TArray<FVector> LogEntriesPath;
void Reset()
{
Lines.Reset();
Cones.Reset();
Boxes.Reset();
Points.Reset();
Meshes.Reset();
Texts.Reset();
Cylinders.Reset();
Capsles.Reset();
LogEntriesPath.Reset();
}
};
public:
GENERATED_UCLASS_BODY()
virtual ~AVisualLoggerRenderingActor();
void ResetRendering();
void ObjectSelectionChanged(const TArray<FName>& Selection);
void OnItemSelectionChanged(const FVisualLoggerDBRow& BDRow, int32 ItemIndex);
private:
void AddDebugRendering();
void GetDebugShapes(const FVisualLogDevice::FVisualLogEntryItem& EntryItem, FTimelineDebugShapes& DebugShapes);
void OnFiltersChanged();
public:
UPrimitiveComponent* RenderingComponent;
//FTimelineDebugShapes PrimaryDebugShapes;
FTimelineDebugShapes TestDebugShapes;
TArray<FName> CachedRowSelection;
TMap<FName, FTimelineDebugShapes> DebugShapesPerRow;
};