5#include "Containers/Array.h"
6#include "Containers/Map.h"
16#include "Misc/Optional.h"
101 UE_DEPRECATED(5.5,
"Use HasInvalidVertexInstanceNormalsOrTangents")
129 int32 SrcLightmapIndex,
130 int32 DstLightmapIndex,
131 int32 MinLightmapResolution,
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_DELEGATE_ThreeParams(DelegateName, Param1Type, Param2Type, Param3Type)
Definition DelegateCombinations.h:66
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
ELightmapUVVersion
Definition MeshUtilitiesCommon.h:8
TMap< FPolygonGroupID, FPolygonGroupID > PolygonGroupMap
Definition StaticMeshOperations.h:28
DECLARE_DELEGATE_ThreeParams(FAppendPolygonGroupsDelegate, const FMeshDescription &, FMeshDescription &, PolygonGroupMap &) enum class EComputeNTBsFlags ENUM_CLASS_FLAGS(EComputeNTBsFlags)
Definition StaticMeshOperations.h:44
#define UE_KINDA_SMALL_NUMBER
Definition UnrealMathUtility.h:131
Definition NameTypes.h:617
Definition SecureHash.h:226
Definition StaticMeshOperations.h:47
static STATICMESHDESCRIPTION_API float ComputeMeshArea(const FMeshDescription &InMeshDescription)
Definition StaticMeshOperations.cpp:3078
static STATICMESHDESCRIPTION_API void DetermineEdgeHardnessesFromVertexInstanceNormals(FMeshDescription &MeshDescription, float Tolerance=UE_KINDA_SMALL_NUMBER)
Definition StaticMeshOperations.cpp:238
static STATICMESHDESCRIPTION_API void ConvertFromRawMesh(const FRawMesh &SourceRawMesh, FMeshDescription &DestinationMeshDescription, const TMap< int32, FName > &MaterialMap, bool bSkipNormalsAndTangents=false, const TCHAR *DebugName=nullptr)
Definition StaticMeshOperations.cpp:716
static STATICMESHDESCRIPTION_API void FlipPolygons(FMeshDescription &MeshDescription)
Definition StaticMeshOperations.cpp:2649
static STATICMESHDESCRIPTION_API bool ValidateAndFixData(FMeshDescription &MeshDescription, const FString &DebugName)
Definition StaticMeshOperations.cpp:2998
static STATICMESHDESCRIPTION_API void BuildWeldedVertexIDRemap(const FMeshDescription &MeshDescription, const float WeldingThreshold, TMap< FVertexID, FVertexID > &OutVertexIDRemap)
Definition StaticMeshOperations.cpp:2556
static STATICMESHDESCRIPTION_API bool CreateLightMapUVLayout(FMeshDescription &MeshDescription, int32 SrcLightmapIndex, int32 DstLightmapIndex, int32 MinLightmapResolution, ELightmapUVVersion LightmapUVVersion, const FOverlappingCorners &OverlappingCorners)
Definition StaticMeshOperations.cpp:1915
static STATICMESHDESCRIPTION_API bool RemoveUVChannel(FMeshDescription &MeshDescription, int32 UVChannelIndex)
Definition StaticMeshOperations.cpp:2288
static STATICMESHDESCRIPTION_API void ConvertSmoothGroupToHardEdges(const TArray< uint32 > &FaceSmoothingMasks, FMeshDescription &DestinationMeshDescription)
Definition StaticMeshOperations.cpp:482
static STATICMESHDESCRIPTION_API bool AddUVChannel(FMeshDescription &MeshDescription)
Definition StaticMeshOperations.cpp:2256
static STATICMESHDESCRIPTION_API void SwapPolygonPolygonGroup(FMeshDescription &MeshDescription, int32 SectionIndex, int32 TriangleIndexStart, int32 TriangleIndexEnd, bool bRemoveEmptyPolygonGroup)
Definition StaticMeshOperations.cpp:2495
static STATICMESHDESCRIPTION_API void GeneratePlanarUV(const FMeshDescription &MeshDescription, const FUVMapParameters &Params, TMap< FVertexInstanceID, FVector2D > &OutTexCoords)
Definition StaticMeshOperations.cpp:2307
static STATICMESHDESCRIPTION_API bool HasVertexColor(const FMeshDescription &MeshDescription)
Definition StaticMeshOperations.cpp:2540
static STATICMESHDESCRIPTION_API void ComputeTriangleTangentsAndNormals(FMeshDescription &MeshDescription, float ComparisonThreshold=0.0f, const TCHAR *DebugName=nullptr)
Definition StaticMeshOperations.cpp:137
static STATICMESHDESCRIPTION_API void AppendMeshDescriptions(const TArray< const FMeshDescription * > &SourceMeshes, FMeshDescription &TargetMesh, const FAppendSettings &AppendSettings)
Definition StaticMeshOperations.cpp:880
static STATICMESHDESCRIPTION_API void ComputeMikktTangents(FMeshDescription &MeshDescription, bool bIgnoreDegenerateTriangles)
Definition StaticMeshOperations.cpp:1706
static STATICMESHDESCRIPTION_API void RecomputeNormalsAndTangentsIfNeeded(FMeshDescription &MeshDescription, EComputeNTBsFlags ComputeNTBsOptions)
Definition StaticMeshOperations.cpp:1241
static STATICMESHDESCRIPTION_API int32 GetUVChartCount(FMeshDescription &MeshDescription, int32 SrcLightmapIndex, ELightmapUVVersion LightmapUVVersion, const FOverlappingCorners &OverlappingCorners)
Definition StaticMeshOperations.cpp:1906
static STATICMESHDESCRIPTION_API int32 GetUniqueVertexCount(const FMeshDescription &MeshDescription)
Definition StaticMeshOperations.cpp:2779
static STATICMESHDESCRIPTION_API void AppendMeshDescription(const FMeshDescription &SourceMesh, FMeshDescription &TargetMesh, const FAppendSettings &AppendSettings)
Definition StaticMeshOperations.cpp:1174
static STATICMESHDESCRIPTION_API void ReorderMeshDescriptionPolygonGroups(const FMeshDescription &SourceMeshDescription, FMeshDescription &DestinationMeshDescription, TOptional< const FString > UnmatchMaterialNameWarning, TOptional< const FString > DestinationPolygonGroupCountDifferFromSource_Msg)
Definition StaticMeshOperations.cpp:2895
static STATICMESHDESCRIPTION_API void ComputeTangentsAndNormals(FMeshDescription &MeshDescription, EComputeNTBsFlags ComputeNTBsOptions)
Definition StaticMeshOperations.cpp:1260
static STATICMESHDESCRIPTION_API void GenerateCylindricalUV(FMeshDescription &MeshDescription, const FUVMapParameters &Params, TMap< FVertexInstanceID, FVector2D > &OutTexCoords)
Definition StaticMeshOperations.cpp:2336
static STATICMESHDESCRIPTION_API void ApplyTransform(FMeshDescription &MeshDescription, const FTransform &Transform, bool bApplyCorrectNormalTransform=false)
Definition StaticMeshOperations.cpp:2674
EGenerateUVMethod
Definition StaticMeshOperations.h:140
static STATICMESHDESCRIPTION_API void FindOverlappingCorners(FOverlappingCorners &OverlappingCorners, const FMeshDescription &MeshDescription, float ComparisonThreshold)
Definition StaticMeshOperations.cpp:1757
static void AreNormalsAndTangentsValid(const FMeshDescription &MeshDescription, bool &bHasInvalidNormals, bool &bHasInvalidTangents)
Definition StaticMeshOperations.h:102
static STATICMESHDESCRIPTION_API bool GenerateUV(const FMeshDescription &MeshDescription, const FGenerateUVOptions &Options, TArray< FVector2D > &OutTexCoords)
Definition StaticMeshOperations.cpp:2136
static STATICMESHDESCRIPTION_API bool GenerateUniqueUVsForStaticMesh(const FMeshDescription &MeshDescription, int32 TextureResolution, bool bMergeIdenticalMaterials, TArray< FVector2D > &OutTexCoords)
Definition StaticMeshOperations.cpp:2126
static STATICMESHDESCRIPTION_API void GenerateBoxUV(const FMeshDescription &MeshDescription, const FUVMapParameters &Params, TMap< FVertexInstanceID, FVector2D > &OutTexCoords)
Definition StaticMeshOperations.cpp:2415
static STATICMESHDESCRIPTION_API bool InsertUVChannel(FMeshDescription &MeshDescription, int32 UVChannelIndex)
Definition StaticMeshOperations.cpp:2269
static STATICMESHDESCRIPTION_API void HasInvalidVertexInstanceNormalsOrTangents(const FMeshDescription &MeshDescription, bool &bHasInvalidNormals, bool &bHasInvalidTangents)
Definition StaticMeshOperations.cpp:1181
static STATICMESHDESCRIPTION_API void ConvertHardEdgesToSmoothGroup(const FMeshDescription &SourceMeshDescription, TArray< uint32 > &FaceSmoothingMasks)
Definition StaticMeshOperations.cpp:348
static STATICMESHDESCRIPTION_API void ConvertToRawMesh(const FMeshDescription &SourceMeshDescription, FRawMesh &DestinationRawMesh, const TMap< FName, int32 > &MaterialMap)
Definition StaticMeshOperations.cpp:537
static STATICMESHDESCRIPTION_API FSHAHash ComputeSHAHash(const FMeshDescription &MeshDescription, bool bSkipTransientAttributes=false)
Definition StaticMeshOperations.cpp:2601
Definition UnrealString.h.inl:34
Definition MeshDescription.h:94
Definition OverlappingCorners.h:16
Definition MeshTypes.h:236
Definition StaticMeshOperations.h:50
bool bMergeUVChannels[MAX_NUM_UV_CHANNELS]
Definition StaticMeshOperations.h:58
FAppendPolygonGroupsDelegate PolygonGroupsDelegate
Definition StaticMeshOperations.h:56
FVector MergedAssetPivot
Definition StaticMeshOperations.h:60
bool bMergeVertexColor
Definition StaticMeshOperations.h:57
TOptional< FTransform > MeshTransform
Definition StaticMeshOperations.h:61
@ MAX_NUM_UV_CHANNELS
Definition StaticMeshOperations.h:53
bool bMergeObjectName
Definition StaticMeshOperations.h:59
Definition StaticMeshOperations.h:149
bool bMergeTrianglesWithIdenticalAttributes
Definition StaticMeshOperations.h:154
int32 TextureResolution
Definition StaticMeshOperations.h:151
EGenerateUVMethod UVMethod
Definition StaticMeshOperations.h:157
Definition UVMapSettings.h:49
Definition Optional.h:131
static CORE_API const TVector< double > ZeroVector
Definition Vector.h:79