Files
UnrealEngineUWP/Engine/Source/Developer/MeshMergeUtilities/Public/MeshMergeData.h
ryan durand 471d972e62 Updating copyright for Engine Developer.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869240 via CL 10869516 via CL 10869902
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870584 by ryan durand in Main branch]
2019-12-26 15:32:37 -05:00

74 lines
1.8 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Engine/StaticMesh.h"
#include "MeshDescription.h"
#include "PhysicsEngine/AggregateGeom.h"
#include "LightMap.h"
#include "ShadowMap.h"
#include "Engine/MapBuildDataRegistry.h"
/** Structure holding intermediate mesh merging data that is used throughout the mesh merging and proxy creation processes */
struct FMeshMergeData
{
FMeshMergeData()
: RawMesh(nullptr)
, SourceStaticMesh(nullptr)
, bIsClippingMesh(false)
{}
void ReleaseData()
{
if (RawMesh != nullptr)
{
delete RawMesh;
RawMesh = nullptr;
}
}
/** Raw mesh data from the source static mesh */
FMeshDescription* RawMesh;
/** Contains the original texture bounds, if the material requires baking down per-vertex data */
TArray<FBox2D> TexCoordBounds;
/** Will contain non-overlapping texture coordinates, if the material requires baking down per-vertex data */
TArray<FVector2D> NewUVs;
/** Pointer to the source static mesh instance */
class UStaticMesh* SourceStaticMesh;
/** If set, the raw mesh should be used as clipping geometry */
bool bIsClippingMesh;
FString DebugJobName;
};
/** Structure for encapsulating per LOD mesh merging data */
struct FRawMeshExt
{
FRawMeshExt()
: SourceStaticMesh(nullptr)
{
FMemory::Memzero(bShouldExportLOD);
}
FMeshMergeData MeshLODData[MAX_STATIC_MESH_LODS];
FKAggregateGeom AggGeom;
/** Pointer to the source static mesh instance */
class UStaticMesh* SourceStaticMesh;
class UStaticMeshComponent* Component;
/** Specific LOD index that is being exported */
int32 ExportLODIndex;
FLightMapRef LightMap;
FShadowMapRef ShadowMap;
/** Whether or not a specific LOD should be exported */
bool bShouldExportLOD[MAX_STATIC_MESH_LODS];
/** Max LOD index that is exported */
int32 MaxLODExport;
};