Files
UnrealEngine/Engine/Plugins/Runtime/GeometryCache/Source/GeometryCacheStreamer/Public/IGeometryCacheStreamer.h
Brandyn / Techy fcc1b09210 init
2026-04-04 15:40:51 -05:00

35 lines
1.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "HAL/Platform.h"
#define UE_API GEOMETRYCACHESTREAMER_API
struct FGeometryCacheMeshData;
class IGeometryCacheStream;
class UGeometryCacheTrack;
/** Interface to the GeometryCache Streamer that streams data for registered GeometryCacheTracks */
class IGeometryCacheStreamer
{
public:
static UE_API 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;
};
#undef UE_API