UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MultiSizeIndexContainer.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "RawIndexBuffer.h"
6
12
18{
19public:
21 : DataTypeSize(sizeof(uint16))
22 , IndexBuffer(NULL)
23 {
24 }
25
27
31 ENGINE_API void SetOwnerName(const FName& OwnerName);
32
36 void InitResources();
37
41 void ReleaseResources();
42
49 ENGINE_API void Serialize(FArchive& Ar, bool bNeedsCPUAccess);
50
51 void SerializeMetaData(FArchive& Ar, bool bNeedsCPUAccess);
52
56 ENGINE_API void CreateIndexBuffer(uint8 DataTypeSize);
57
62
67
72
73 bool IsIndexBufferValid() const { return IndexBuffer != NULL; }
74
78 uint8 GetDataTypeSize() const { return DataTypeSize; }
80 {
81 check(IndexBuffer != NULL);
82 return IndexBuffer;
83 }
85 {
86 check(IndexBuffer != NULL);
87 return IndexBuffer;
88 }
89
90#if WITH_EDITOR
95
98#endif
99
101
103
106
107private:
109 uint8 DataTypeSize;
112};
#define NULL
Definition oodle2base.h:134
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
uint8_t uint8
Definition binka_ue_file_header.h:8
uint16_t uint16
Definition binka_ue_file_header.h:7
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Archive.h:1208
Definition MultiSizeIndexContainer.h:18
uint8 GetDataTypeSize() const
Definition MultiSizeIndexContainer.h:78
ENGINE_API void CreateIndexBuffer(uint8 DataTypeSize)
Definition MultiSizeIndexContainer.cpp:53
friend FArchive & operator<<(FArchive &Ar, FMultiSizeIndexContainer &Buffer)
void InitResources()
Definition MultiSizeIndexContainer.cpp:29
ENGINE_API void SetOwnerName(const FName &OwnerName)
Definition MultiSizeIndexContainer.cpp:17
void SerializeMetaData(FArchive &Ar, bool bNeedsCPUAccess)
Definition MultiSizeIndexContainer.cpp:178
const FRawStaticIndexBuffer16or32Interface * GetIndexBuffer() const
Definition MultiSizeIndexContainer.h:84
void ReleaseRHIForStreaming(FRHIResourceReplaceBatcher &Batcher)
Definition MultiSizeIndexContainer.cpp:229
void ReleaseResources()
Definition MultiSizeIndexContainer.cpp:41
bool IsIndexBufferValid() const
Definition MultiSizeIndexContainer.h:73
ENGINE_API void CopyIndexBuffer(const TArray< uint32 > &NewArray)
Definition MultiSizeIndexContainer.cpp:115
ENGINE_API ~FMultiSizeIndexContainer()
Definition MultiSizeIndexContainer.cpp:9
FRawStaticIndexBuffer16or32Interface * GetIndexBuffer()
Definition MultiSizeIndexContainer.h:79
ENGINE_API void RebuildIndexBuffer(uint8 InDataTypeSize, const TArray< uint32 > &NewArray)
Definition MultiSizeIndexContainer.cpp:73
ENGINE_API FBufferRHIRef CreateRHIBuffer(FRHICommandListBase &RHICmdList)
Definition MultiSizeIndexContainer.cpp:197
void InitRHIForStreaming(FRHIBuffer *IntermediateBuffer, FRHIResourceReplaceBatcher &Batcher)
Definition MultiSizeIndexContainer.cpp:213
FMultiSizeIndexContainer()
Definition MultiSizeIndexContainer.h:20
Definition NameTypes.h:617
Definition RHIResources.h:1581
Definition RHICommandList.h:455
Definition RHIResourceReplace.h:55
Definition RawIndexBuffer.h:326
Definition Array.h:670
Definition MultiSizeIndexContainer.h:8
TArray< uint32 > Indices
Definition MultiSizeIndexContainer.h:9
uint32 DataTypeSize
Definition MultiSizeIndexContainer.h:10