18 #include <unordered_map>
19 #include "../../core/model/bson/repo_node_mesh.h"
22 namespace manipulator{
23 namespace modelutility{
36 const size_t &vertThreshold);
80 std::vector<float> &minBox,
81 std::vector<float> &maxBox,
82 const size_t &nVertices,
88 const size_t &sVertices,
92 void completeLastMatMapEntry(
93 const size_t &eVertices,
95 const std::vector<float> &minBox = std::vector<float>(),
96 const std::vector<float> &maxBox = std::vector<float>()
103 bool performSplitting();
117 std::vector<repo_mesh_mapping_t> &newMappings,
120 size_t &totalVertexCount,
121 size_t &totalFaceCount);
133 const repoUUID &meshID,
134 const repoUUID &matID,
135 const size_t &sVertices,
146 void updateBoundingBoxes(
147 std::vector<float> &min,
148 std::vector<float> &max,
157 void updateIDMapArray(
159 const size_t &value);
164 const size_t maxVertices;
165 const std::vector<repo_vector_t> oldVertices;
166 const std::vector<repo_vector_t> oldNormals;
167 const std::vector<std::vector<repo_vector2d_t>> oldUVs;
168 const std::vector<repo_face_t> oldFaces;
169 const std::vector<repo_color4d_t> oldColors;
171 std::vector<repo_vector_t> newVertices;
172 std::vector<repo_vector_t> newNormals;
173 std::vector<repo_face_t> newFaces;
174 std::vector<repo_color4d_t> newColors;
175 std::vector<std::vector<repo_vector2d_t>> newUVs;
177 std::vector<uint16_t> serialisedFaces;
179 std::vector<std::vector<float>> idMapBuf;
180 std::unordered_map<repoUUID, std::vector<uint32_t>,
RepoUUIDHasher> splitMap;
181 std::vector<std::vector<repo_mesh_mapping_t>> matMap;
182 std::vector<repo_mesh_mapping_t> reMappedMappings;
repo::core::model::MeshNode getRemappedMesh() const
Definition: repo_mesh_map_reorganiser.cpp:145
std::vector< uint16_t > getSerialisedFaces() const
Definition: repo_mesh_map_reorganiser.cpp:136
MeshMapReorganiser(const repo::core::model::MeshNode *mesh, const size_t &vertThreshold)
Definition: repo_mesh_map_reorganiser.cpp:23
Definition: repo_connection_pool_mongo.h:32
std::vector< std::vector< float > > getIDMapArrays() const
Definition: repo_mesh_map_reorganiser.cpp:127
Definition: repo_mesh_map_reorganiser.h:24
Definition: repo_node_utils.h:67
std::unordered_map< repoUUID, std::vector< uint32_t >, RepoUUIDHasher > getSplitMapping() const
Definition: repo_mesh_map_reorganiser.cpp:141
Definition: repo_node_utils.h:81
Definition: repo_node_utils.h:40
Definition: repo_node_mesh.h:62
std::vector< std::vector< repo_mesh_mapping_t > > getMappingsPerSubMesh() const
Definition: repo_mesh_map_reorganiser.cpp:132