#pragma once

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

// Package: OpenColorIO

#include "Basic.hpp"

#include "Engine_classes.hpp"
#include "CoreUObject_structs.hpp"
#include "CoreUObject_classes.hpp"
#include "OpenColorIO_structs.hpp"


namespace SDK
{

// Class OpenColorIO.OpenColorIOBlueprintLibrary
// 0x0000 (0x0028 - 0x0028)
class UOpenColorIOBlueprintLibrary final : public UBlueprintFunctionLibrary
{
public:
	static bool ApplyColorSpaceTransform(const class UObject* WorldContextObject, const struct FOpenColorIOColorConversionSettings& ConversionSettings, class UTexture* InputTexture, class UTextureRenderTarget2D* OutputRenderTarget);

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("OpenColorIOBlueprintLibrary")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"OpenColorIOBlueprintLibrary")
	}
	static class UOpenColorIOBlueprintLibrary* GetDefaultObj()
	{
		return GetDefaultObjImpl<UOpenColorIOBlueprintLibrary>();
	}
};
DUMPER7_ASSERTS_UOpenColorIOBlueprintLibrary;

// Class OpenColorIO.OpenColorIOColorTransform
// 0x0078 (0x00A0 - 0x0028)
class UOpenColorIOColorTransform final : public UObject
{
public:
	class UOpenColorIOConfiguration*              ConfigurationOwner;                                // 0x0028(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FString                                 SourceColorSpace;                                  // 0x0030(0x0010)(Edit, ZeroConstructor, EditConst, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FString                                 DestinationColorSpace;                             // 0x0040(0x0010)(Edit, ZeroConstructor, EditConst, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UVolumeTexture*                         Lut3dTexture;                                      // 0x0050(0x0008)(ZeroConstructor, Transient, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_58[0x48];                                      // 0x0058(0x0048)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("OpenColorIOColorTransform")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"OpenColorIOColorTransform")
	}
	static class UOpenColorIOColorTransform* GetDefaultObj()
	{
		return GetDefaultObjImpl<UOpenColorIOColorTransform>();
	}
};
DUMPER7_ASSERTS_UOpenColorIOColorTransform;

// Class OpenColorIO.OpenColorIOConfiguration
// 0x0058 (0x0080 - 0x0028)
class UOpenColorIOConfiguration final : public UObject
{
public:
	struct FFilePath                              ConfigurationFile;                                 // 0x0028(0x0010)(Edit, BlueprintVisible, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TArray<struct FOpenColorIOColorSpace>         DesiredColorSpaces;                                // 0x0038(0x0010)(Edit, BlueprintVisible, ZeroConstructor, NativeAccessSpecifierPublic)
	TArray<class UOpenColorIOColorTransform*>     ColorTransforms;                                   // 0x0048(0x0010)(ZeroConstructor, NativeAccessSpecifierPrivate)
	uint8                                         Pad_58[0x28];                                      // 0x0058(0x0028)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("OpenColorIOConfiguration")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"OpenColorIOConfiguration")
	}
	static class UOpenColorIOConfiguration* GetDefaultObj()
	{
		return GetDefaultObjImpl<UOpenColorIOConfiguration>();
	}
};
DUMPER7_ASSERTS_UOpenColorIOConfiguration;

// Class OpenColorIO.OpenColorIODisplayExtensionWrapper
// 0x0010 (0x0038 - 0x0028)
class UOpenColorIODisplayExtensionWrapper final : public UObject
{
public:
	uint8                                         Pad_28[0x10];                                      // 0x0028(0x0010)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UOpenColorIODisplayExtensionWrapper* CreateOpenColorIODisplayExtension(const struct FOpenColorIODisplayConfiguration& InDisplayConfiguration, const struct FSceneViewExtensionIsActiveFunctor& IsActiveFunction);

	void RemoveSceneExtension();
	void SetOpenColorIOConfiguration(const struct FOpenColorIODisplayConfiguration& InDisplayConfiguration);
	void SetSceneExtensionIsActiveFunction(const struct FSceneViewExtensionIsActiveFunctor& IsActiveFunction);
	void SetSceneExtensionIsActiveFunctions(const TArray<struct FSceneViewExtensionIsActiveFunctor>& IsActiveFunctions);

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("OpenColorIODisplayExtensionWrapper")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"OpenColorIODisplayExtensionWrapper")
	}
	static class UOpenColorIODisplayExtensionWrapper* GetDefaultObj()
	{
		return GetDefaultObjImpl<UOpenColorIODisplayExtensionWrapper>();
	}
};
DUMPER7_ASSERTS_UOpenColorIODisplayExtensionWrapper;

}

