SceneWrapper.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  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/smart_ptr/shared_ptr.h>
  10. #include <AzCore/std/string/string.h>
  11. #include <SceneAPI/SDKWrapper/NodeWrapper.h>
  12. #include <SceneAPI/SceneCore/Import/SceneImportSettings.h>
  13. struct aiScene;
  14. namespace AZ
  15. {
  16. namespace SDKScene
  17. {
  18. class SceneWrapperBase
  19. {
  20. public:
  21. AZ_RTTI(SceneWrapperBase, "{703CD344-2C75-4F30-8CE2-6BDEF2511AFD}");
  22. virtual ~SceneWrapperBase() = default;
  23. virtual bool LoadSceneFromFile(const char* fileName, const SceneAPI::SceneImportSettings& importSettings = {});
  24. virtual bool LoadSceneFromFile(const AZStd::string& fileName, const SceneAPI::SceneImportSettings& importSettings = {});
  25. virtual const std::shared_ptr<SDKNode::NodeWrapper> GetRootNode() const;
  26. virtual std::shared_ptr<SDKNode::NodeWrapper> GetRootNode();
  27. virtual void Clear();
  28. static const char* s_defaultSceneName;
  29. };
  30. } //namespace Scene
  31. } //namespace AZ