#pragma once

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

// Package: CameraCalibrationCore

#include "Basic.hpp"

#include "DeveloperSettings_classes.hpp"
#include "CoreUObject_structs.hpp"
#include "CoreUObject_classes.hpp"
#include "CameraCalibrationCore_structs.hpp"
#include "CinematicCamera_structs.hpp"
#include "ProceduralMeshComponent_classes.hpp"
#include "Engine_classes.hpp"


SDK_NAMESPACE_START

// Class CameraCalibrationCore.LensDistortionModelHandlerBase
// 0x00A8 (0x00D0 - 0x0028)
class ULensDistortionModelHandlerBase : public UObject
{
public:
	TSubclassOf<class ULensModel>                 LensModelClass;                                    // 0x0028(0x0008)(Edit, BlueprintVisible, ZeroConstructor, EditConst, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class UMaterialInstanceDynamic*               DistortionPostProcessMID;                          // 0x0030(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected, TObjectPtr)
	struct FLensDistortionState                   CurrentState;                                      // 0x0038(0x0030)(Edit, BlueprintVisible, BlueprintReadOnly, Protected, NativeAccessSpecifierProtected)
	struct FCameraFilmbackSettings                CameraFilmback;                                    // 0x0068(0x0014)(Edit, BlueprintVisible, NoDestructor, Protected, NativeAccessSpecifierProtected)
	uint8                                         Pad_7C[0x4];                                       // 0x007C(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	class FString                                 DisplayName;                                       // 0x0080(0x0010)(Edit, ZeroConstructor, EditConst, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	float                                         OverscanFactor;                                    // 0x0090(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_94[0x4];                                       // 0x0094(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	class UMaterialInstanceDynamic*               UndistortionDisplacementMapMID;                    // 0x0098(0x0008)(ZeroConstructor, Transient, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected, TObjectPtr)
	class UMaterialInstanceDynamic*               DistortionDisplacementMapMID;                      // 0x00A0(0x0008)(ZeroConstructor, Transient, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected, TObjectPtr)
	class UTextureRenderTarget2D*                 UndistortionDisplacementMapRT;                     // 0x00A8(0x0008)(ZeroConstructor, Transient, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected, TObjectPtr)
	class UTextureRenderTarget2D*                 DistortionDisplacementMapRT;                       // 0x00B0(0x0008)(ZeroConstructor, Transient, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected, TObjectPtr)
	struct FGuid                                  DistortionProducerID;                              // 0x00B8(0x0010)(ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_C8[0x8];                                       // 0x00C8(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void SetDistortionState(const struct FLensDistortionState& InNewState);

	class UTextureRenderTarget2D* GetDistortionDisplacementMap() const;
	class UTextureRenderTarget2D* GetUndistortionDisplacementMap() const;
	bool IsModelSupported(const TSubclassOf<class ULensModel>& ModelToSupport) const;

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

// Class CameraCalibrationCore.AnamorphicLensDistortionModelHandler
// 0x0038 (0x0108 - 0x00D0)
class UAnamorphicLensDistortionModelHandler final : public ULensDistortionModelHandlerBase
{
public:
	uint8                                         Pad_D0[0x38];                                      // 0x00D0(0x0038)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class CameraCalibrationCore.LensModel
// 0x0000 (0x0028 - 0x0028)
class ULensModel : public UObject
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("LensModel")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"LensModel")
	}
	static class ULensModel* GetDefaultObj()
	{
		return GetDefaultObjImpl<ULensModel>();
	}
};
DUMPER7_ASSERTS_ULensModel;

// Class CameraCalibrationCore.AnamorphicLensModel
// 0x0000 (0x0028 - 0x0028)
class UAnamorphicLensModel final : public ULensModel
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("AnamorphicLensModel")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"AnamorphicLensModel")
	}
	static class UAnamorphicLensModel* GetDefaultObj()
	{
		return GetDefaultObjImpl<UAnamorphicLensModel>();
	}
};
DUMPER7_ASSERTS_UAnamorphicLensModel;

// Class CameraCalibrationCore.CalibrationPointComponent
// 0x0060 (0x0650 - 0x05F0)
class UCalibrationPointComponent final : public UProceduralMeshComponent
{
public:
	TMap<class FString, struct FVector>           SubPoints;                                         // 0x05E8(0x0050)(Edit, BlueprintVisible, NativeAccessSpecifierPublic)
	bool                                          bVisualizePointsInEditor;                          // 0x0638(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_639[0x3];                                      // 0x0639(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         PointVisualizationScale;                           // 0x063C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	ECalibrationPointVisualization                VisualizationShape;                                // 0x0640(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_641[0xF];                                      // 0x0641(0x000F)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void RebuildVertices();

	void GetNamespacedPointNames(TArray<class FString>* OutNamespacedNames) const;
	bool GetWorldLocation(const class FString& InPointName, struct FVector* OutLocation) const;
	bool NamespacedSubpointName(const class FString& InSubpointName, class FString* OutNamespacedName) const;

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

// Class CameraCalibrationCore.CameraCalibrationCheckerboard
// 0x0058 (0x0300 - 0x02A8)
class ACameraCalibrationCheckerboard final : public AActor
{
public:
	class USceneComponent*                        Root;                                              // 0x02A8(0x0008)(Edit, ExportObject, ZeroConstructor, InstancedReference, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	class UCalibrationPointComponent*             TopLeft;                                           // 0x02B0(0x0008)(Edit, ExportObject, ZeroConstructor, InstancedReference, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	class UCalibrationPointComponent*             TopRight;                                          // 0x02B8(0x0008)(Edit, ExportObject, ZeroConstructor, InstancedReference, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	class UCalibrationPointComponent*             BottomLeft;                                        // 0x02C0(0x0008)(Edit, ExportObject, ZeroConstructor, InstancedReference, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	class UCalibrationPointComponent*             BottomRight;                                       // 0x02C8(0x0008)(Edit, ExportObject, ZeroConstructor, InstancedReference, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	class UCalibrationPointComponent*             Center;                                            // 0x02D0(0x0008)(Edit, ExportObject, ZeroConstructor, InstancedReference, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	int32                                         NumCornerRows;                                     // 0x02D8(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         NumCornerCols;                                     // 0x02DC(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         SquareSideLength;                                  // 0x02E0(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         Thickness;                                         // 0x02E4(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UStaticMesh*                            CubeMesh;                                          // 0x02E8(0x0008)(Edit, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	class UMaterialInterface*                     OddCubeMaterial;                                   // 0x02F0(0x0008)(Edit, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	class UMaterialInterface*                     EvenCubeMaterial;                                  // 0x02F8(0x0008)(Edit, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)

public:
	void Rebuild();

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

// Class CameraCalibrationCore.CameraCalibrationSettings
// 0x0138 (0x0170 - 0x0038)
class UCameraCalibrationSettings final : public UDeveloperSettings
{
public:
	TSoftObjectPtr<class ULensFile>               StartupLensFile;                                   // 0x0038(0x0028)(Edit, Config, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	struct FIntPoint                              DisplacementMapResolution;                         // 0x0060(0x0008)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	float                                         CalibrationInputTolerance;                         // 0x0068(0x0004)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	float                                         CheckerboardDetectionTimeout;                      // 0x006C(0x0004)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	TMap<TSubclassOf<class ULensDistortionModelHandlerBase>, TSoftObjectPtr<class UMaterialInterface>> DefaultUndistortionDisplacementMaterials; // 0x0070(0x0050)(Config, UObjectWrapper, NativeAccessSpecifierPrivate)
	TMap<TSubclassOf<class ULensDistortionModelHandlerBase>, TSoftObjectPtr<class UMaterialInterface>> DefaultDistortionDisplacementMaterials; // 0x00C0(0x0050)(Config, UObjectWrapper, NativeAccessSpecifierPrivate)
	TMap<TSubclassOf<class ULensDistortionModelHandlerBase>, TSoftObjectPtr<class UMaterialInterface>> DefaultDistortionMaterials; // 0x0110(0x0050)(Config, UObjectWrapper, NativeAccessSpecifierPrivate)
	bool                                          bEnableCalibrationDatasetImportExport;             // 0x0160(0x0001)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_161[0xF];                                      // 0x0161(0x000F)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class CameraCalibrationCore.CameraCalibrationEditorSettings
// 0x0000 (0x0038 - 0x0038)
class UCameraCalibrationEditorSettings final : public UDeveloperSettings
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("CameraCalibrationEditorSettings")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"CameraCalibrationEditorSettings")
	}
	static class UCameraCalibrationEditorSettings* GetDefaultObj()
	{
		return GetDefaultObjImpl<UCameraCalibrationEditorSettings>();
	}
};
DUMPER7_ASSERTS_UCameraCalibrationEditorSettings;

// Class CameraCalibrationCore.CameraCalibrationStep
// 0x0000 (0x0028 - 0x0028)
class UCameraCalibrationStep final : public UObject
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("CameraCalibrationStep")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"CameraCalibrationStep")
	}
	static class UCameraCalibrationStep* GetDefaultObj()
	{
		return GetDefaultObjImpl<UCameraCalibrationStep>();
	}
};
DUMPER7_ASSERTS_UCameraCalibrationStep;

// Class CameraCalibrationCore.CameraCalibrationSubsystem
// 0x0200 (0x0230 - 0x0030)
class UCameraCalibrationSubsystem final : public UEngineSubsystem
{
public:
	class ULensFile*                              DefaultLensFile;                                   // 0x0030(0x0008)(ZeroConstructor, Transient, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate, TObjectPtr)
	TMap<class FName, TSubclassOf<class ULensModel>> LensModelMap;                                   // 0x0038(0x0050)(Transient, UObjectWrapper, NativeAccessSpecifierPrivate)
	TMap<class FName, TSubclassOf<class UCameraNodalOffsetAlgo>> CameraNodalOffsetAlgosMap;          // 0x0088(0x0050)(Transient, UObjectWrapper, NativeAccessSpecifierPrivate)
	TMap<class FName, TSubclassOf<class UCameraImageCenterAlgo>> CameraImageCenterAlgosMap;          // 0x00D8(0x0050)(Transient, UObjectWrapper, NativeAccessSpecifierPrivate)
	TMap<class FName, TSubclassOf<class UCameraCalibrationStep>> CameraCalibrationStepsMap;          // 0x0128(0x0050)(Transient, UObjectWrapper, NativeAccessSpecifierPrivate)
	uint8                                         Pad_178[0xB8];                                     // 0x0178(0x00B8)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	class ULensDistortionModelHandlerBase* FindOrCreateDistortionModelHandler(struct FDistortionHandlerPicker& DistortionHandlerPicker, const TSubclassOf<class ULensModel> LensModelClass);
	TArray<class ULensDistortionModelHandlerBase*> GetDistortionModelHandlers(class UCineCameraComponent* Component);
	void SetDefaultLensFile(class ULensFile* NewDefaultLensFile);
	void UnregisterDistortionModelHandler(class UCineCameraComponent* Component, class ULensDistortionModelHandlerBase* Handler);

	class ULensDistortionModelHandlerBase* FindDistortionModelHandler(struct FDistortionHandlerPicker& DistortionHandlerPicker, bool bUpdatePicker) const;
	TSubclassOf<class UCameraCalibrationStep> GetCameraCalibrationStep(class FName Name_0) const;
	TArray<class FName> GetCameraCalibrationSteps() const;
	TSubclassOf<class UCameraImageCenterAlgo> GetCameraImageCenterAlgo(class FName Name_0) const;
	TArray<class FName> GetCameraImageCenterAlgos() const;
	TSubclassOf<class UCameraNodalOffsetAlgo> GetCameraNodalOffsetAlgo(class FName Name_0) const;
	TArray<class FName> GetCameraNodalOffsetAlgos() const;
	class ULensFile* GetDefaultLensFile() const;
	class ULensFile* GetLensFile(const struct FLensFilePicker& Picker) const;
	class UMaterialInterface* GetOverlayMaterial(const class FName& OverlayName) const;
	TArray<class FName> GetOverlayMaterialNames() const;
	TSubclassOf<class ULensModel> GetRegisteredLensModel(class FName ModelName) const;

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

// Class CameraCalibrationCore.CameraImageCenterAlgo
// 0x0008 (0x0030 - 0x0028)
class UCameraImageCenterAlgo final : public UObject
{
public:
	uint8                                         Pad_28[0x8];                                       // 0x0028(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class CameraCalibrationCore.CameraLensDistortionAlgo
// 0x0000 (0x0028 - 0x0028)
class UCameraLensDistortionAlgo final : public UObject
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("CameraLensDistortionAlgo")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"CameraLensDistortionAlgo")
	}
	static class UCameraLensDistortionAlgo* GetDefaultObj()
	{
		return GetDefaultObjImpl<UCameraLensDistortionAlgo>();
	}
};
DUMPER7_ASSERTS_UCameraLensDistortionAlgo;

// Class CameraCalibrationCore.CameraNodalOffsetAlgo
// 0x0000 (0x0028 - 0x0028)
class UCameraNodalOffsetAlgo final : public UObject
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("CameraNodalOffsetAlgo")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"CameraNodalOffsetAlgo")
	}
	static class UCameraNodalOffsetAlgo* GetDefaultObj()
	{
		return GetDefaultObjImpl<UCameraNodalOffsetAlgo>();
	}
};
DUMPER7_ASSERTS_UCameraNodalOffsetAlgo;

// Class CameraCalibrationCore.LensFile
// 0x02E0 (0x0308 - 0x0028)
class ULensFile final : public UObject
{
public:
	uint8                                         Pad_28[0x8];                                       // 0x0028(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	struct FLensInfo                              LensInfo;                                          // 0x0030(0x0048)(Edit, BlueprintVisible, NativeAccessSpecifierPublic)
	ELensDataMode                                 DataMode;                                          // 0x0078(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_79[0x7];                                       // 0x0079(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TMap<class FString, class FString>            UserMetadata;                                      // 0x0080(0x0050)(Edit, BlueprintVisible, NativeAccessSpecifierPublic)
	struct FEncodersTable                         EncodersTable;                                     // 0x00D0(0x0100)(NativeAccessSpecifierPublic)
	struct FDistortionTable                       DistortionTable;                                   // 0x01D0(0x0030)(NativeAccessSpecifierPublic)
	struct FFocalLengthTable                      FocalLengthTable;                                  // 0x0200(0x0030)(NativeAccessSpecifierPublic)
	struct FImageCenterTable                      ImageCenterTable;                                  // 0x0230(0x0030)(NativeAccessSpecifierPublic)
	struct FNodalOffsetTable                      NodalOffsetTable;                                  // 0x0260(0x0030)(NativeAccessSpecifierPublic)
	struct FSTMapTable                            STMapTable;                                        // 0x0290(0x0030)(NativeAccessSpecifierPublic)
	uint8                                         Pad_2C0[0x10];                                     // 0x02C0(0x0010)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<class UTextureRenderTarget2D*>         UndistortionDisplacementMapHolders;                // 0x02D0(0x0010)(ZeroConstructor, Transient, Protected, UObjectWrapper, NativeAccessSpecifierProtected, TObjectPtr)
	TArray<class UTextureRenderTarget2D*>         DistortionDisplacementMapHolders;                  // 0x02E0(0x0010)(ZeroConstructor, Transient, Protected, UObjectWrapper, NativeAccessSpecifierProtected, TObjectPtr)
	uint8                                         Pad_2F0[0x18];                                     // 0x02F0(0x0018)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void AddDistortionPoint(float NewFocus, float NewZoom, const struct FDistortionInfo& NewPoint, const struct FFocalLengthInfo& NewFocalLength);
	void AddFocalLengthPoint(float NewFocus, float NewZoom, const struct FFocalLengthInfo& NewFocalLength);
	void AddImageCenterPoint(float NewFocus, float NewZoom, const struct FImageCenterInfo& NewPoint);
	void AddNodalOffsetPoint(float NewFocus, float NewZoom, const struct FNodalPointOffset& NewPoint);
	void AddSTMapPoint(float NewFocus, float NewZoom, const struct FSTMapInfo& NewPoint);
	void ChangeFocusPoint(ELensDataCategory InDataCategory, float InExistingFocus, float InNewFocus);
	void ChangeZoomPoint(ELensDataCategory InDataCategory, float InFocus, float InExistingZoom, float InNewZoom);
	void ClearAll();
	void ClearData(ELensDataCategory InDataCategory);
	bool HasZoomPoint(ELensDataCategory InDataCategory, float InFocus, float InZoom);
	void MergeFocusPoint(ELensDataCategory InDataCategory, float InSrcFocus, float InDestFocus, bool bReplaceExistingZoomPoints);
	void RemoveFocusPoint(ELensDataCategory InDataCategory, float InFocus);
	void RemoveZoomPoint(ELensDataCategory InDataCategory, float InFocus, float InZoom);

	bool EvaluateDistortionData(float InFocus, float InZoom, const struct FVector2D& InFilmback, class ULensDistortionModelHandlerBase* InLensHandler) const;
	bool EvaluateDistortionParameters(float InFocus, float InZoom, struct FDistortionInfo* OutEvaluatedValue) const;
	bool EvaluateFocalLength(float InFocus, float InZoom, struct FFocalLengthInfo* OutEvaluatedValue) const;
	bool EvaluateImageCenterParameters(float InFocus, float InZoom, struct FImageCenterInfo* OutEvaluatedValue) const;
	bool EvaluateNodalPointOffset(float InFocus, float InZoom, struct FNodalPointOffset* OutEvaluatedValue) const;
	float EvaluateNormalizedFocus(float InNormalizedValue) const;
	float EvaluateNormalizedIris(float InNormalizedValue) const;
	bool GetDistortionPoint(float InFocus, float InZoom, struct FDistortionInfo* OutDistortionInfo) const;
	TArray<struct FDistortionPointInfo> GetDistortionPoints() const;
	bool GetFocalLengthPoint(float InFocus, float InZoom, struct FFocalLengthInfo* OutFocalLengthInfo) const;
	TArray<struct FFocalLengthPointInfo> GetFocalLengthPoints() const;
	bool GetImageCenterPoint(float InFocus, float InZoom, struct FImageCenterInfo* OutImageCenterInfo) const;
	TArray<struct FImageCenterPointInfo> GetImageCenterPoints() const;
	bool GetNodalOffsetPoint(float InFocus, float InZoom, struct FNodalPointOffset* OutNodalPointOffset) const;
	TArray<struct FNodalOffsetPointInfo> GetNodalOffsetPoints() const;
	bool GetSTMapPoint(float InFocus, float InZoom, struct FSTMapInfo* OutSTMapInfo) const;
	TArray<struct FSTMapPointInfo> GetSTMapPoints() const;
	int32 GetTotalPointNum(ELensDataCategory InDataCategory) const;
	bool HasFocusEncoderMapping() const;
	bool HasFocusPoint(ELensDataCategory InDataCategory, float InFocus) const;
	bool HasIrisEncoderMapping() const;
	bool HasSamples(ELensDataCategory InDataCategory) const;

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

// Class CameraCalibrationCore.SphericalLensDistortionModelHandler
// 0x0018 (0x00E8 - 0x00D0)
class USphericalLensDistortionModelHandler final : public ULensDistortionModelHandlerBase
{
public:
	uint8                                         Pad_D0[0x18];                                      // 0x00D0(0x0018)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class CameraCalibrationCore.SphericalLensModel
// 0x0000 (0x0028 - 0x0028)
class USphericalLensModel final : public ULensModel
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("SphericalLensModel")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"SphericalLensModel")
	}
	static class USphericalLensModel* GetDefaultObj()
	{
		return GetDefaultObjImpl<USphericalLensModel>();
	}
};
DUMPER7_ASSERTS_USphericalLensModel;

SDK_NAMESPACE_END
