/* * 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 ///////////////////////////////////////////////////////////////////////////// // // Asset Importer Document hosts FBX back-end data storage and access, // loading and saving APIs. // ///////////////////////////////////////////////////////////////////////////// #include #include #include #include #include #include #include #include #include class QWidget; namespace AZ { namespace SceneAPI { namespace DataTypes { class ISceneNodeGroup; class IMeshGroup; class ISkeletonGroup; class ISkinGroup; class IAnimationGroup; class IMaterialRule; class IActorGroup; class IEFXMotionGroup; } } } class AssetImporterDocument { public: AssetImporterDocument(); virtual ~AssetImporterDocument() = default; bool LoadScene(const AZStd::string& sceneFullPath); void SaveScene(AZStd::shared_ptr& output, AZ::SaveCompleteCallback onSaveComplete); void ClearScene(); AZStd::shared_ptr& GetScene(); protected: void SaveManifest(); AZStd::shared_ptr m_scene; AZStd::shared_ptr m_saveRunner; };