// Copyright Epic Games, Inc. All Rights Reserved.
/*===========================================================================
	Generated code exported from UnrealHeaderTool.
	DO NOT modify this manually! Edit the corresponding .h files instead!
===========================================================================*/

#include "UObject/GeneratedCppIncludes.h"
#include "AGXUnreal/Public/Constraints/AGX_ConstraintBodyAttachment.h"
#include "AGXUnreal/Public/AGX_RigidBodyReference.h"
#include "AGXUnreal/Public/AGX_SceneComponentReference.h"
PRAGMA_DISABLE_DEPRECATION_WARNINGS
void EmptyLinkFunctionForGeneratedCodeAGX_ConstraintBodyAttachment() {}
// Cross Module References
	AGXUNREAL_API UEnum* Z_Construct_UEnum_AGXUnreal_EAGX_FrameDefiningSource();
	AGXUNREAL_API UScriptStruct* Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment();
	AGXUNREAL_API UScriptStruct* Z_Construct_UScriptStruct_FAGX_RigidBodyReference();
	AGXUNREAL_API UScriptStruct* Z_Construct_UScriptStruct_FAGX_SceneComponentReference();
	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FRotator();
	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FVector();
	ENGINE_API UClass* Z_Construct_UClass_AActor_NoRegister();
	UPackage* Z_Construct_UPackage__Script_AGXUnreal();
// End Cross Module References
	static FStructRegistrationInfo Z_Registration_Info_UScriptStruct_AGX_ConstraintBodyAttachment;
class UScriptStruct* FAGX_ConstraintBodyAttachment::StaticStruct()
{
	if (!Z_Registration_Info_UScriptStruct_AGX_ConstraintBodyAttachment.OuterSingleton)
	{
		Z_Registration_Info_UScriptStruct_AGX_ConstraintBodyAttachment.OuterSingleton = GetStaticStruct(Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment, (UObject*)Z_Construct_UPackage__Script_AGXUnreal(), TEXT("AGX_ConstraintBodyAttachment"));
	}
	return Z_Registration_Info_UScriptStruct_AGX_ConstraintBodyAttachment.OuterSingleton;
}
template<> AGXUNREAL_API UScriptStruct* StaticStruct<FAGX_ConstraintBodyAttachment>()
{
	return FAGX_ConstraintBodyAttachment::StaticStruct();
}
	struct Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics
	{
#if WITH_METADATA
		static const UECodeGen_Private::FMetaDataPairParam Struct_MetaDataParams[];
#endif
		static void* NewStructOps();
#if WITH_METADATA
		static const UECodeGen_Private::FMetaDataPairParam NewProp_RigidBody_MetaData[];
#endif
		static const UECodeGen_Private::FStructPropertyParams NewProp_RigidBody;
#if WITH_METADATA
		static const UECodeGen_Private::FMetaDataPairParam NewProp_FrameDefiningSource_MetaData[];
#endif
		static const UECodeGen_Private::FBytePropertyParams NewProp_FrameDefiningSource;
#if WITH_METADATA
		static const UECodeGen_Private::FMetaDataPairParam NewProp_FrameDefiningComponent_MetaData[];
#endif
		static const UECodeGen_Private::FStructPropertyParams NewProp_FrameDefiningComponent;
#if WITH_METADATA
		static const UECodeGen_Private::FMetaDataPairParam NewProp_LocalFrameLocation_MetaData[];
#endif
		static const UECodeGen_Private::FStructPropertyParams NewProp_LocalFrameLocation;
#if WITH_METADATA
		static const UECodeGen_Private::FMetaDataPairParam NewProp_LocalFrameRotation_MetaData[];
#endif
		static const UECodeGen_Private::FStructPropertyParams NewProp_LocalFrameRotation;
#if WITH_METADATA
		static const UECodeGen_Private::FMetaDataPairParam NewProp_RecentFrameDefiningActor_MetaData[];
#endif
		static const UECodeGen_Private::FObjectPropertyParams NewProp_RecentFrameDefiningActor;
		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
		static const UECodeGen_Private::FStructParams ReturnStructParams;
	};
#if WITH_METADATA
	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::Struct_MetaDataParams[] = {
		{ "Comment", "/**\n * Defines the Rigid Body to be bound by a Constraint and an attachment frame that is\n * defined by the transform of either the Constraint itself, the Rigid Body or some other Actor\n * or Component plus an optional offset given by the Local Frame Location and Rotation.\n *\n * Whether the constraint itself, the Rigid Body or some other Actor or Component should be used\n * to define the attachment frame can be selected by changing the Frame Defining Source accordingly.\n */" },
		{ "ModuleRelativePath", "Public/Constraints/AGX_ConstraintBodyAttachment.h" },
		{ "ToolTip", "Defines the Rigid Body to be bound by a Constraint and an attachment frame that is\ndefined by the transform of either the Constraint itself, the Rigid Body or some other Actor\nor Component plus an optional offset given by the Local Frame Location and Rotation.\n\nWhether the constraint itself, the Rigid Body or some other Actor or Component should be used\nto define the attachment frame can be selected by changing the Frame Defining Source accordingly." },
	};
#endif
	void* Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewStructOps()
	{
		return (UScriptStruct::ICppStructOps*)new UScriptStruct::TCppStructOps<FAGX_ConstraintBodyAttachment>();
	}
#if WITH_METADATA
	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewProp_RigidBody_MetaData[] = {
		{ "Category", "Rigid Body" },
		{ "Comment", "/// \\todo Cannot assume a single body per actor. Should we change the UPROPERTY\n/// to be a UAGX_RigidBodyComponent instead, or should we keep the Actor\n/// reference and also keep some kind of component identifier? Should we use\n/// FComponentRef here?\n" },
		{ "ModuleRelativePath", "Public/Constraints/AGX_ConstraintBodyAttachment.h" },
		{ "ToolTip", "\\todo Cannot assume a single body per actor. Should we change the UPROPERTY\nto be a UAGX_RigidBodyComponent instead, or should we keep the Actor\nreference and also keep some kind of component identifier? Should we use\nFComponentRef here?" },
	};
#endif
	const UECodeGen_Private::FStructPropertyParams Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewProp_RigidBody = { "RigidBody", nullptr, (EPropertyFlags)0x0010000000000001, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FAGX_ConstraintBodyAttachment, RigidBody), Z_Construct_UScriptStruct_FAGX_RigidBodyReference, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewProp_RigidBody_MetaData), Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewProp_RigidBody_MetaData) }; // 1063004883
#if WITH_METADATA
	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewProp_FrameDefiningSource_MetaData[] = {
		{ "Category", "Frame Transformation" },
		{ "ModuleRelativePath", "Public/Constraints/AGX_ConstraintBodyAttachment.h" },
	};
#endif
	const UECodeGen_Private::FBytePropertyParams Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewProp_FrameDefiningSource = { "FrameDefiningSource", nullptr, (EPropertyFlags)0x0010000000000001, UECodeGen_Private::EPropertyGenFlags::Byte, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FAGX_ConstraintBodyAttachment, FrameDefiningSource), Z_Construct_UEnum_AGXUnreal_EAGX_FrameDefiningSource, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewProp_FrameDefiningSource_MetaData), Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewProp_FrameDefiningSource_MetaData) }; // 2494021846
#if WITH_METADATA
	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewProp_FrameDefiningComponent_MetaData[] = {
		{ "Category", "Frame Transformation" },
		{ "Comment", "/**\n\x09 * The Frame Defining Component makes it possible to use the transform of any Actor or Component\n\x09 * to define the attachment frame of the Constrained Rigid Body.\n\x09 *\n\x09 * Note that the two rigid bodies in a  constraint can use the same Frame Defining Component, or\n\x09 * different, or one can have one and the other not.\n\x09 * AGX Dynamics for Unreal provides Constraint Frame Component which is intended for this\n\x09 * purpose. It provides constraint listing and visualization making it possible to see which\n\x09 * constraints are using that Constraint Frame Component.\n\x09 */" },
		{ "EditCondition", "FrameDefiningSource == EAGX_FrameDefiningSource::Other" },
		{ "ModuleRelativePath", "Public/Constraints/AGX_ConstraintBodyAttachment.h" },
		{ "ToolTip", "The Frame Defining Component makes it possible to use the transform of any Actor or Component\nto define the attachment frame of the Constrained Rigid Body.\n\nNote that the two rigid bodies in a  constraint can use the same Frame Defining Component, or\ndifferent, or one can have one and the other not.\nAGX Dynamics for Unreal provides Constraint Frame Component which is intended for this\npurpose. It provides constraint listing and visualization making it possible to see which\nconstraints are using that Constraint Frame Component." },
	};
#endif
	const UECodeGen_Private::FStructPropertyParams Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewProp_FrameDefiningComponent = { "FrameDefiningComponent", nullptr, (EPropertyFlags)0x0010000000000001, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FAGX_ConstraintBodyAttachment, FrameDefiningComponent), Z_Construct_UScriptStruct_FAGX_SceneComponentReference, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewProp_FrameDefiningComponent_MetaData), Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewProp_FrameDefiningComponent_MetaData) }; // 2114450808
#if WITH_METADATA
	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewProp_LocalFrameLocation_MetaData[] = {
		{ "Category", "Frame Transformation" },
		{ "Comment", "/** Frame location relative to either the Constraint, the Rigid Body Actor or from the Frame\n\x09 * Defining Actor. */" },
		{ "ModuleRelativePath", "Public/Constraints/AGX_ConstraintBodyAttachment.h" },
		{ "ToolTip", "Frame location relative to either the Constraint, the Rigid Body Actor or from the Frame\nDefining Actor." },
	};
#endif
	const UECodeGen_Private::FStructPropertyParams Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewProp_LocalFrameLocation = { "LocalFrameLocation", nullptr, (EPropertyFlags)0x0010000000000001, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FAGX_ConstraintBodyAttachment, LocalFrameLocation), Z_Construct_UScriptStruct_FVector, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewProp_LocalFrameLocation_MetaData), Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewProp_LocalFrameLocation_MetaData) };
#if WITH_METADATA
	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewProp_LocalFrameRotation_MetaData[] = {
		{ "Category", "Frame Transformation" },
		{ "Comment", "/** Frame rotation relative to to either the Constraint, the Rigid Body Actor or from the Frame\n\x09 * Defining Actor. */" },
		{ "ModuleRelativePath", "Public/Constraints/AGX_ConstraintBodyAttachment.h" },
		{ "ToolTip", "Frame rotation relative to to either the Constraint, the Rigid Body Actor or from the Frame\nDefining Actor." },
	};
#endif
	const UECodeGen_Private::FStructPropertyParams Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewProp_LocalFrameRotation = { "LocalFrameRotation", nullptr, (EPropertyFlags)0x0010000000000001, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FAGX_ConstraintBodyAttachment, LocalFrameRotation), Z_Construct_UScriptStruct_FRotator, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewProp_LocalFrameRotation_MetaData), Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewProp_LocalFrameRotation_MetaData) };
#if WITH_METADATA
	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewProp_RecentFrameDefiningActor_MetaData[] = {
		{ "Comment", "/**\n\x09 * Used only to be able to call some cleanup functions on previous Frame Defining Actor\n\x09 * whenever Frame Defining Actor is set to another actor.\n\x09 */" },
		{ "ModuleRelativePath", "Public/Constraints/AGX_ConstraintBodyAttachment.h" },
		{ "ToolTip", "Used only to be able to call some cleanup functions on previous Frame Defining Actor\nwhenever Frame Defining Actor is set to another actor." },
	};
#endif
	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewProp_RecentFrameDefiningActor = { "RecentFrameDefiningActor", nullptr, (EPropertyFlags)0x0040000000002000, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FAGX_ConstraintBodyAttachment, RecentFrameDefiningActor), Z_Construct_UClass_AActor_NoRegister, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewProp_RecentFrameDefiningActor_MetaData), Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewProp_RecentFrameDefiningActor_MetaData) };
	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::PropPointers[] = {
		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewProp_RigidBody,
		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewProp_FrameDefiningSource,
		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewProp_FrameDefiningComponent,
		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewProp_LocalFrameLocation,
		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewProp_LocalFrameRotation,
		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewProp_RecentFrameDefiningActor,
	};
	const UECodeGen_Private::FStructParams Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::ReturnStructParams = {
		(UObject* (*)())Z_Construct_UPackage__Script_AGXUnreal,
		nullptr,
		&NewStructOps,
		"AGX_ConstraintBodyAttachment",
		Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::PropPointers,
		UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::PropPointers),
		sizeof(FAGX_ConstraintBodyAttachment),
		alignof(FAGX_ConstraintBodyAttachment),
		RF_Public|RF_Transient|RF_MarkAsNative,
		EStructFlags(0x00000201),
		METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::Struct_MetaDataParams), Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::Struct_MetaDataParams)
	};
	static_assert(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::PropPointers) < 2048);
	UScriptStruct* Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment()
	{
		if (!Z_Registration_Info_UScriptStruct_AGX_ConstraintBodyAttachment.InnerSingleton)
		{
			UECodeGen_Private::ConstructUScriptStruct(Z_Registration_Info_UScriptStruct_AGX_ConstraintBodyAttachment.InnerSingleton, Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::ReturnStructParams);
		}
		return Z_Registration_Info_UScriptStruct_AGX_ConstraintBodyAttachment.InnerSingleton;
	}
	struct Z_CompiledInDeferFile_FID_GitLab_Runner_builds_9YzzThLq_0_algoryx_unreal_agxunreal_staging_selfhosted_build_AGXUnreal_HostProject_Plugins_AGXUnreal_Source_AGXUnreal_Public_Constraints_AGX_ConstraintBodyAttachment_h_Statics
	{
		static const FStructRegisterCompiledInInfo ScriptStructInfo[];
	};
	const FStructRegisterCompiledInInfo Z_CompiledInDeferFile_FID_GitLab_Runner_builds_9YzzThLq_0_algoryx_unreal_agxunreal_staging_selfhosted_build_AGXUnreal_HostProject_Plugins_AGXUnreal_Source_AGXUnreal_Public_Constraints_AGX_ConstraintBodyAttachment_h_Statics::ScriptStructInfo[] = {
		{ FAGX_ConstraintBodyAttachment::StaticStruct, Z_Construct_UScriptStruct_FAGX_ConstraintBodyAttachment_Statics::NewStructOps, TEXT("AGX_ConstraintBodyAttachment"), &Z_Registration_Info_UScriptStruct_AGX_ConstraintBodyAttachment, CONSTRUCT_RELOAD_VERSION_INFO(FStructReloadVersionInfo, sizeof(FAGX_ConstraintBodyAttachment), 2861117364U) },
	};
	static FRegisterCompiledInInfo Z_CompiledInDeferFile_FID_GitLab_Runner_builds_9YzzThLq_0_algoryx_unreal_agxunreal_staging_selfhosted_build_AGXUnreal_HostProject_Plugins_AGXUnreal_Source_AGXUnreal_Public_Constraints_AGX_ConstraintBodyAttachment_h_176376229(TEXT("/Script/AGXUnreal"),
		nullptr, 0,
		Z_CompiledInDeferFile_FID_GitLab_Runner_builds_9YzzThLq_0_algoryx_unreal_agxunreal_staging_selfhosted_build_AGXUnreal_HostProject_Plugins_AGXUnreal_Source_AGXUnreal_Public_Constraints_AGX_ConstraintBodyAttachment_h_Statics::ScriptStructInfo, UE_ARRAY_COUNT(Z_CompiledInDeferFile_FID_GitLab_Runner_builds_9YzzThLq_0_algoryx_unreal_agxunreal_staging_selfhosted_build_AGXUnreal_HostProject_Plugins_AGXUnreal_Source_AGXUnreal_Public_Constraints_AGX_ConstraintBodyAttachment_h_Statics::ScriptStructInfo),
		nullptr, 0);
PRAGMA_ENABLE_DEPRECATION_WARNINGS
