/* * Copyright (c) Contributors to the Open 3D Engine Project. * For complete copyright and license terms please see the LICENSE at the root of this distribution. * * SPDX-License-Identifier: Apache-2.0 OR MIT * */ #pragma once #include #include #include namespace NvCloth { //! Implementation of the IFabricCooker interface. class FabricCooker : public AZ::Interface::Registrar { public: AZ_RTTI(FabricCooker, "{14EC2D3E-A36C-466E-BBDB-462A9194586E}", IFabricCooker); protected: // IFabricCooker overrides ... AZStd::optional CookFabric( const AZStd::vector& particles, const AZStd::vector& indices, const AZ::Vector3& fabricGravity = AZ::Vector3(0.0f, 0.0f, -9.81f), bool useGeodesicTether = true) override; void SimplifyMesh( const AZStd::vector& particles, const AZStd::vector& indices, AZStd::vector& simplifiedParticles, AZStd::vector& simplifiedIndices, AZStd::vector& remappedVertices, bool removeStaticTriangles = true) override; }; } // namespace NvCloth