UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FStaticMeshStreamIn_IO Class Reference

#include <StaticMeshUpdate.h>

+ Inheritance diagram for FStaticMeshStreamIn_IO:

Classes

class  FCancelIORequestsTask
 

Public Member Functions

 FStaticMeshStreamIn_IO (const UStaticMesh *InMesh, bool bHighPrio, EThreadType CreateResourcesThread)
 
virtual ~FStaticMeshStreamIn_IO ()
 
virtual void Abort () override
 
- Public Member Functions inherited from FStaticMeshStreamIn
 FStaticMeshStreamIn (const UStaticMesh *InMesh, EThreadType CreateResourcesThread)
 
virtual ~FStaticMeshStreamIn ()
 
- Public Member Functions inherited from FStaticMeshUpdate
 FStaticMeshUpdate (const UStaticMesh *InMesh)
 
- Public Member Functions inherited from TRenderAssetUpdate< FStaticMeshUpdateContext >
 TRenderAssetUpdate (const UStreamableRenderAsset *InAsset)
 
void PushTask (const FContext &Context, EThreadType InTaskThread, const FCallback &InTaskCallback, EThreadType InCancelationThread, const FCallback &InCancelationCallback)
 
EThreadType GetRelevantThread () const final override
 
- Public Member Functions inherited from FRenderAssetUpdate
UE_API FRenderAssetUpdate (const UStreamableRenderAsset *InAsset)
 
UE_API void Tick (EThreadType InCurrentThread)
 
bool IsCompleted () const
 
virtual bool CanAbandon () const
 
virtual void OnAbandoned ()
 
bool IsCancelled () const
 
bool IsSuccessfullyFinished () const
 
UE_API ETaskState DoLock ()
 
UE_API void DoUnlock (ETaskState PreviousTaskState)
 
bool IsLocked () const
 
FReturnedRefCountValue AddRef () const final override
 
UE_API uint32 Release () const final override
 
uint32 GetRefCount () const final override
 
- Public Member Functions inherited from IRefCountedObject
virtual ~IRefCountedObject ()
 

Protected Types

typedef FAutoDeleteAsyncTask< FCancelIORequestsTaskFAsyncCancelIORequestsTask
 
- Protected Types inherited from FRenderAssetUpdate
typedef FAutoDeleteAsyncTask< FMipUpdateTaskFAsyncMipUpdateTask
 

Protected Member Functions

void SetIORequest (const FContext &Context)
 
void ClearIORequest (const FContext &Context)
 
void ReportIOError (const FContext &Context)
 
void SerializeLODData (const FContext &Context)
 
void Cancel (const FContext &Context)
 
void CancelIORequest ()
 
void DoInitiateIO (const FContext &Context)
 
void DoSerializeLODData (const FContext &Context)
 
void DoCreateBuffers (const FContext &Context)
 
void DoCancelIO (const FContext &Context)
 
- Protected Member Functions inherited from FStaticMeshStreamIn
void CreateBuffers (const FContext &Context)
 
void DiscardNewLODs (const FContext &Context)
 
void DoFinishUpdate (const FContext &Context)
 
void DoCancel (const FContext &Context)
 
- Protected Member Functions inherited from FStaticMeshUpdate
virtual ~FStaticMeshUpdate ()
 
- Protected Member Functions inherited from TRenderAssetUpdate< FStaticMeshUpdateContext >
ETaskState TickInternal (EThreadType InCurrentThread, bool bCheckForSuspension) final override
 
void ClearCallbacks ()
 
- Protected Member Functions inherited from FRenderAssetUpdate
virtual UE_API ~FRenderAssetUpdate ()
 
void MarkAsCancelled ()
 
void MarkAsSuccessfullyFinished ()
 
UE_API void ScheduleGTTask ()
 
UE_API void ScheduleRenderTask ()
 
UE_API void ScheduleAsyncTask ()
 

Protected Attributes

FBulkDataBatchRequest BulkDataRequest
 
FIoBuffer BulkData
 
bool bHighPrioIORequest
 
bool bFailedOnIOError = false
 
- Protected Attributes inherited from FStaticMeshStreamIn
FIntermediateBuffers IntermediateBuffersArray [MAX_MESH_LOD_COUNT]
 
FRHICommandListStreamingRHICmdList = nullptr
 
const EThreadType CreateResourcesThread
 
- Protected Attributes inherited from TRenderAssetUpdate< FStaticMeshUpdateContext >
EThreadType TaskThread
 
FCallback TaskCallback
 
EThreadType CancelationThread
 
FCallback CancelationCallback
 
- Protected Attributes inherited from FRenderAssetUpdate
const FStreamableRenderResourceState ResourceState
 
const int32 CurrentFirstLODIdx = INDEX_NONE
 
const int32 PendingFirstLODIdx = INDEX_NONE
 
FCriticalSection CS
 
int32 ScheduledGTTasks
 
int32 ScheduledRenderTasks
 
int32 ScheduledAsyncTasks
 
const UStreamableRenderAssetStreamableAsset = nullptr
 
FThreadSafeCounter TaskSynchronization
 
bool bIsCancelled
 
bool bDeferExecution
 
bool bSuccess
 
volatile ETaskState TaskState
 

Friends

class FCancelIORequestsTask
 

Additional Inherited Members

- Public Types inherited from TRenderAssetUpdate< FStaticMeshUpdateContext >
typedef FStaticMeshUpdateContext FContext
 
typedef TFunction< void(const FContext &Context)> FCallback
 
- Public Types inherited from FRenderAssetUpdate
enum  EThreadType {
  TT_None , TT_Render , TT_Async , TT_GameThread ,
  TT_GameRunningAsync
}
 
enum  ETaskState {
  TS_Done , TS_Suspended , TS_InProgress , TS_Locked ,
  TS_Init
}
 

Member Typedef Documentation

◆ FAsyncCancelIORequestsTask

Constructor & Destructor Documentation

◆ FStaticMeshStreamIn_IO()

FStaticMeshStreamIn_IO::FStaticMeshStreamIn_IO ( const UStaticMesh InMesh,
bool  bHighPrio,
EThreadType  CreateResourcesThread 
)

◆ ~FStaticMeshStreamIn_IO()

virtual FStaticMeshStreamIn_IO::~FStaticMeshStreamIn_IO ( )
inlinevirtual

Member Function Documentation

◆ Abort()

void FStaticMeshStreamIn_IO::Abort ( )
overridevirtual

Cancel the current update. Will also attempt to cancel pending IO requests, see FTexture2DStreamIn_IO::Abort(). This is called outside of the update loop when a cancelation is required for external events.

Reimplemented from FStaticMeshUpdate.

◆ Cancel()

void FStaticMeshStreamIn_IO::Cancel ( const FContext Context)
protected

Cancel and report IO error

◆ CancelIORequest()

void FStaticMeshStreamIn_IO::CancelIORequest ( )
protected

Called by FAsyncCancelIORequestsTask to cancel inflight IO request if any

◆ ClearIORequest()

void FStaticMeshStreamIn_IO::ClearIORequest ( const FContext Context)
protected

Release IORequest and IOFileHandle. IORequest will be cancelled if still inflight

◆ DoCancelIO()

void FStaticMeshStreamIn_IO::DoCancelIO ( const FContext Context)
protected

◆ DoCreateBuffers()

void FStaticMeshStreamIn_IO::DoCreateBuffers ( const FContext Context)
protected

◆ DoInitiateIO()

void FStaticMeshStreamIn_IO::DoInitiateIO ( const FContext Context)
protected

◆ DoSerializeLODData()

void FStaticMeshStreamIn_IO::DoSerializeLODData ( const FContext Context)
protected

◆ ReportIOError()

void FStaticMeshStreamIn_IO::ReportIOError ( const FContext Context)
protected

Report IO errors if any.

◆ SerializeLODData()

void FStaticMeshStreamIn_IO::SerializeLODData ( const FContext Context)
protected

Serialize data of new LODs to corresponding FStaticMeshLODResources

◆ SetIORequest()

void FStaticMeshStreamIn_IO::SetIORequest ( const FContext Context)
protected

Create a new async IO request to read in LOD data

Friends And Related Symbol Documentation

◆ FCancelIORequestsTask

Member Data Documentation

◆ bFailedOnIOError

bool FStaticMeshStreamIn_IO::bFailedOnIOError = false
protected

◆ bHighPrioIORequest

bool FStaticMeshStreamIn_IO::bHighPrioIORequest
protected

◆ BulkData

FIoBuffer FStaticMeshStreamIn_IO::BulkData
protected

Bulk data I/O buffer

◆ BulkDataRequest

FBulkDataBatchRequest FStaticMeshStreamIn_IO::BulkDataRequest
protected

Handle to bulk data request


The documentation for this class was generated from the following files: