MCPcopy Create free account
hub / github.com/PyMesh/PyMesh / finalize

Method finalize

tools/Wires/Inflator/SimpleInflator.cpp:229–259  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

227}
228
229void SimpleInflator::finalize() {
230 const size_t dim = m_wire_network->get_dim();
231 size_t num_vertices = 0;
232 size_t num_faces = 0;
233 for (auto itr : m_vertex_list) num_vertices += itr.rows();
234 for (auto itr : m_face_list) num_faces += itr.rows();
235
236 m_vertices.resize(num_vertices, dim);
237 m_faces.resize(num_faces, 3);
238 m_face_sources.resize(num_faces);
239
240 size_t vertex_count=0;
241 for (auto itr : m_vertex_list) {
242 size_t size = itr.rows();
243 m_vertices.block(vertex_count, 0, size, dim) = itr;
244 vertex_count += size;
245 }
246
247 size_t face_count=0;
248 auto source_itr = m_face_source_list.begin();
249 for (auto itr : m_face_list) {
250 size_t size = itr.rows();
251 m_faces.block(face_count, 0, size, 3) = itr;
252 m_face_sources.segment(face_count, size) =
253 VectorI::Ones(size) * (*source_itr);
254 face_count += size;
255 source_itr++;
256 }
257
258 clean_up();
259}
260
261void SimpleInflator::refine() {
262 if (!m_refiner) return;

Callers 2

reflectMethod · 0.45
extract_bd_facesMethod · 0.45

Calls 2

get_dimMethod · 0.45
beginMethod · 0.45

Tested by

no test coverage detected