Files
UnrealEngineUWP/Engine/Plugins/Experimental/GeometryCache/Source/GeometryCacheStreamer/Public/IGeometryCacheStreamer.h
Marcus Wassmer 3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00

31 lines
1.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
struct FGeometryCacheMeshData;
class IGeometryCacheStream;
class UGeometryCacheTrack;
/** Interface to the GeometryCache Streamer that streams data for registered GeometryCacheTracks */
class GEOMETRYCACHESTREAMER_API IGeometryCacheStreamer
{
public:
static IGeometryCacheStreamer& Get();
/** Register the given Track and its associated Stream with the Streamer. The Streamer takes ownership of the Stream */
virtual void RegisterTrack(UGeometryCacheTrack* Track, IGeometryCacheStream* Stream) = 0;
/** Unregister the given Track from the Streamer */
virtual void UnregisterTrack(UGeometryCacheTrack* Track) = 0;
/** Return true if the given Track is registered with the Streamer */
virtual bool IsTrackRegistered(UGeometryCacheTrack* Track) const = 0;
/* Get the MeshData for a given Track at given FrameIndex without waiting for data to be ready
* Return true if MeshData could be retrieved
*/
virtual bool TryGetFrameData(UGeometryCacheTrack* Track, int32 FrameIndex, FGeometryCacheMeshData& OutMeshData) = 0;
};