ImportGroup.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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 <SceneAPI/SceneCore/DataTypes/Groups/IImportGroup.h>
  10. #include <SceneAPI/SceneCore/Events/ManifestMetaInfoBus.h>
  11. #include <SceneAPI/SceneData/ManifestBase/SceneNodeSelectionList.h>
  12. namespace AZ
  13. {
  14. class ReflectContext;
  15. }
  16. namespace AZ::SceneAPI::SceneData
  17. {
  18. class SCENE_DATA_CLASS ImportGroup final
  19. : public DataTypes::IImportGroup
  20. {
  21. public:
  22. AZ_RTTI(ImportGroup, "{41DCBEAB-203C-4A05-96FA-98E1D8A96FA1}", DataTypes::IImportGroup);
  23. AZ_CLASS_ALLOCATOR(ImportGroup, SystemAllocator);
  24. static void Reflect(AZ::ReflectContext* context);
  25. SCENE_DATA_API ImportGroup();
  26. SCENE_DATA_API ~ImportGroup() override = default;
  27. SCENE_DATA_API const AZStd::string& GetName() const override;
  28. SCENE_DATA_API const Uuid& GetId() const override;
  29. SCENE_DATA_API Containers::RuleContainer& GetRuleContainer() override;
  30. SCENE_DATA_API const Containers::RuleContainer& GetRuleContainerConst() const override;
  31. SCENE_DATA_API DataTypes::ISceneNodeSelectionList& GetSceneNodeSelectionList() override;
  32. SCENE_DATA_API const DataTypes::ISceneNodeSelectionList& GetSceneNodeSelectionList() const override;
  33. SCENE_DATA_API const SceneImportSettings& GetImportSettings() const override;
  34. SCENE_DATA_API void SetImportSettings(const SceneImportSettings& importSettings) override;
  35. private:
  36. SceneImportSettings m_importSettings;
  37. SceneNodeSelectionList m_nodeSelectionList;
  38. Containers::RuleContainer m_rules;
  39. AZStd::string m_name;
  40. Uuid m_id;
  41. };
  42. }