#pragma once

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

// Package: InterchangePipelines

#include "Basic.hpp"

#include "InterchangePipelines_classes.hpp"
#include "InterchangePipelines_parameters.hpp"


SDK_NAMESPACE_START

// Function InterchangePipelines.InterchangeGenericMeshPipeline.SetCombineSkeletalMeshes
// (Final, Native, Public, BlueprintCallable)
// Parameters:
// bool                                    InbCombineSkeletalMeshes                               (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

void UInterchangeGenericMeshPipeline::SetCombineSkeletalMeshes(bool InbCombineSkeletalMeshes)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("InterchangeGenericMeshPipeline", "SetCombineSkeletalMeshes");

	Params::InterchangeGenericMeshPipeline_SetCombineSkeletalMeshes Parms{};

	Parms.InbCombineSkeletalMeshes = InbCombineSkeletalMeshes;

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;
}


// Function InterchangePipelines.InterchangeGenericMeshPipeline.GetCombineSkeletalMeshes
// (Final, Native, Public, BlueprintCallable, BlueprintPure, Const)
// Parameters:
// bool                                    ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

bool UInterchangeGenericMeshPipeline::GetCombineSkeletalMeshes() const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("InterchangeGenericMeshPipeline", "GetCombineSkeletalMeshes");

	Params::InterchangeGenericMeshPipeline_GetCombineSkeletalMeshes Parms{};

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


// Function InterchangePipelines.InterchangePipelineMeshesUtilities.CreateInterchangePipelineMeshesUtilities
// (Final, RequiredAPI, Native, Static, Public, BlueprintCallable)
// Parameters:
// class UInterchangeBaseNodeContainer*    BaseNodeContainer                                      (Parm, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// class UInterchangePipelineMeshesUtilities*ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

class UInterchangePipelineMeshesUtilities* UInterchangePipelineMeshesUtilities::CreateInterchangePipelineMeshesUtilities(class UInterchangeBaseNodeContainer* BaseNodeContainer)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = StaticClass()->GetFunction("InterchangePipelineMeshesUtilities", "CreateInterchangePipelineMeshesUtilities");

	Params::InterchangePipelineMeshesUtilities_CreateInterchangePipelineMeshesUtilities Parms{};

	Parms.BaseNodeContainer = BaseNodeContainer;

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	GetDefaultObj()->ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


// Function InterchangePipelines.InterchangePipelineMeshesUtilities.GetAllGeometryCacheGeometry
// (Final, RequiredAPI, Native, Public, HasOutParams, BlueprintCallable, BlueprintPure, Const)
// Parameters:
// TArray<class FString>*                  MeshGeometryUids                                       (Parm, OutParm, ZeroConstructor, NativeAccessSpecifierPublic)

void UInterchangePipelineMeshesUtilities::GetAllGeometryCacheGeometry(TArray<class FString>* MeshGeometryUids) const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("InterchangePipelineMeshesUtilities", "GetAllGeometryCacheGeometry");

	Params::InterchangePipelineMeshesUtilities_GetAllGeometryCacheGeometry Parms{};

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	if (MeshGeometryUids != nullptr)
		*MeshGeometryUids = std::move(Parms.MeshGeometryUids);
}


// Function InterchangePipelines.InterchangePipelineMeshesUtilities.GetAllGeometryCacheInstance
// (Final, RequiredAPI, Native, Public, HasOutParams, BlueprintCallable, BlueprintPure, Const)
// Parameters:
// TArray<class FString>*                  MeshInstanceUids                                       (Parm, OutParm, ZeroConstructor, NativeAccessSpecifierPublic)

void UInterchangePipelineMeshesUtilities::GetAllGeometryCacheInstance(TArray<class FString>* MeshInstanceUids) const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("InterchangePipelineMeshesUtilities", "GetAllGeometryCacheInstance");

	Params::InterchangePipelineMeshesUtilities_GetAllGeometryCacheInstance Parms{};

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	if (MeshInstanceUids != nullptr)
		*MeshInstanceUids = std::move(Parms.MeshInstanceUids);
}


// Function InterchangePipelines.InterchangePipelineMeshesUtilities.GetAllMeshGeometry
// (Final, RequiredAPI, Native, Public, HasOutParams, BlueprintCallable, BlueprintPure, Const)
// Parameters:
// TArray<class FString>*                  MeshGeometryUids                                       (Parm, OutParm, ZeroConstructor, NativeAccessSpecifierPublic)

void UInterchangePipelineMeshesUtilities::GetAllMeshGeometry(TArray<class FString>* MeshGeometryUids) const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("InterchangePipelineMeshesUtilities", "GetAllMeshGeometry");

	Params::InterchangePipelineMeshesUtilities_GetAllMeshGeometry Parms{};

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	if (MeshGeometryUids != nullptr)
		*MeshGeometryUids = std::move(Parms.MeshGeometryUids);
}


// Function InterchangePipelines.InterchangePipelineMeshesUtilities.GetAllMeshGeometryNotInstanced
// (Final, RequiredAPI, Native, Public, HasOutParams, BlueprintCallable, BlueprintPure, Const)
// Parameters:
// TArray<class FString>*                  MeshGeometryUids                                       (Parm, OutParm, ZeroConstructor, NativeAccessSpecifierPublic)

void UInterchangePipelineMeshesUtilities::GetAllMeshGeometryNotInstanced(TArray<class FString>* MeshGeometryUids) const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("InterchangePipelineMeshesUtilities", "GetAllMeshGeometryNotInstanced");

	Params::InterchangePipelineMeshesUtilities_GetAllMeshGeometryNotInstanced Parms{};

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	if (MeshGeometryUids != nullptr)
		*MeshGeometryUids = std::move(Parms.MeshGeometryUids);
}


// Function InterchangePipelines.InterchangePipelineMeshesUtilities.GetAllMeshInstanceUids
// (Final, RequiredAPI, Native, Public, HasOutParams, BlueprintCallable, BlueprintPure, Const)
// Parameters:
// TArray<class FString>*                  MeshInstanceUids                                       (Parm, OutParm, ZeroConstructor, NativeAccessSpecifierPublic)

void UInterchangePipelineMeshesUtilities::GetAllMeshInstanceUids(TArray<class FString>* MeshInstanceUids) const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("InterchangePipelineMeshesUtilities", "GetAllMeshInstanceUids");

	Params::InterchangePipelineMeshesUtilities_GetAllMeshInstanceUids Parms{};

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	if (MeshInstanceUids != nullptr)
		*MeshInstanceUids = std::move(Parms.MeshInstanceUids);
}


// Function InterchangePipelines.InterchangePipelineMeshesUtilities.GetAllMeshInstanceUidsUsingMeshGeometryUid
// (Final, RequiredAPI, Native, Public, HasOutParams, BlueprintCallable, BlueprintPure, Const)
// Parameters:
// const class FString&                    MeshGeometryUid                                        (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// TArray<class FString>*                  MeshInstanceUids                                       (Parm, OutParm, ZeroConstructor, NativeAccessSpecifierPublic)

void UInterchangePipelineMeshesUtilities::GetAllMeshInstanceUidsUsingMeshGeometryUid(const class FString& MeshGeometryUid, TArray<class FString>* MeshInstanceUids) const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("InterchangePipelineMeshesUtilities", "GetAllMeshInstanceUidsUsingMeshGeometryUid");

	Params::InterchangePipelineMeshesUtilities_GetAllMeshInstanceUidsUsingMeshGeometryUid Parms{};

	Parms.MeshGeometryUid = std::move(MeshGeometryUid);

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	if (MeshInstanceUids != nullptr)
		*MeshInstanceUids = std::move(Parms.MeshInstanceUids);
}


// Function InterchangePipelines.InterchangePipelineMeshesUtilities.GetAllSkinnedMeshGeometry
// (Final, RequiredAPI, Native, Public, HasOutParams, BlueprintCallable, BlueprintPure, Const)
// Parameters:
// TArray<class FString>*                  MeshGeometryUids                                       (Parm, OutParm, ZeroConstructor, NativeAccessSpecifierPublic)

void UInterchangePipelineMeshesUtilities::GetAllSkinnedMeshGeometry(TArray<class FString>* MeshGeometryUids) const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("InterchangePipelineMeshesUtilities", "GetAllSkinnedMeshGeometry");

	Params::InterchangePipelineMeshesUtilities_GetAllSkinnedMeshGeometry Parms{};

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	if (MeshGeometryUids != nullptr)
		*MeshGeometryUids = std::move(Parms.MeshGeometryUids);
}


// Function InterchangePipelines.InterchangePipelineMeshesUtilities.GetAllSkinnedMeshInstance
// (Final, RequiredAPI, Native, Public, HasOutParams, BlueprintCallable, BlueprintPure, Const)
// Parameters:
// TArray<class FString>*                  MeshInstanceUids                                       (Parm, OutParm, ZeroConstructor, NativeAccessSpecifierPublic)

void UInterchangePipelineMeshesUtilities::GetAllSkinnedMeshInstance(TArray<class FString>* MeshInstanceUids) const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("InterchangePipelineMeshesUtilities", "GetAllSkinnedMeshInstance");

	Params::InterchangePipelineMeshesUtilities_GetAllSkinnedMeshInstance Parms{};

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	if (MeshInstanceUids != nullptr)
		*MeshInstanceUids = std::move(Parms.MeshInstanceUids);
}


// Function InterchangePipelines.InterchangePipelineMeshesUtilities.GetAllStaticMeshGeometry
// (Final, RequiredAPI, Native, Public, HasOutParams, BlueprintCallable, BlueprintPure, Const)
// Parameters:
// TArray<class FString>*                  MeshGeometryUids                                       (Parm, OutParm, ZeroConstructor, NativeAccessSpecifierPublic)

void UInterchangePipelineMeshesUtilities::GetAllStaticMeshGeometry(TArray<class FString>* MeshGeometryUids) const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("InterchangePipelineMeshesUtilities", "GetAllStaticMeshGeometry");

	Params::InterchangePipelineMeshesUtilities_GetAllStaticMeshGeometry Parms{};

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	if (MeshGeometryUids != nullptr)
		*MeshGeometryUids = std::move(Parms.MeshGeometryUids);
}


// Function InterchangePipelines.InterchangePipelineMeshesUtilities.GetAllStaticMeshInstance
// (Final, RequiredAPI, Native, Public, HasOutParams, BlueprintCallable, BlueprintPure, Const)
// Parameters:
// TArray<class FString>*                  MeshInstanceUids                                       (Parm, OutParm, ZeroConstructor, NativeAccessSpecifierPublic)

void UInterchangePipelineMeshesUtilities::GetAllStaticMeshInstance(TArray<class FString>* MeshInstanceUids) const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("InterchangePipelineMeshesUtilities", "GetAllStaticMeshInstance");

	Params::InterchangePipelineMeshesUtilities_GetAllStaticMeshInstance Parms{};

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	if (MeshInstanceUids != nullptr)
		*MeshInstanceUids = std::move(Parms.MeshInstanceUids);
}


// Function InterchangePipelines.InterchangePipelineMeshesUtilities.GetMeshGeometryByUid
// (Final, RequiredAPI, Native, Public, BlueprintCallable, BlueprintPure, Const)
// Parameters:
// const class FString&                    MeshGeometryUid                                        (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const struct FInterchangeMeshGeometry   ReturnValue                                            (ConstParm, Parm, OutParm, ReturnParm, ReferenceParm, NativeAccessSpecifierPublic)

const struct FInterchangeMeshGeometry UInterchangePipelineMeshesUtilities::GetMeshGeometryByUid(const class FString& MeshGeometryUid) const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("InterchangePipelineMeshesUtilities", "GetMeshGeometryByUid");

	Params::InterchangePipelineMeshesUtilities_GetMeshGeometryByUid Parms{};

	Parms.MeshGeometryUid = std::move(MeshGeometryUid);

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


// Function InterchangePipelines.InterchangePipelineMeshesUtilities.GetMeshGeometrySkeletonRootUid
// (Final, RequiredAPI, Native, Public, BlueprintCallable, BlueprintPure, Const)
// Parameters:
// const class FString&                    MeshGeometryUid                                        (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// class FString                           ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, HasGetValueTypeHash, NativeAccessSpecifierPublic)

class FString UInterchangePipelineMeshesUtilities::GetMeshGeometrySkeletonRootUid(const class FString& MeshGeometryUid) const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("InterchangePipelineMeshesUtilities", "GetMeshGeometrySkeletonRootUid");

	Params::InterchangePipelineMeshesUtilities_GetMeshGeometrySkeletonRootUid Parms{};

	Parms.MeshGeometryUid = std::move(MeshGeometryUid);

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


// Function InterchangePipelines.InterchangePipelineMeshesUtilities.GetMeshInstanceByUid
// (Final, RequiredAPI, Native, Public, BlueprintCallable, BlueprintPure, Const)
// Parameters:
// const class FString&                    MeshInstanceUid                                        (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const struct FInterchangeMeshInstance   ReturnValue                                            (ConstParm, Parm, OutParm, ReturnParm, ReferenceParm, NativeAccessSpecifierPublic)

const struct FInterchangeMeshInstance UInterchangePipelineMeshesUtilities::GetMeshInstanceByUid(const class FString& MeshInstanceUid) const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("InterchangePipelineMeshesUtilities", "GetMeshInstanceByUid");

	Params::InterchangePipelineMeshesUtilities_GetMeshInstanceByUid Parms{};

	Parms.MeshInstanceUid = std::move(MeshInstanceUid);

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


// Function InterchangePipelines.InterchangePipelineMeshesUtilities.GetMeshInstanceSkeletonRootUid
// (Final, RequiredAPI, Native, Public, BlueprintCallable, BlueprintPure, Const)
// Parameters:
// const class FString&                    MeshInstanceUid                                        (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// class FString                           ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, HasGetValueTypeHash, NativeAccessSpecifierPublic)

class FString UInterchangePipelineMeshesUtilities::GetMeshInstanceSkeletonRootUid(const class FString& MeshInstanceUid) const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("InterchangePipelineMeshesUtilities", "GetMeshInstanceSkeletonRootUid");

	Params::InterchangePipelineMeshesUtilities_GetMeshInstanceSkeletonRootUid Parms{};

	Parms.MeshInstanceUid = std::move(MeshInstanceUid);

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


// Function InterchangePipelines.InterchangePipelineMeshesUtilities.IsValidMeshGeometryUid
// (Final, RequiredAPI, Native, Public, BlueprintCallable, BlueprintPure, Const)
// Parameters:
// const class FString&                    MeshGeometryUid                                        (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// bool                                    ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

bool UInterchangePipelineMeshesUtilities::IsValidMeshGeometryUid(const class FString& MeshGeometryUid) const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("InterchangePipelineMeshesUtilities", "IsValidMeshGeometryUid");

	Params::InterchangePipelineMeshesUtilities_IsValidMeshGeometryUid Parms{};

	Parms.MeshGeometryUid = std::move(MeshGeometryUid);

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


// Function InterchangePipelines.InterchangePipelineMeshesUtilities.IsValidMeshInstanceUid
// (Final, RequiredAPI, Native, Public, BlueprintCallable, BlueprintPure, Const)
// Parameters:
// const class FString&                    MeshInstanceUid                                        (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// bool                                    ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

bool UInterchangePipelineMeshesUtilities::IsValidMeshInstanceUid(const class FString& MeshInstanceUid) const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("InterchangePipelineMeshesUtilities", "IsValidMeshInstanceUid");

	Params::InterchangePipelineMeshesUtilities_IsValidMeshInstanceUid Parms{};

	Parms.MeshInstanceUid = std::move(MeshInstanceUid);

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


// Function InterchangePipelines.InterchangePipelineMeshesUtilities.SetContext
// (Final, Native, Public, HasOutParams, BlueprintCallable, BlueprintPure, Const)
// Parameters:
// const struct FInterchangePipelineMeshesUtilitiesContext&Context                                                (ConstParm, Parm, OutParm, ReferenceParm, NoDestructor, NativeAccessSpecifierPublic)

void UInterchangePipelineMeshesUtilities::SetContext(const struct FInterchangePipelineMeshesUtilitiesContext& Context) const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("InterchangePipelineMeshesUtilities", "SetContext");

	Params::InterchangePipelineMeshesUtilities_SetContext Parms{};

	Parms.Context = std::move(Context);

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;
}


SDK_NAMESPACE_END
