26 #include <assimp/scene.h>
27 #include <assimp/Exporter.hpp>
29 #include "../../../core/model/bson/repo_node_camera.h"
30 #include "../../../core/model/bson/repo_node_material.h"
31 #include "../../../core/model/bson/repo_node_mesh.h"
32 #include "../../../core/model/collection/repo_scene.h"
33 #include "repo_model_export_abstract.h"
36 namespace manipulator{
37 namespace modelconvertor{
59 const std::string &filePath);
85 aiNode* constructAiSceneRecursively(
88 std::vector<aiMesh*> &meshVec,
89 std::vector<aiMaterial*> &matVec,
90 std::vector<aiCamera*> &camVec,
91 repo::core::model::RepoNodeSet &textNodes,
93 = repo::core::model::RepoScene::GraphType::DEFAULT);
114 aiNode* constructAiSceneRecursively(
117 std::vector<aiMesh*> &meshVec,
118 std::vector<aiMaterial*> &matVec,
119 std::vector<aiCamera*> &camVec,
120 std::unordered_map<repoUUID, aiMesh*, RepoUUIDHasher> &meshMap,
121 std::unordered_map<repoUUID, aiMaterial*, RepoUUIDHasher> &materialMap,
122 std::unordered_map<repoUUID, aiCamera*, RepoUUIDHasher> &camMap,
123 repo::core::model::RepoNodeSet &textNodes,
125 = repo::core::model::RepoScene::GraphType::DEFAULT);
135 aiCamera* convertCamera(
138 const std::string &name = std::string());
147 aiMaterial* convertMaterial(
150 repo::core::model::RepoNodeSet &textNodes,
152 = repo::core::model::RepoScene::GraphType::DEFAULT);
168 std::vector<aiMaterial*> &matVec,
169 std::unordered_map<repoUUID, aiMaterial*, RepoUUIDHasher> &matMap,
170 repo::core::model::RepoNodeSet &textNodes,
172 = repo::core::model::RepoScene::GraphType::DEFAULT);
181 aiScene* convertToAssimp(
183 repo::core::model::RepoNodeSet &textNodes,
185 = repo::core::model::RepoScene::GraphType::DEFAULT);
192 std::string getExportFormatID(
193 const std::string &fileExtension);
202 bool writeTexturesToFiles(
203 const repo::core::model::RepoNodeSet &nodes,
204 const std::string &filePath);
212 bool writeSceneToFile(
213 const aiScene *scene,
214 const std::string &filePath);
bool exportToFile(const std::string &filePath)
Definition: repo_model_export_assimp.cpp:633
Definition: repo_connection_pool_mongo.h:32
Definition: repo_node_camera.h:41
Definition: repo_node_material.h:43
Definition: repo_scene.h:44
static std::string getSupportedFormats()
Definition: repo_model_export_assimp.cpp:675
virtual ~AssimpModelExport()
Definition: repo_model_export_assimp.cpp:38
Definition: repo_model_export_abstract.h:31
AssimpModelExport(const repo::core::model::RepoScene *scene)
Definition: repo_model_export_assimp.cpp:33
Definition: repo_node_mesh.h:62
Definition: repo_node.h:33
Definition: repo_model_export_assimp.h:38
GraphType
Definition: repo_scene.h:75