Files
UnrealEngineUWP/Engine/Plugins/Runtime/GeometryCache/Source/GeometryCacheStreamer/Public/IGeometryCacheStreamer.h
anousack kitisa 1d22901981 * Moved AlembicImporter and GeometryCache plugins out of experimental.
#jira UETOOL-4055
#rb none
#preflight 61f17bd8be0f0e0a6234afb2

#ROBOMERGE-AUTHOR: anousack.kitisa
#ROBOMERGE-SOURCE: CL 18737179 in //UE5/Release-5.0/... via CL 18737385 via CL 18738249
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18738699 by anousack kitisa in ue5-main branch]
2022-01-26 13:05:26 -05: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;
};