![]() |
Prusa Slicer 2.6.0
|
Classes | |
| struct | CopyEdgeInfo |
| struct | EdgeInfo |
| struct | Error |
| class | SymMat |
| struct | TriangleInfo |
| struct | VertexInfo |
Typedefs | |
| using | Vertices = std::vector< stl_vertex > |
| using | Triangle = stl_triangle_vertex_indices |
| using | Indices = std::vector< stl_triangle_vertex_indices > |
| using | ThrowOnCancel = std::function< void(void)> |
| using | StatusFn = std::function< void(int)> |
| using | Errors = std::vector< Error > |
| using | TriangleInfos = std::vector< TriangleInfo > |
| using | VertexInfos = std::vector< VertexInfo > |
| using | EdgeInfos = std::vector< EdgeInfo > |
| using | CopyEdgeInfos = std::vector< CopyEdgeInfo > |
Variables | |
| const uint32_t | check_cancel_period = 16 |
| const size_t | max_triangle_count_for_one_vertex = 50 |
| const int | status_init_size = 10 |
| const int | status_normal_size = 25 |
| const int | status_sum_quadric = 25 |
| const int | status_set_offsets = 10 |
| const int | status_calc_errors = 30 |
| const int | status_create_refs = 10 |
| using QuadricEdgeCollapse::CopyEdgeInfos = typedef std::vector<CopyEdgeInfo> |
| using QuadricEdgeCollapse::EdgeInfos = typedef std::vector<EdgeInfo> |
| using QuadricEdgeCollapse::Errors = typedef std::vector<Error> |
| using QuadricEdgeCollapse::Indices = typedef std::vector<stl_triangle_vertex_indices> |
| using QuadricEdgeCollapse::StatusFn = typedef std::function<void(int)> |
| using QuadricEdgeCollapse::ThrowOnCancel = typedef std::function<void(void)> |
| using QuadricEdgeCollapse::Triangle = typedef stl_triangle_vertex_indices |
| using QuadricEdgeCollapse::TriangleInfos = typedef std::vector<TriangleInfo> |
| using QuadricEdgeCollapse::VertexInfos = typedef std::vector<VertexInfo> |
| using QuadricEdgeCollapse::Vertices = typedef std::vector<stl_vertex> |
| Vec3d QuadricEdgeCollapse::calculate_3errors | ( | const Triangle & | t, |
| const Vertices & | vertices, | ||
| const VertexInfos & | v_infos | ||
| ) |
References calculate_error(), and error.
Referenced by calculate_error(), and Slic3r::its_quadric_edge_collapse().
Here is the call graph for this function:
Here is the caller graph for this function:References QuadricEdgeCollapse::SymMat::det().
Referenced by calculate_error(), and calculate_vertex().
Here is the call graph for this function:
Here is the caller graph for this function:| double QuadricEdgeCollapse::calculate_error | ( | uint32_t | id_v1, |
| uint32_t | id_v2, | ||
| const SymMat & | q, | ||
| const Vertices & | vertices | ||
| ) |
References calculate_determinant(), calculate_vertex(), create_vertices(), vertex_error(), and vertices_error().
Referenced by calculate_3errors(), and Slic3r::its_quadric_edge_collapse().
Here is the call graph for this function:
Here is the caller graph for this function:| Error QuadricEdgeCollapse::calculate_error | ( | uint32_t | ti, |
| const Triangle & | t, | ||
| const Vertices & | vertices, | ||
| const VertexInfos & | v_infos, | ||
| unsigned char & | min_index | ||
| ) |
References calculate_3errors(), and error.
Here is the call graph for this function:References QuadricEdgeCollapse::SymMat::det().
Here is the call graph for this function:| Vec3f QuadricEdgeCollapse::calculate_vertex | ( | uint32_t | id_v1, |
| uint32_t | id_v2, | ||
| const SymMat & | q, | ||
| const Vertices & | vertices | ||
| ) |
References calculate_determinant(), calculate_vertex(), create_vertices(), and vertices_error().
Referenced by calculate_error(), calculate_vertex(), and Slic3r::its_quadric_edge_collapse().
Here is the call graph for this function:
Here is the caller graph for this function:| void QuadricEdgeCollapse::change_neighbors | ( | EdgeInfos & | e_infos, |
| VertexInfos & | v_infos, | ||
| uint32_t | ti0, | ||
| uint32_t | ti1, | ||
| uint32_t | vi0, | ||
| uint32_t | vi1, | ||
| uint32_t | vi_top0, | ||
| const Triangle & | t1, | ||
| CopyEdgeInfos & | infos, | ||
| EdgeInfos & | e_infos1 | ||
| ) |
References QuadricEdgeCollapse::VertexInfo::count, QuadricEdgeCollapse::CopyEdgeInfo::count, QuadricEdgeCollapse::CopyEdgeInfo::move, remove_triangle(), save(), QuadricEdgeCollapse::VertexInfo::start, QuadricEdgeCollapse::CopyEdgeInfo::start, and QuadricEdgeCollapse::EdgeInfo::t_index.
Referenced by Slic3r::its_quadric_edge_collapse().
Here is the call graph for this function:
Here is the caller graph for this function:| void QuadricEdgeCollapse::compact | ( | const VertexInfos & | v_infos, |
| const TriangleInfos & | t_infos, | ||
| const EdgeInfos & | e_infos, | ||
| indexed_triangle_set & | its | ||
| ) |
References QuadricEdgeCollapse::VertexInfo::count, QuadricEdgeCollapse::EdgeInfo::edge, indexed_triangle_set::indices, QuadricEdgeCollapse::TriangleInfo::is_deleted(), QuadricEdgeCollapse::VertexInfo::is_deleted(), QuadricEdgeCollapse::VertexInfo::start, QuadricEdgeCollapse::EdgeInfo::t_index, and indexed_triangle_set::vertices.
Referenced by Slic3r::its_quadric_edge_collapse().
Here is the call graph for this function:
Here is the caller graph for this function:| bool QuadricEdgeCollapse::create_no_volume | ( | uint32_t | vi0, |
| uint32_t | vi1, | ||
| uint32_t | ti0, | ||
| uint32_t | ti1, | ||
| const VertexInfo & | v_info0, | ||
| const VertexInfo & | v_info1, | ||
| const EdgeInfos & | e_infos, | ||
| const Indices & | indices | ||
| ) |
References QuadricEdgeCollapse::VertexInfo::count, QuadricEdgeCollapse::VertexInfo::start, and QuadricEdgeCollapse::EdgeInfo::t_index.
Referenced by Slic3r::its_quadric_edge_collapse().
Here is the caller graph for this function:References Slic3r::cross().
Referenced by Slic3r::its_quadric_edge_collapse().
Here is the call graph for this function:
Here is the caller graph for this function:| std::array< Vec3d, 3 > QuadricEdgeCollapse::create_vertices | ( | uint32_t | id_v1, |
| uint32_t | id_v2, | ||
| const Vertices & | vertices | ||
| ) |
Referenced by calculate_error(), and calculate_vertex().
Here is the caller graph for this function:| bool QuadricEdgeCollapse::degenerate | ( | uint32_t | vi, |
| uint32_t | ti0, | ||
| uint32_t | ti1, | ||
| const VertexInfo & | v_info, | ||
| const EdgeInfos & | e_infos, | ||
| const Indices & | indices | ||
| ) |
References QuadricEdgeCollapse::VertexInfo::count, QuadricEdgeCollapse::VertexInfo::start, and QuadricEdgeCollapse::EdgeInfo::t_index.
Referenced by Slic3r::its_quadric_edge_collapse().
Here is the caller graph for this function:| std::optional< uint32_t > QuadricEdgeCollapse::find_triangle_index1 | ( | uint32_t | vi, |
| const VertexInfo & | v_info, | ||
| uint32_t | ti, | ||
| const EdgeInfos & | e_infos, | ||
| const Indices & | indices | ||
| ) |
References QuadricEdgeCollapse::VertexInfo::count, QuadricEdgeCollapse::EdgeInfo::edge, QuadricEdgeCollapse::VertexInfo::start, and QuadricEdgeCollapse::EdgeInfo::t_index.
Referenced by Slic3r::its_quadric_edge_collapse().
Here is the caller graph for this function:| std::tuple< TriangleInfos, VertexInfos, EdgeInfos, Errors > QuadricEdgeCollapse::init | ( | const indexed_triangle_set & | its, |
| ThrowOnCancel & | throw_on_cancel, | ||
| StatusFn & | status_fn | ||
| ) |
References QuadricEdgeCollapse::VertexInfo::count, indexed_triangle_set::indices, QuadricEdgeCollapse::VertexInfo::q, Slic3r::range(), status_normal_size, status_sum_quadric, and indexed_triangle_set::vertices.
Referenced by Slic3r::its_quadric_edge_collapse().
Here is the call graph for this function:
Here is the caller graph for this function:| bool QuadricEdgeCollapse::is_flipped | ( | const Vec3f & | new_vertex, |
| uint32_t | ti0, | ||
| uint32_t | ti1, | ||
| const VertexInfo & | v_info, | ||
| const TriangleInfos & | t_infos, | ||
| const EdgeInfos & | e_infos, | ||
| const indexed_triangle_set & | its | ||
| ) |
References QuadricEdgeCollapse::VertexInfo::count, Slic3r::dot(), QuadricEdgeCollapse::EdgeInfo::edge, indexed_triangle_set::indices, QuadricEdgeCollapse::VertexInfo::start, QuadricEdgeCollapse::EdgeInfo::t_index, and indexed_triangle_set::vertices.
Referenced by Slic3r::its_quadric_edge_collapse().
Here is the call graph for this function:
Here is the caller graph for this function:| void QuadricEdgeCollapse::remove_triangle | ( | EdgeInfos & | e_infos, |
| VertexInfo & | v_info, | ||
| uint32_t | ti | ||
| ) |
References QuadricEdgeCollapse::VertexInfo::count, and QuadricEdgeCollapse::VertexInfo::start.
Referenced by change_neighbors().
Here is the caller graph for this function:| void QuadricEdgeCollapse::reorder_edges | ( | EdgeInfos & | e_infos, |
| const VertexInfo & | v_info, | ||
| uint32_t | ti0, | ||
| uint32_t | ti1 | ||
| ) |
References QuadricEdgeCollapse::VertexInfo::count, QuadricEdgeCollapse::VertexInfo::start, and QuadricEdgeCollapse::EdgeInfo::t_index.
Referenced by Slic3r::its_quadric_edge_collapse().
Here is the caller graph for this function:Referenced by calculate_error(), and vertices_error().
Here is the caller graph for this function:| std::array< double, 3 > QuadricEdgeCollapse::vertices_error | ( | const SymMat & | q, |
| const std::array< Vec3d, 3 > & | vertices | ||
| ) |
References vertex_error().
Referenced by calculate_error(), and calculate_vertex().
Here is the call graph for this function:
Here is the caller graph for this function:Referenced by Slic3r::its_quadric_edge_collapse().
| const size_t QuadricEdgeCollapse::max_triangle_count_for_one_vertex = 50 |
Referenced by Slic3r::its_quadric_edge_collapse().
| const int QuadricEdgeCollapse::status_calc_errors = 30 |
| const int QuadricEdgeCollapse::status_create_refs = 10 |
| const int QuadricEdgeCollapse::status_init_size = 10 |
Referenced by Slic3r::its_quadric_edge_collapse().
| const int QuadricEdgeCollapse::status_set_offsets = 10 |