SimulatedObjectHelpers.h 1.2 KB

123456789101112131415161718192021222324252627282930
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #pragma once
  9. #include <AzCore/std/optional.h>
  10. #include <EMotionFX/Source/SimulatedObjectSetup.h>
  11. #include <QModelIndexList>
  12. namespace MCore { class CommandGroup; }
  13. namespace EMotionFX
  14. {
  15. class SimulatedObjectHelpers
  16. {
  17. public:
  18. static bool AddSimulatedObject(AZ::u32 actorID, AZStd::optional<AZStd::string> name = AZStd::nullopt, MCore::CommandGroup* commandGroup = nullptr);
  19. static bool AddSimulatedJoints(const QModelIndexList& modelIndices /* SkeletonModel */, size_t objectIndex, bool addChildren, MCore::CommandGroup* commandGroup = nullptr);
  20. static void RemoveSimulatedObject(const QModelIndex& modelIndex /* SimulatedObjectModel */);
  21. static void RemoveSimulatedJoint(const QModelIndex& modelIndex /* SimulatedObjectModel */, bool removeChildren);
  22. static void RemoveSimulatedJoints(const QModelIndexList& modelIndices /* SimulatedObjectModel */, bool removeChildren);
  23. };
  24. } // namespace EMotionFX