UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MeshRenderDecomposition.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Containers/Array.h"
6#include "CoreMinimal.h"
7#include "GeometryBase.h"
8#include "HAL/Platform.h"
10
14
20{
21public:
22
23 // Movable
26 // TArray<TUniquePtr> member cannot be default-constructed (in this case we just make it NonCopyable)
30
37
38
41
43 {
44 Groups.SetNum(Count);
45 for (int32 k = 0; k < Count; ++k)
46 {
48 }
49 }
50
52 {
53 int32 N = Groups.Num();
54 Groups.SetNum(N + 1);
56 return N;
57 }
58
59 int32 Num() const
60 {
61 return Groups.Num();
62 }
63
64 bool IsGroup(int32 Index) const
65 {
66 return Groups[Index] != nullptr;
67 }
68
70 {
71 return *Groups[Index];
72 }
73
74 const FGroup& GetGroup(int32 Index) const
75 {
76 return *Groups[Index];
77 }
78
80 {
81 return TriangleToGroupMap[TriangleID];
82 }
83
87 GEOMETRYFRAMEWORK_API void BuildAssociations(const FDynamicMesh3* Mesh);
88
89
94
99 static GEOMETRYFRAMEWORK_API void BuildChunkedDecomposition(const FDynamicMesh3* Mesh, const FComponentMaterialSet* MaterialSet, FMeshRenderDecomposition& Decomp, int32 MaxChunkSize = 1 << 14 /* 16k */ );
100};
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define PREDECLARE_USE_GEOMETRY_CLASS(ClassName)
Definition GeometryBase.h:17
Definition MeshRenderDecomposition.h:20
int32 Num() const
Definition MeshRenderDecomposition.h:59
GEOMETRYFRAMEWORK_API void BuildAssociations(const FDynamicMesh3 *Mesh)
Definition MeshRenderDecomposition.cpp:13
int32 AppendGroup()
Definition MeshRenderDecomposition.h:51
static GEOMETRYFRAMEWORK_API void BuildChunkedDecomposition(const FDynamicMesh3 *Mesh, const FComponentMaterialSet *MaterialSet, FMeshRenderDecomposition &Decomp, int32 MaxChunkSize=1<< 14)
Definition MeshRenderDecomposition.cpp:165
static GEOMETRYFRAMEWORK_API void BuildMaterialDecomposition(const FDynamicMesh3 *Mesh, const FComponentMaterialSet *MaterialSet, FMeshRenderDecomposition &Decomp)
Definition MeshRenderDecomposition.cpp:33
FMeshRenderDecomposition(const FMeshRenderDecomposition &)=delete
int32 GetGroupForTriangle(int32 TriangleID) const
Definition MeshRenderDecomposition.h:79
const FGroup & GetGroup(int32 Index) const
Definition MeshRenderDecomposition.h:74
void Initialize(int32 Count)
Definition MeshRenderDecomposition.h:42
FMeshRenderDecomposition & operator=(const FMeshRenderDecomposition &)=delete
bool IsGroup(int32 Index) const
Definition MeshRenderDecomposition.h:64
FMeshRenderDecomposition()=default
FMeshRenderDecomposition(FMeshRenderDecomposition &&)=default
TArray< TUniquePtr< FGroup > > Groups
Definition MeshRenderDecomposition.h:36
FGroup & GetGroup(int32 Index)
Definition MeshRenderDecomposition.h:69
FMeshRenderDecomposition & operator=(FMeshRenderDecomposition &&)=default
TArray< int32 > TriangleToGroupMap
Definition MeshRenderDecomposition.h:40
Definition Array.h:670
Definition MaterialInterface.h:296
U16 Index
Definition radfft.cpp:71
Definition MaterialProvider.h:16
Definition MeshRenderDecomposition.h:32
UMaterialInterface * Material
Definition MeshRenderDecomposition.h:34
TArray< int32 > Triangles
Definition MeshRenderDecomposition.h:33