UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MeshIndexMappings.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"
7#include "GeometryTypes.h"
8
9namespace UE
10{
11namespace Geometry
12{
13class FDynamicMesh3;
14
15
22{
23protected:
27
31
32public:
35
37 constexpr int InvalidID() const { return VertexMap.UnmappedID(); }
38
39 void Reset()
40 {
45 for (FIndexMapi& UVMap : UVMaps)
46 {
47 UVMap.Reset();
48 }
50 {
51 NormalMap.Reset();
52 }
53 }
54
56 {
58 }
59
61 const FIndexMapi& GetVertexMap() const { return VertexMap; }
62 inline void SetVertex(int FromID, int ToID) { VertexMap.Add(FromID, ToID); }
63 inline int GetNewVertex(int FromID) const { return VertexMap.GetTo(FromID); }
64 inline bool ContainsVertex(int FromID) const { return VertexMap.ContainsFrom(FromID); }
65
67 const FIndexMapi& GetTriangleMap() const { return TriangleMap; }
69 int GetNewTriangle(int FromID) const { return TriangleMap.GetTo(FromID); }
70 inline bool ContainsTriangle(int FromID) const { return TriangleMap.ContainsFrom(FromID); }
71
73 const FIndexMapi& GetGroupMap() const { return GroupMap; }
74 void SetGroup(int FromID, int ToID) { GroupMap.Add(FromID, ToID); }
75 int GetNewGroup(int FromID) const { return GroupMap.GetTo(FromID); }
76 inline bool ContainsGroup(int FromID) const { return GroupMap.ContainsFrom(FromID); }
77
79 const FIndexMapi& GetUVMap(int UVLayer) const { return UVMaps[UVLayer]; }
80 void SetUV(int UVLayer, int FromID, int ToID) { UVMaps[UVLayer].Add(FromID, ToID); }
81 int GetNewUV(int UVLayer, int FromID) const { return UVMaps[UVLayer].GetTo(FromID); }
82 inline bool ContainsUV(int UVLayer, int FromID) const { return UVMaps[UVLayer].ContainsFrom(FromID); }
83
87 int GetNewNormal(int NormalLayer, int FromID) const { return NormalMaps[NormalLayer].GetTo(FromID); }
88 inline bool ContainsNormal(int NormalLayer, int FromID) const { return NormalMaps[NormalLayer].ContainsFrom(FromID); }
89
91 const FIndexMapi& GetColorMap() const { return ColorMap; }
92 void SetColor( int FromID, int ToID) { ColorMap.Add(FromID, ToID); }
93 int GetNewColor(int FromID) const { return ColorMap.GetTo(FromID); }
94 inline bool ContainsColor(int FromID) const { return ColorMap.ContainsFrom(FromID); }
95
96};
97
98} // end namespace UE::Geometry
99} // end namespace UE
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition Array.h:670
Definition DynamicMesh3.h:108
Definition AdvancedWidgetsModule.cpp:13
Definition MeshIndexMappings.h:22
void SetNormal(int NormalLayer, int FromID, int ToID)
Definition MeshIndexMappings.h:86
int GetNewVertex(int FromID) const
Definition MeshIndexMappings.h:63
void SetVertex(int FromID, int ToID)
Definition MeshIndexMappings.h:62
FIndexMapi & GetUVMap(int UVLayer)
Definition MeshIndexMappings.h:78
bool ContainsTriangle(int FromID) const
Definition MeshIndexMappings.h:70
int GetNewColor(int FromID) const
Definition MeshIndexMappings.h:93
FIndexMapi & GetNormalMap(int NormalLayer)
Definition MeshIndexMappings.h:84
const FIndexMapi & GetNormalMap(int NormalLayer) const
Definition MeshIndexMappings.h:85
void Reset()
Definition MeshIndexMappings.h:39
void SetColor(int FromID, int ToID)
Definition MeshIndexMappings.h:92
int GetNewNormal(int NormalLayer, int FromID) const
Definition MeshIndexMappings.h:87
bool ContainsUV(int UVLayer, int FromID) const
Definition MeshIndexMappings.h:82
void SetUV(int UVLayer, int FromID, int ToID)
Definition MeshIndexMappings.h:80
const FIndexMapi & GetVertexMap() const
Definition MeshIndexMappings.h:61
const FIndexMapi & GetGroupMap() const
Definition MeshIndexMappings.h:73
TArray< FIndexMapi > NormalMaps
Definition MeshIndexMappings.h:30
FIndexMapi TriangleMap
Definition MeshIndexMappings.h:25
int GetNewUV(int UVLayer, int FromID) const
Definition MeshIndexMappings.h:81
const FIndexMapi & GetColorMap() const
Definition MeshIndexMappings.h:91
void SetTriangle(int FromID, int ToID)
Definition MeshIndexMappings.h:68
bool ContainsColor(int FromID) const
Definition MeshIndexMappings.h:94
bool ContainsVertex(int FromID) const
Definition MeshIndexMappings.h:64
bool ContainsGroup(int FromID) const
Definition MeshIndexMappings.h:76
FIndexMapi & GetVertexMap()
Definition MeshIndexMappings.h:60
constexpr int InvalidID() const
Definition MeshIndexMappings.h:37
FIndexMapi & GetColorMap()
Definition MeshIndexMappings.h:90
FIndexMapi ColorMap
Definition MeshIndexMappings.h:28
TArray< FIndexMapi > UVMaps
Definition MeshIndexMappings.h:29
FIndexMapi & GetTriangleMap()
Definition MeshIndexMappings.h:66
FIndexMapi GroupMap
Definition MeshIndexMappings.h:26
FIndexMapi VertexMap
Definition MeshIndexMappings.h:24
FIndexMapi & GetGroupMap()
Definition MeshIndexMappings.h:72
const FIndexMapi & GetTriangleMap() const
Definition MeshIndexMappings.h:67
int GetNewTriangle(int FromID) const
Definition MeshIndexMappings.h:69
const FIndexMapi & GetUVMap(int UVLayer) const
Definition MeshIndexMappings.h:79
void SetGroup(int FromID, int ToID)
Definition MeshIndexMappings.h:74
int GetNewGroup(int FromID) const
Definition MeshIndexMappings.h:75
bool ContainsNormal(int NormalLayer, int FromID) const
Definition MeshIndexMappings.h:88
void ResetTriangleMap()
Definition MeshIndexMappings.h:55
bool ContainsFrom(IntType FromID) const
Definition GeometryTypes.h:134
void Add(IntType FromID, IntType ToID)
Definition GeometryTypes.h:126
void Reset()
Definition GeometryTypes.h:110
IntType GetTo(IntType FromID) const
Definition GeometryTypes.h:151
constexpr IntType UnmappedID() const
Definition GeometryTypes.h:117