Classes | |
| struct | CGALMesh |
| struct | CGALMeshDeleter |
Typedefs | |
| using | EpecKernel = CGAL::Exact_predicates_exact_constructions_kernel |
| using | EpicKernel = CGAL::Exact_predicates_inexact_constructions_kernel |
| using | _EpicMesh = CGAL::Surface_mesh<EpicKernel::Point_3> |
| using | _EpecMesh = CGAL::Surface_mesh<EpecKernel::Point_3> |
| using | CGALMeshPtr = std::unique_ptr<CGALMesh, CGALMeshDeleter> |
Functions | |
| void | save_CGALMesh (const std::string &fname, const CGALMesh &cgal_mesh) |
| template<class _Mesh> | |
| void | triangle_mesh_to_cgal (const TriangleMesh &M, _Mesh &out) |
| template<class _Mesh> | |
| void | triangle_mesh_to_cgal (const std::vector< stl_vertex > &V, const std::vector< stl_triangle_vertex_indices > &F, _Mesh &out) |
| Vec3f | to_vec3f (const _EpicMesh::Point &v) |
| Vec3f | to_vec3f (const _EpecMesh::Point &v) |
| template<class _Mesh> | |
| indexed_triangle_set | cgal_to_indexed_triangle_set (const _Mesh &cgalmesh) |
| template<class _Mesh> | |
| TriangleMesh | cgal_to_triangle_mesh (const _Mesh &cgalmesh) |
| std::unique_ptr< CGALMesh, CGALMeshDeleter > | triangle_mesh_to_cgal (const std::vector< stl_vertex > &V, const std::vector< stl_triangle_vertex_indices > &F) |
| TriangleMesh | cgal_to_triangle_mesh (const CGALMesh &cgalmesh) |
| indexed_triangle_set | cgal_to_indexed_triangle_set (const CGALMesh &cgalmesh) |
| indexed_triangle_set | remesh_isotropic (const indexed_triangle_set &mesh, double target_edge_length, unsigned n_iterations, double sharp_angle_deg, unsigned n_relaxation_steps) |
| std::optional< std::vector< Vec2f > > | parameterize_lscm (const indexed_triangle_set &mesh) |
| static bool | _cgal_diff (CGALMesh &A, CGALMesh &B, CGALMesh &R) |
| static bool | _cgal_union (CGALMesh &A, CGALMesh &B, CGALMesh &R) |
| static bool | _cgal_intersection (CGALMesh &A, CGALMesh &B, CGALMesh &R) |
| template<class Op> | |
| void | _cgal_do (Op &&op, CGALMesh &A, CGALMesh &B) |
| void | minus (CGALMesh &A, CGALMesh &B) |
| void | plus (CGALMesh &A, CGALMesh &B) |
| void | intersect (CGALMesh &A, CGALMesh &B) |
| bool | does_self_intersect (const CGALMesh &mesh) |
| void | segment (CGALMesh &src, std::vector< CGALMesh > &dst, double smoothing_alpha=0.5, int segment_number=5) |
| std::vector< TriangleMesh > | segment (const TriangleMesh &src, double smoothing_alpha, int segment_number) |
| void | merge (std::vector< _EpicMesh > &srcs, _EpicMesh &dst) |
| TriangleMesh | merge (std::vector< TriangleMesh > meshes) |
| template<class Op> | |
| void | _mesh_boolean_do (Op &&op, indexed_triangle_set &A, const indexed_triangle_set &B) |
| template<class Op> | |
| void | _mesh_boolean_do (Op &&op, TriangleMesh &A, const TriangleMesh &B) |
| void | minus (TriangleMesh &A, const TriangleMesh &B) |
| void | plus (TriangleMesh &A, const TriangleMesh &B) |
| void | intersect (TriangleMesh &A, const TriangleMesh &B) |
| void | minus (indexed_triangle_set &A, const indexed_triangle_set &B) |
| void | plus (indexed_triangle_set &A, const indexed_triangle_set &B) |
| void | intersect (indexed_triangle_set &A, const indexed_triangle_set &B) |
| bool | does_self_intersect (const TriangleMesh &mesh) |
| bool | does_bound_a_volume (const CGALMesh &mesh) |
| bool | empty (const CGALMesh &mesh) |
| CGALMeshPtr | clone (const CGALMesh &m) |
| CGALMeshPtr | triangle_mesh_to_cgal (const indexed_triangle_set &M) |
| CGALMeshPtr | triangle_mesh_to_cgal (const TriangleMesh &M) |
| using Slic3r::MeshBoolean::cgal::_EpecMesh = CGAL::Surface_mesh<EpecKernel::Point_3> |
| using Slic3r::MeshBoolean::cgal::_EpicMesh = CGAL::Surface_mesh<EpicKernel::Point_3> |
| using Slic3r::MeshBoolean::cgal::CGALMeshPtr = std::unique_ptr<CGALMesh, CGALMeshDeleter> |
| using Slic3r::MeshBoolean::cgal::EpecKernel = CGAL::Exact_predicates_exact_constructions_kernel |
| using Slic3r::MeshBoolean::cgal::EpicKernel = CGAL::Exact_predicates_inexact_constructions_kernel |
References Slic3r::MeshBoolean::cgal::CGALMesh::m.
Referenced by minus(), minus(), and minus().
| void Slic3r::MeshBoolean::cgal::_cgal_do | ( | Op && | op, |
| CGALMesh & | A, | ||
| CGALMesh & | B ) |
References Slic3r::try_catch_signal().
Referenced by _mesh_boolean_do(), _mesh_boolean_do(), intersect(), minus(), and plus().
|
static |
References Slic3r::MeshBoolean::cgal::CGALMesh::m.
Referenced by intersect(), intersect(), and intersect().
| void Slic3r::MeshBoolean::cgal::_mesh_boolean_do | ( | Op && | op, |
| indexed_triangle_set & | A, | ||
| const indexed_triangle_set & | B ) |
References _cgal_do(), cgal_to_indexed_triangle_set(), Slic3r::MeshBoolean::cgal::CGALMesh::m, and triangle_mesh_to_cgal().
Referenced by intersect(), intersect(), minus(), minus(), plus(), and plus().
| void Slic3r::MeshBoolean::cgal::_mesh_boolean_do | ( | Op && | op, |
| TriangleMesh & | A, | ||
| const TriangleMesh & | B ) |
References _cgal_do(), cgal_to_triangle_mesh(), Slic3r::TriangleMesh::its, Slic3r::MeshBoolean::cgal::CGALMesh::m, and triangle_mesh_to_cgal().
| indexed_triangle_set Slic3r::MeshBoolean::cgal::cgal_to_indexed_triangle_set | ( | const _Mesh & | cgalmesh | ) |
References to_vec3f().
Referenced by _mesh_boolean_do(), cgal_to_indexed_triangle_set(), cgal_to_triangle_mesh(), cgal_to_triangle_mesh(), and remesh_isotropic().
| indexed_triangle_set Slic3r::MeshBoolean::cgal::cgal_to_indexed_triangle_set | ( | const CGALMesh & | cgalmesh | ) |
References cgal_to_indexed_triangle_set(), and Slic3r::MeshBoolean::cgal::CGALMesh::m.
| TriangleMesh Slic3r::MeshBoolean::cgal::cgal_to_triangle_mesh | ( | const _Mesh & | cgalmesh | ) |
References cgal_to_indexed_triangle_set().
Referenced by _mesh_boolean_do(), Slic3r::GUI::Plater::combine_mesh_fff(), Slic3r::GUI::Plater::export_stl(), merge(), and segment().
| TriangleMesh Slic3r::MeshBoolean::cgal::cgal_to_triangle_mesh | ( | const CGALMesh & | cgalmesh | ) |
References cgal_to_indexed_triangle_set(), and Slic3r::MeshBoolean::cgal::CGALMesh::m.
| CGALMeshPtr Slic3r::MeshBoolean::cgal::clone | ( | const CGALMesh & | m | ) |
| bool Slic3r::MeshBoolean::cgal::does_bound_a_volume | ( | const CGALMesh & | mesh | ) |
References Slic3r::MeshBoolean::cgal::CGALMesh::m.
Referenced by Slic3r::csg::check_csgmesh_booleans().
| bool Slic3r::MeshBoolean::cgal::does_self_intersect | ( | const CGALMesh & | mesh | ) |
References Slic3r::MeshBoolean::cgal::CGALMesh::m.
Referenced by Slic3r::csg::check_csgmesh_booleans().
| bool Slic3r::MeshBoolean::cgal::does_self_intersect | ( | const TriangleMesh & | mesh | ) |
References Slic3r::TriangleMesh::its, Slic3r::MeshBoolean::cgal::CGALMesh::m, and triangle_mesh_to_cgal().
| bool Slic3r::MeshBoolean::cgal::empty | ( | const CGALMesh & | mesh | ) |
References Slic3r::MeshBoolean::cgal::CGALMesh::m.
Referenced by Slic3r::csg::check_csgmesh_booleans().
References _cgal_do(), and _cgal_intersection().
Referenced by Slic3r::csg::detail_cgal::perform_csg().
| void Slic3r::MeshBoolean::cgal::intersect | ( | indexed_triangle_set & | A, |
| const indexed_triangle_set & | B ) |
References _cgal_intersection(), and _mesh_boolean_do().
| void Slic3r::MeshBoolean::cgal::intersect | ( | TriangleMesh & | A, |
| const TriangleMesh & | B ) |
Referenced by merge(), and Slic3r::ModelObject::merge_volumes().
| TriangleMesh Slic3r::MeshBoolean::cgal::merge | ( | std::vector< TriangleMesh > | meshes | ) |
References cgal_to_triangle_mesh(), merge(), and triangle_mesh_to_cgal().
References _cgal_diff(), and _cgal_do().
Referenced by Slic3r::csg::detail_cgal::perform_csg().
| void Slic3r::MeshBoolean::cgal::minus | ( | indexed_triangle_set & | A, |
| const indexed_triangle_set & | B ) |
| void Slic3r::MeshBoolean::cgal::minus | ( | TriangleMesh & | A, |
| const TriangleMesh & | B ) |
| std::optional< std::vector< Vec2f > > Slic3r::MeshBoolean::cgal::parameterize_lscm | ( | const indexed_triangle_set & | mesh | ) |
References triangle_mesh_to_cgal().
Referenced by Slic3r::compute_patch_unwrap().
References _cgal_do(), and _cgal_union().
Referenced by Slic3r::csg::detail_cgal::perform_csg().
| void Slic3r::MeshBoolean::cgal::plus | ( | indexed_triangle_set & | A, |
| const indexed_triangle_set & | B ) |
| void Slic3r::MeshBoolean::cgal::plus | ( | TriangleMesh & | A, |
| const TriangleMesh & | B ) |
| indexed_triangle_set Slic3r::MeshBoolean::cgal::remesh_isotropic | ( | const indexed_triangle_set & | mesh, |
| double | target_edge_length, | ||
| unsigned | n_iterations, | ||
| double | sharp_angle_deg, | ||
| unsigned | n_relaxation_steps ) |
References cgal_to_indexed_triangle_set(), Slic3r::opposite(), and triangle_mesh_to_cgal().
Referenced by Slic3r::GUI::GLGizmoTextureDisplacement::plan_remesh().
| void Slic3r::MeshBoolean::cgal::save_CGALMesh | ( | const std::string & | fname, |
| const CGALMesh & | cgal_mesh ) |
References Slic3r::MeshBoolean::cgal::CGALMesh::m.
| void Slic3r::MeshBoolean::cgal::segment | ( | CGALMesh & | src, |
| std::vector< CGALMesh > & | dst, | ||
| double | smoothing_alpha = 0.5, | ||
| int | segment_number = 5 ) |
References Slic3r::MeshBoolean::cgal::CGALMesh::m.
Referenced by segment().
| std::vector< TriangleMesh > Slic3r::MeshBoolean::cgal::segment | ( | const TriangleMesh & | src, |
| double | smoothing_alpha, | ||
| int | segment_number ) |
References cgal_to_triangle_mesh(), Slic3r::MeshBoolean::cgal::CGALMesh::m, segment(), and triangle_mesh_to_cgal().
|
inline |
|
inline |
Referenced by cgal_to_indexed_triangle_set().
|
inline |
| CGALMeshPtr Slic3r::MeshBoolean::cgal::triangle_mesh_to_cgal | ( | const std::vector< stl_vertex > & | V, |
| const std::vector< stl_triangle_vertex_indices > & | F ) |
References Slic3r::F, and triangle_mesh_to_cgal().
| void Slic3r::MeshBoolean::cgal::triangle_mesh_to_cgal | ( | const std::vector< stl_vertex > & | V, |
| const std::vector< stl_triangle_vertex_indices > & | F, | ||
| _Mesh & | out ) |
References Slic3r::F, and Slic3r::f().
|
inline |
References Slic3r::TriangleMesh::its, and triangle_mesh_to_cgal().
| void Slic3r::MeshBoolean::cgal::triangle_mesh_to_cgal | ( | const TriangleMesh & | M, |
| _Mesh & | out ) |
References Slic3r::TriangleMesh::empty(), Slic3r::f(), and Slic3r::TriangleMesh::its.
Referenced by _mesh_boolean_do(), _mesh_boolean_do(), Slic3r::csg::check_csgmesh_booleans(), does_self_intersect(), Slic3r::csg::get_cgalmesh(), merge(), parameterize_lscm(), Slic3r::csg::perform_csgmesh_booleans(), Slic3r::csg::perform_csgmesh_booleans_cgal(), remesh_isotropic(), segment(), triangle_mesh_to_cgal(), triangle_mesh_to_cgal(), and triangle_mesh_to_cgal().