26 #include "repo_model_export_web.h"
27 #include "../../../lib/repo_property_tree.h"
28 #include "../../../core/model/collection/repo_scene.h"
31 namespace manipulator{
32 namespace modelconvertor{
55 std::unordered_map<std::string, std::vector<uint8_t>> fullDataBuffer;
58 const std::string &accName,
59 const std::string &buffViewName,
61 const std::vector<uint16_t> &faces,
62 const uint32_t &addrFrom,
63 const uint32_t &addrTo,
64 const std::string &refId = std::string(),
65 const std::vector<uint16_t> &lod = std::vector<uint16_t>(),
66 const size_t &offset = 0);
69 const std::string &accName,
70 const std::string &buffViewName,
72 const std::vector<float> &data,
73 const uint32_t &addrFrom,
74 const uint32_t &addrTo,
75 const std::string &refId,
76 const size_t &offset);
79 const std::string &accName,
80 const std::string &buffViewName,
82 const std::vector<repo_vector2d_t> &buffer,
83 const uint32_t &addrFrom,
84 const uint32_t &addrTo,
85 const std::string &refId = std::string(),
86 const size_t &offset = 0);
89 const std::string &accName,
90 const std::string &buffViewName,
92 const std::vector<repo_vector_t> &buffer,
93 const uint32_t &addrFrom,
94 const uint32_t &addrTo,
95 const std::string &refId = std::string(),
96 const size_t &offset = 0);
112 const std::string &accName,
113 const std::string &buffViewName,
116 const size_t &offset,
117 const size_t &stride,
118 const uint32_t &componentType,
119 const std::string &bufferType,
120 const std::vector<float> &min,
121 const std::vector<float> &max,
122 const std::string &refId = std::string(),
123 const std::vector<uint16_t> &lod = std::vector<uint16_t>());
135 const std::string &name,
136 const std::string &fileName,
138 const std::vector<uint16_t> &buffer,
139 const size_t &offset,
141 const std::string &refId = std::string()
145 const std::string &name,
146 const std::string &fileName,
148 const std::vector<float> &buffer,
149 const size_t &offset,
151 const std::string &refId);
154 const std::string &name,
155 const std::string &fileName,
157 const std::vector<repo_vector_t> &buffer,
158 const size_t &offset,
160 const std::string &refId = std::string()
164 const std::string &name,
165 const std::string &fileName,
167 const std::vector<repo_vector2d_t> &buffer,
168 const size_t &offset,
170 const std::string &refId = std::string()
183 const std::string &name,
184 const std::string &fileName,
186 const size_t &byteLength,
187 const size_t &offset,
188 const uint32_t &bufferTarget,
189 const std::string &refId = std::string()
199 size_t addToDataBuffer(
200 const std::string &bufferName,
201 const uint8_t *buffer,
202 const size_t &byteLength
205 template <
typename T>
206 size_t addToDataBuffer(
207 const std::string &bufferName,
208 const std::vector<T> &buffer
211 return addToDataBuffer(bufferName, (uint8_t*)buffer.data(), buffer.size() *
sizeof(T));
227 bool generateTreeRepresentation();
239 std::unordered_map<std::string, std::vector<uint8_t>> getGLTFFilesAsBuffer()
const;
247 const std::vector<std::vector<repo_mesh_mapping_t>> &matMap,
248 std::vector<uint16_t> &faces);
256 void processNodeChildren(
259 const std::unordered_map<repoUUID, uint32_t, RepoUUIDHasher> &subMeshCounts
266 void populateWithCameras(
273 void populateWithMaterials(
279 std::unordered_map<repoUUID, uint32_t, RepoUUIDHasher>
287 void populateWithTextures(
294 void populateWithNodes(
296 const std::unordered_map<repoUUID, uint32_t, RepoUUIDHasher> &subMeshCounts);
298 std::vector<std::vector<std::vector<uint16_t>>> reorderFaces(
299 std::vector<uint16_t> &faces,
300 const std::vector<repo_vector_t> &vertices,
301 const std::vector<std::vector<repo_mesh_mapping_t>> &mapping);
310 std::vector<uint16_t> reorderFaces(
311 const std::vector<uint16_t> &faces,
312 const std::vector<repo_vector_t> &vertices,
314 std::vector<uint16_t> &lods)
const;
316 std::vector<uint16_t> serialiseFaces(
317 const std::vector<repo_face_t> &faces)
const;
334 void writeDefaultSampler(
346 void writeDefaultTechnique(
Definition: repo_connection_pool_mongo.h:32
Definition: repo_property_tree.h:29
Definition: repo_scene.h:44
Definition: repo_model_export_web.h:36
Definition: repo_model_export_gltf.h:33
Definition: repo_node_utils.h:81
Definition: repo_node.h:33
repo_web_buffers_t getAllFilesExportedAsBuffer() const
Definition: repo_model_export_gltf.cpp:556
virtual ~GLTFModelExport()
Definition: repo_model_export_gltf.cpp:207
Definition: repo_structs.h:25
GLTFModelExport(const repo::core::model::RepoScene *scene)
Definition: repo_model_export_gltf.cpp:191