UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
DatasmithMesh.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "Math/Box.h"
5#include "Math/Color.h"
6#include "Math/Vector2D.h"
7
8#include "Misc/SecureHash.h"
9
10#define UE_API DATASMITHCORE_API
11
12
14{
15public:
18
21
24
25 // Calculate mesh data hash(doesn't include name)
27
28 UE_API void SetName(const TCHAR* InName);
29 UE_API const TCHAR* GetName() const;
30
31 //--------------------------
32 // Faces
33 //--------------------------
35 UE_API void SetFacesCount(int32 NumFaces);
36
39
50
57 UE_API void SetFaceSmoothingMask(int32 Index, uint32 SmoothingMask);
58
65
68
69 //--------------------------
70 // Vertices
71 //--------------------------
74
77
86 UE_API void SetVertex(int32 Index, float X, float Y, float Z);
88
89 //--------------------------
90 // Normals
91 //--------------------------
100 UE_API void SetNormal(int32 Index, float X, float Y, float Z);
102
103 //--------------------------
104 // UVs
105 //--------------------------
112
116 UE_API void AddUVChannel();
117
121 UE_API void RemoveUVChannel();
122
125
132 UE_API void SetUVCount(int32 Channel, int32 NumVerts);
133
135 UE_API int32 GetUVCount(int32 Channel) const;
136
144 UE_API void SetUV(int32 Channel, int32 Index, double U, double V);
145
149 UE_API uint32 GetHashForUVChannel(int32 Channel) const;
150
157 UE_API FVector2D GetUV(int32 Channel, int32 Index) const;
158
169
180
183
191
198
204
207
208 //--------------------------
209 // LODs
210 //--------------------------
211
213 UE_API void AddLOD( const FDatasmithMesh& InLODMesh );
215 UE_API int32 GetLODsCount() const;
216
219 UE_API const FDatasmithMesh* GetLOD( int32 Index ) const;
220
221 //--------------------------
222 // Misc
223 //--------------------------
225 UE_API float ComputeArea() const;
226
228 UE_API FBox3f GetExtents() const;
229
230private:
231 class FDatasmithMeshImpl;
232
234};
235
236#undef UE_API
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
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 UE_API
Definition DatasmithMesh.h:10
#define X(Name, Desc)
Definition FormatStringSan.h:47
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition DatasmithMesh.cpp:35
Definition DatasmithMesh.h:14
UE_API int32 GetVerticesCount() const
Definition DatasmithMesh.cpp:256
UE_API const TCHAR * GetName() const
Definition DatasmithMesh.cpp:181
UE_API int32 GetMaterialsCount() const
Definition DatasmithMesh.cpp:240
UE_API FVector3f GetVertex(int32 Index) const
Definition DatasmithMesh.cpp:273
UE_API ~FDatasmithMesh()
Definition DatasmithMesh.cpp:137
UE_API void SetLightmapSourceUVChannel(int32 Channel)
Definition DatasmithMesh.cpp:517
UE_API void AddLOD(const FDatasmithMesh &InLODMesh)
Definition DatasmithMesh.cpp:482
UE_API void SetUVCount(int32 Channel, int32 NumVerts)
Definition DatasmithMesh.cpp:340
UE_API FVector3f GetNormal(int32 Index) const
Definition DatasmithMesh.cpp:293
UE_API uint32 GetHashForUVChannel(int32 Channel) const
Definition DatasmithMesh.cpp:374
UE_API void SetFaceSmoothingMask(int32 Index, uint32 SmoothingMask)
Definition DatasmithMesh.cpp:464
UE_API void SetNormal(int32 Index, float X, float Y, float Z)
Definition DatasmithMesh.cpp:285
UE_API int32 GetVertexColorCount() const
Definition DatasmithMesh.cpp:434
UE_API void RemoveUVChannel()
Definition DatasmithMesh.cpp:327
UE_API FBox3f GetExtents() const
Definition DatasmithMesh.cpp:544
UE_API void SetVerticesCount(int32 NumVerts)
Definition DatasmithMesh.cpp:250
UE_API int32 GetUVCount(int32 Channel) const
Definition DatasmithMesh.cpp:349
UE_API void SetVertexColor(int32 Index, const FColor &Color)
Definition DatasmithMesh.cpp:439
UE_API float ComputeArea() const
Definition DatasmithMesh.cpp:527
UE_API FDatasmithMesh * GetLOD(int32 Index)
Definition DatasmithMesh.cpp:497
UE_API void SetFace(int32 Index, int32 Vertex1, int32 Vertex2, int32 Vertex3, int32 MaterialId=0)
Definition DatasmithMesh.cpp:212
UE_API int32 GetFacesCount() const
Definition DatasmithMesh.cpp:207
UE_API int32 GetLODsCount() const
Definition DatasmithMesh.cpp:492
UE_API uint32 GetFaceSmoothingMask(int32 Index) const
Definition DatasmithMesh.cpp:472
UE_API FDatasmithMesh()
Definition DatasmithMesh.cpp:132
UE_API FVector2D GetUV(int32 Channel, int32 Index) const
Definition DatasmithMesh.cpp:395
UE_API void SetVertex(int32 Index, float X, float Y, float Z)
Definition DatasmithMesh.cpp:261
UE_API void SetUVChannelsCount(int32 ChannelCount)
Definition DatasmithMesh.cpp:305
UE_API void GetFaceUV(int32 Index, int32 Channel, int32 &Vertex1, int32 &Vertex2, int32 &Vertex3) const
Definition DatasmithMesh.cpp:422
UE_API void GetFace(int32 Index, int32 &Vertex1, int32 &Vertex2, int32 &Vertex3, int32 &MaterialId) const
Definition DatasmithMesh.cpp:227
UE_API FDatasmithMesh & operator=(const FDatasmithMesh &Other)
Definition DatasmithMesh.cpp:153
UE_API int32 GetUVChannelsCount() const
Definition DatasmithMesh.cpp:335
UE_API void AddUVChannel()
Definition DatasmithMesh.cpp:319
UE_API void SetName(const TCHAR *InName)
Definition DatasmithMesh.cpp:176
UE_API int32 GetLightmapSourceUVChannel() const
Definition DatasmithMesh.cpp:522
UE_API FMD5Hash CalculateHash() const
Definition DatasmithMesh.cpp:170
UE_API FColor GetVertexColor(int32 Index) const
Definition DatasmithMesh.cpp:454
UE_API bool IsMaterialIdUsed(int32 MaterialId) const
Definition DatasmithMesh.cpp:245
UE_API void SetUV(int32 Channel, int32 Index, double U, double V)
Definition DatasmithMesh.cpp:361
UE_API void SetFaceUV(int32 Index, int32 Channel, int32 Vertex1, int32 Vertex2, int32 Vertex3)
Definition DatasmithMesh.cpp:410
UE_API void SetFacesCount(int32 NumFaces)
Definition DatasmithMesh.cpp:186
Definition ExpressionParserTypes.h:21
U16 Index
Definition radfft.cpp:71
Definition Color.h:486
Definition SecureHash.h:133