AssImpNodeWrapper.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  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/SDKWrapper/NodeWrapper.h>
  10. struct aiScene;
  11. namespace AZ
  12. {
  13. namespace AssImpSDKWrapper
  14. {
  15. class AssImpNodeWrapper : public SDKNode::NodeWrapper
  16. {
  17. public:
  18. AZ_RTTI(AssImpNodeWrapper, "{1043260B-9076-49B7-AD38-EF62E85F7C1D}", SDKNode::NodeWrapper);
  19. AssImpNodeWrapper(aiNode* sourceNode);
  20. ~AssImpNodeWrapper() override = default;
  21. aiNode* GetAssImpNode() const;
  22. const char* GetName() const override;
  23. AZ::u64 GetUniqueId() const override;
  24. int GetChildCount() const override;
  25. const std::shared_ptr<NodeWrapper> GetChild(int childIndex) const override;
  26. const bool ContainsMesh();
  27. bool ContainsBones(const aiScene& scene) const;
  28. int GetMaterialCount() const override;
  29. protected:
  30. aiNode* m_assImpNode = nullptr;
  31. };
  32. } // namespace AssImpSDKWrapper
  33. }// namespace AZ