Mesh::Ptr from_draco_point_cloud(std::unique_ptr<draco::PointCloud> draco_pc) { assert(draco_pc); size_t dim; VectorF vertices = extract_vertices(draco_pc, dim); VectorI faces; VectorI voxels; auto mesh = MeshFactory().load_data(vertices, faces, voxels, dim, 3, 4).create(); copy_metadata(draco_pc, mesh); return mesh; }
model* extract_model_adjacency(struct aiMesh mesh) { model* res = malloc(sizeof(model)); extract_vertices(mesh, res); extract_normals(mesh, res); extract_texture_coords(mesh, res); extract_colors(mesh, res); initialize_adjacency_table(mesh); calculate_indices(mesh, res); return res; }
void MeshEditHandler::mesh_updated(const surface_mesh::Surface_mesh& mesh) { mesh_ = &mesh; extract_vertices(); }
TetgenMeshConverter::TetgenMeshConverter(const tetgenio& mesh) { extract_vertices(mesh); extract_faces(mesh); extract_tets(mesh); }
void MeshEditHandler::set_enabled(bool enabled) { enabled_ = enabled; extract_vertices(); }