// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "ChaosSolversModule.h" #include "Chaos/Serializable.h" #include "GeometryCollection/GeometryCollectionSimulationTypes.h" //#include "GeometryCollection/GeometryCollection.h" #include "PhysicsProxy/GeometryCollectionPhysicsProxy.h" #include "Templates/SharedPointer.h" #include "Chaos/PBDRigidsEvolutionFwd.h" class FGeometryCollection; class FGeometryDynamicCollection; struct FSimulationParameters; namespace GeometryCollectionTest { TSharedPtr GeometryCollectionToGeometryDynamicCollection(TSharedPtr InputCollection, EObjectStateTypeEnum DynamicStateDefault = EObjectStateTypeEnum::Chaos_Object_Dynamic); TSharedPtr CreateClusteredBody(FVector Position); TSharedPtr CreateClusteredBody_OnePartent_FourBodies(FVector Position); TSharedPtr CreateClusteredBody_TwoParents_TwoBodies(FVector Position); TSharedPtr CreateClusteredBody_TwoParents_TwoBodiesB(FVector Position); TSharedPtr CreateClusteredBody_FourParents_OneBody(FVector Position); TSharedPtr CreateClusteredBody_TwoByTwo_ThreeTransform(FVector Position); TSharedPtr CreateClusteredBody_ThreeByTwo_ThreeTransform(FVector Position); TSharedPtr CreateClusteredBody_FracturedGeometry(FVector Position = FVector(0)); void InitMaterialToZero(Chaos::FChaosPhysicsMaterial * PhysicalMaterial); /* using FInitFunc = TFunction; FGeometryCollectionPhysicsProxy* RigidBodySetup( TUniquePtr &PhysicalMaterial, TSharedPtr &RestCollection, TSharedPtr &DynamicCollection, FInitFunc CustomFunc = nullptr ); */ }