#pragma once

/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/

// Package: MeshDescription

#include "Basic.hpp"


namespace SDK
{

// Enum MeshDescription.EComputeNTBsOptions
// NumValues: 0x0005
enum class EComputeNTBsOptions : uint8
{
	None                                     = 0,
	Normals                                  = 1,
	Tangents                                 = 2,
	WeightedNTBs                             = 4,
	EComputeNTBsOptions_MAX                  = 5,
};

// ScriptStruct MeshDescription.ElementID
// 0x0004 (0x0004 - 0x0000)
struct FElementID
{
public:
	int32                                         IDValue;                                           // 0x0000(0x0004)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
};
static_assert(alignof(FElementID) == 0x000004, "Wrong alignment on FElementID");
static_assert(sizeof(FElementID) == 0x000004, "Wrong size on FElementID");
static_assert(offsetof(FElementID, IDValue) == 0x000000, "Member 'FElementID::IDValue' has a wrong offset!");

// ScriptStruct MeshDescription.PolygonGroupID
// 0x0000 (0x0004 - 0x0004)
struct FPolygonGroupID final : public FElementID
{
};
static_assert(alignof(FPolygonGroupID) == 0x000004, "Wrong alignment on FPolygonGroupID");
static_assert(sizeof(FPolygonGroupID) == 0x000004, "Wrong size on FPolygonGroupID");

// ScriptStruct MeshDescription.VertexInstanceID
// 0x0000 (0x0004 - 0x0004)
struct FVertexInstanceID final : public FElementID
{
};
static_assert(alignof(FVertexInstanceID) == 0x000004, "Wrong alignment on FVertexInstanceID");
static_assert(sizeof(FVertexInstanceID) == 0x000004, "Wrong size on FVertexInstanceID");

// ScriptStruct MeshDescription.MeshTriangle
// 0x000C (0x000C - 0x0000)
struct FMeshTriangle final
{
public:
	struct FVertexInstanceID                      VertexInstanceID0;                                 // 0x0000(0x0004)(BlueprintVisible, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVertexInstanceID                      VertexInstanceID1;                                 // 0x0004(0x0004)(BlueprintVisible, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVertexInstanceID                      VertexInstanceID2;                                 // 0x0008(0x0004)(BlueprintVisible, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
static_assert(alignof(FMeshTriangle) == 0x000004, "Wrong alignment on FMeshTriangle");
static_assert(sizeof(FMeshTriangle) == 0x00000C, "Wrong size on FMeshTriangle");
static_assert(offsetof(FMeshTriangle, VertexInstanceID0) == 0x000000, "Member 'FMeshTriangle::VertexInstanceID0' has a wrong offset!");
static_assert(offsetof(FMeshTriangle, VertexInstanceID1) == 0x000004, "Member 'FMeshTriangle::VertexInstanceID1' has a wrong offset!");
static_assert(offsetof(FMeshTriangle, VertexInstanceID2) == 0x000008, "Member 'FMeshTriangle::VertexInstanceID2' has a wrong offset!");

// ScriptStruct MeshDescription.VertexID
// 0x0000 (0x0004 - 0x0004)
struct FVertexID final : public FElementID
{
};
static_assert(alignof(FVertexID) == 0x000004, "Wrong alignment on FVertexID");
static_assert(sizeof(FVertexID) == 0x000004, "Wrong size on FVertexID");

// ScriptStruct MeshDescription.PolygonID
// 0x0000 (0x0004 - 0x0004)
struct FPolygonID final : public FElementID
{
};
static_assert(alignof(FPolygonID) == 0x000004, "Wrong alignment on FPolygonID");
static_assert(sizeof(FPolygonID) == 0x000004, "Wrong size on FPolygonID");

// ScriptStruct MeshDescription.EdgeID
// 0x0000 (0x0004 - 0x0004)
struct FEdgeID final : public FElementID
{
};
static_assert(alignof(FEdgeID) == 0x000004, "Wrong alignment on FEdgeID");
static_assert(sizeof(FEdgeID) == 0x000004, "Wrong size on FEdgeID");

}

