12 Vector3d min = Vector3d::Zero();
13 Vector3d max = Vector3d::Ones();
14 Vector3d box_min = Vector3d::Zero();
15 Vector3d box_max = Vector3d::Ones();
16 bool preserve_topology =
false;
17 std::string output_path;
19 double splitting_l2 = -1.;
20 double collapsing_l2 =
21 std::numeric_limits<double>::max();
23 double stop_energy = 10;
25 bool debug_output =
false;
26 bool perform_sanity_checks =
false;
28 void init(
const Vector3d& min_,
const Vector3d& max_)
32 diag_l = (max - min).norm();
37 splitting_l2 = l * l * (16 / 9.);
38 collapsing_l2 = l * l * (16 / 25.);
48 const std::vector<Vector3d>& vertices,
49 const std::vector<std::array<size_t, 3>>& faces)
52 for (
size_t i = 0; i < vertices.size(); i++) {
58 for (
int j = 0; j < 3; j++) {
59 if (vertices[i][j] < min_[j]) min_[j] = vertices[i][j];
60 if (vertices[i][j] > max_[j]) max_[j] = vertices[i][j];