Files
UnrealEngineUWP/Engine/Source/Programs/UnrealLightmass/Private/ImportExport/Mesh.cpp
Ryan Durand 74c879d5f3 Updating copyrights for Engine Programs.
#rnx
#rb none
#jira none

#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869242 in //Fortnite/Release-12.00/... via CL 10869536
#ROBOMERGE-BOT: FORTNITE (Main -> Dev-EngineMerge) (v613-10869866)

[CL 10870960 by Ryan Durand in Main branch]
2019-12-26 23:06:02 -05:00

69 lines
1.9 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "Mesh.h"
#include "Importer.h"
#include "UnrealLightmass.h"
namespace Lightmass
{
//----------------------------------------------------------------------------
// Mesh base class
//----------------------------------------------------------------------------
void FBaseMesh::Import( FLightmassImporter& Importer )
{
Importer.ImportData( (FBaseMeshData*)this );
}
//----------------------------------------------------------------------------
// Static mesh class
//----------------------------------------------------------------------------
void FStaticMesh::Import( FLightmassImporter& Importer )
{
// import super class
FBaseMesh::Import(Importer);
// import the shared data structure
Importer.ImportData( (FStaticMeshData*)this );
UE_LOG(LogLightmass, Verbose, TEXT("Importing a static mesh with %d LODs [%s]"), NumLODs, *Guid.ToString());
checkf(NumLODs > 0, TEXT("Imported a static mesh with 0 LODs. Uhoh"));
// create the LODs
LODs.Empty(NumLODs);
// import each of the LODs
for (uint32 LODIndex = 0; LODIndex < NumLODs; LODIndex++)
{
FStaticMeshLOD* LOD = new(LODs) FStaticMeshLOD;
// import each LOD separately
LOD->Import(Importer);
}
}
//----------------------------------------------------------------------------
// Static mesh LOD class
//----------------------------------------------------------------------------
void FStaticMeshLOD::Import( class FLightmassImporter& Importer )
{
// import the shared data structure
Importer.ImportData((FStaticMeshLODData*)this);
Importer.ImportArray(Elements, NumElements);
for (uint32 MeshElementIndex = 0; MeshElementIndex < NumElements; MeshElementIndex++)
{
// Only triangle lists are supported for now
check(Elements[MeshElementIndex].FirstIndex % 3 == 0);
}
Importer.ImportArray(Indices, NumIndices);
Importer.ImportArray(Vertices, NumVertices);
}
}