Files
henrik karlsson 9a1d5b1ad4 [Engine/Plugins]
* Ran IWYU on ~170 plugins to remove includes not needed. Public api still keep old includes inside #if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_2

#preflight 63d09351574ab9cae4670216
#rb none

[CL 23844750 by henrik karlsson in ue5-main branch]
2023-01-25 02:42:36 -05:00

35 lines
1.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "HAL/Platform.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;
};
#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_2
#include "CoreMinimal.h"
#endif