Namespaces | |
| namespace | detail_cgal |
| namespace | detail_mcut |
| namespace | detail |
Classes | |
| struct | CSGPart |
Enumerations | |
| enum class | CSGType { Union , Difference , Intersection } |
| enum class | CSGStackOp { Push , Continue , Pop } |
| enum | ModelParts { mpartsPositive = 1 , mpartsNegative = 2 , mpartsDrillHoles = 4 , mpartsDoSplits = 8 } |
| enum class | BooleanFailReason { OK , MeshEmpty , NotBoundAVolume , SelfIntersect , NoIntersection } |
Functions | |
| template<class CSGPartT> | |
| CSGType | get_operation (const CSGPartT &part) |
| template<class CSGPartT> | |
| CSGStackOp | get_stack_operation (const CSGPartT &part) |
| template<class CSGPartT> | |
| const indexed_triangle_set * | get_mesh (const CSGPartT &part) |
| template<class CSGPartT> | |
| Transform3f | get_transform (const CSGPartT &part) |
| template<class Cont> | |
| bool | is_all_positive (const Cont &csgmesh) |
| template<class Cont> | |
| indexed_triangle_set | csgmesh_merge_positive_parts (const Cont &csgmesh) |
| template<class It, class OutIt> | |
| void | copy_csgrange_shallow (const Range< It > &csgrange, OutIt out) |
| template<class It, class OutIt> | |
| void | copy_csgrange_deep (const Range< It > &csgrange, OutIt out) |
| template<class ItA, class ItB> | |
| bool | is_same (const Range< ItA > &A, const Range< ItB > &B) |
| template<class OutIt> | |
| bool | model_to_csgmesh (const ModelObject &mo, const Transform3d &trafo, OutIt out, int parts_to_include=mpartsPositive) |
| template<class CSGPartT> | |
| MeshBoolean::cgal::CGALMeshPtr | get_cgalmesh (const CSGPartT &csgpart) |
| template<class CSGPartT> | |
| MeshBoolean::mcut::McutMeshPtr | get_mcutmesh (const CSGPartT &csgpart) |
| template<class It> | |
| void | perform_csgmesh_booleans_cgal (MeshBoolean::cgal::CGALMeshPtr &cgalm, const Range< It > &csgrange) |
| template<class It> | |
| void | perform_csgmesh_booleans_mcut (MeshBoolean::mcut::McutMeshPtr &mcutm, const Range< It > &csgrange) |
| template<class It, class Visitor> | |
| std::tuple< BooleanFailReason, std::string, It > | check_csgmesh_booleans (const Range< It > &csgrange, Visitor &&vfn) |
| template<class It> | |
| std::tuple< BooleanFailReason, std::string, It > | check_csgmesh_booleans (const Range< It > &csgrange, bool use_mcut=false) |
| template<class It> | |
| MeshBoolean::cgal::CGALMeshPtr | perform_csgmesh_booleans (const Range< It > &csgparts) |
| template<class It> | |
| MeshBoolean::mcut::McutMeshPtr | perform_csgmesh_booleans_mcut (const Range< It > &csgparts) |
| template<class ItCSG> | |
| std::vector< ExPolygons > | slice_csgmesh_ex (const Range< ItCSG > &csgrange, const std::vector< float > &slicegrid, const MeshSlicingParamsEx ¶ms, const std::function< void()> &throw_on_cancel=[] {}) |
| CSGType | get_operation (const indexed_triangle_set &part) |
| CSGStackOp | get_stack_operation (const indexed_triangle_set &part) |
| const indexed_triangle_set * | get_mesh (const indexed_triangle_set &part) |
| Transform3f | get_transform (const indexed_triangle_set &part) |
| CSGType | get_operation (const indexed_triangle_set *const part) |
| CSGStackOp | get_stack_operation (const indexed_triangle_set *const part) |
| const indexed_triangle_set * | get_mesh (const indexed_triangle_set *const part) |
| Transform3f | get_transform (const indexed_triangle_set *const part) |
| CSGType | get_operation (const TriangleMesh &part) |
| CSGStackOp | get_stack_operation (const TriangleMesh &part) |
| const indexed_triangle_set * | get_mesh (const TriangleMesh &part) |
| Transform3f | get_transform (const TriangleMesh &part) |
| CSGType | get_operation (const TriangleMesh *const part) |
| CSGStackOp | get_stack_operation (const TriangleMesh *const part) |
| const indexed_triangle_set * | get_mesh (const TriangleMesh *const part) |
| Transform3f | get_transform (const TriangleMesh *const part) |
|
strong |
|
strong |
|
strong |
| std::tuple< BooleanFailReason, std::string, It > Slic3r::csg::check_csgmesh_booleans | ( | const Range< It > & | csgrange, |
| bool | use_mcut = false ) |
References Slic3r::Range< It >::begin(), check_csgmesh_booleans(), Continue, Slic3r::MeshBoolean::mcut::empty(), Slic3r::Range< It >::end(), Slic3r::ex_tbb, Slic3r::execution::for_each(), get_mcutmesh(), get_mesh(), get_stack_operation(), MeshEmpty, OK, Slic3r::Range< It >::size(), and Slic3r::MeshBoolean::mcut::triangle_mesh_to_mcut().
| std::tuple< BooleanFailReason, std::string, It > Slic3r::csg::check_csgmesh_booleans | ( | const Range< It > & | csgrange, |
| Visitor && | vfn ) |
References Slic3r::Range< It >::begin(), Continue, Slic3r::MeshBoolean::cgal::does_bound_a_volume(), Slic3r::MeshBoolean::cgal::does_self_intersect(), Slic3r::MeshBoolean::cgal::empty(), Slic3r::Range< It >::end(), Slic3r::ex_tbb, Slic3r::execution::for_each(), get_cgalmesh(), get_mesh(), get_stack_operation(), MeshEmpty, NotBoundAVolume, OK, SelfIntersect, Slic3r::Range< It >::size(), and Slic3r::MeshBoolean::cgal::triangle_mesh_to_cgal().
Referenced by check_csgmesh_booleans(), Slic3r::GUI::Plater::combine_mesh_fff(), and Slic3r::GUI::Plater::export_stl().
| void Slic3r::csg::copy_csgrange_deep | ( | const Range< It > & | csgrange, |
| OutIt | out ) |
References get_mesh(), get_operation(), get_stack_operation(), get_transform(), Slic3r::csg::CSGPart::its_ptr, and Slic3r::csg::CSGPart::stack_operation.
Referenced by Slic3r::GUI::MeshClipper::set_mesh().
| void Slic3r::csg::copy_csgrange_shallow | ( | const Range< It > & | csgrange, |
| OutIt | out ) |
References get_mesh(), get_operation(), get_stack_operation(), get_transform(), Slic3r::csg::CSGPart::its_ptr, and Slic3r::csg::CSGPart::stack_operation.
Referenced by Slic3r::GUI::MeshClipper::set_mesh().
| indexed_triangle_set Slic3r::csg::csgmesh_merge_positive_parts | ( | const Cont & | csgmesh | ) |
References get_mesh(), get_operation(), get_transform(), Slic3r::its_merge(), and Union.
Referenced by Slic3r::GUI::Plater::export_stl().
| MeshBoolean::cgal::CGALMeshPtr Slic3r::csg::get_cgalmesh | ( | const CSGPartT & | csgpart | ) |
References get_mesh(), get_transform(), and Slic3r::MeshBoolean::cgal::triangle_mesh_to_cgal().
Referenced by check_csgmesh_booleans().
| MeshBoolean::mcut::McutMeshPtr Slic3r::csg::get_mcutmesh | ( | const CSGPartT & | csgpart | ) |
References get_mesh(), get_transform(), and Slic3r::MeshBoolean::mcut::triangle_mesh_to_mcut().
Referenced by check_csgmesh_booleans().
| const indexed_triangle_set * Slic3r::csg::get_mesh | ( | const CSGPartT & | part | ) |
Referenced by check_csgmesh_booleans(), check_csgmesh_booleans(), copy_csgrange_deep(), copy_csgrange_shallow(), csgmesh_merge_positive_parts(), get_cgalmesh(), get_mcutmesh(), and is_same().
|
inline |
|
inline |
|
inline |
References Slic3r::TriangleMesh::its.
|
inline |
References Slic3r::TriangleMesh::its.
| CSGType Slic3r::csg::get_operation | ( | const CSGPartT & | part | ) |
Referenced by copy_csgrange_deep(), copy_csgrange_shallow(), csgmesh_merge_positive_parts(), is_same(), perform_csgmesh_booleans_cgal(), and perform_csgmesh_booleans_mcut().
|
inline |
References Union.
|
inline |
References Union.
|
inline |
References Union.
| CSGStackOp Slic3r::csg::get_stack_operation | ( | const CSGPartT & | part | ) |
Referenced by check_csgmesh_booleans(), check_csgmesh_booleans(), copy_csgrange_deep(), copy_csgrange_shallow(), is_same(), perform_csgmesh_booleans_cgal(), and perform_csgmesh_booleans_mcut().
|
inline |
References Continue.
|
inline |
References Continue.
|
inline |
References Continue.
|
inline |
References Continue.
| Transform3f Slic3r::csg::get_transform | ( | const CSGPartT & | part | ) |
Referenced by copy_csgrange_deep(), copy_csgrange_shallow(), csgmesh_merge_positive_parts(), get_cgalmesh(), get_mcutmesh(), and is_same().
|
inline |
|
inline |
|
inline |
|
inline |
| bool Slic3r::csg::is_all_positive | ( | const Cont & | csgmesh | ) |
Referenced by Slic3r::GUI::Plater::export_stl().
| bool Slic3r::csg::is_same | ( | const Range< ItA > & | A, |
| const Range< ItB > & | B ) |
References Slic3r::Range< It >::begin(), get_mesh(), get_operation(), get_stack_operation(), get_transform(), and Slic3r::Range< It >::size().
Referenced by Slic3r::GUI::MeshClipper::set_mesh().
| bool Slic3r::csg::model_to_csgmesh | ( | const ModelObject & | mo, |
| const Transform3d & | trafo, | ||
| OutIt | out, | ||
| int | parts_to_include = mpartsPositive ) |
References Difference, Slic3r::ModelVolume::get_matrix(), Slic3r::ModelVolume::is_model_part(), Slic3r::ModelVolume::is_negative_volume(), Slic3r::TriangleMesh::its, Slic3r::its_is_splittable(), Slic3r::its_split(), Slic3r::ModelVolume::mesh(), Slic3r::ModelVolume::mesh_ptr(), mpartsDoSplits, mpartsDrillHoles, mpartsNegative, mpartsPositive, Slic3r::csg::CSGPart::name, Slic3r::ModelVolume::name, Pop, Push, Slic3r::csg::CSGPart::stack_operation, Union, and Slic3r::ModelObject::volumes.
Referenced by Slic3r::GUI::Plater::combine_mesh_fff(), and Slic3r::GUI::Plater::export_stl().
| MeshBoolean::cgal::CGALMeshPtr Slic3r::csg::perform_csgmesh_booleans | ( | const Range< It > & | csgparts | ) |
References perform_csgmesh_booleans_cgal(), and Slic3r::MeshBoolean::cgal::triangle_mesh_to_cgal().
Referenced by Slic3r::GUI::Plater::combine_mesh_fff(), and Slic3r::GUI::Plater::export_stl().
| void Slic3r::csg::perform_csgmesh_booleans_cgal | ( | MeshBoolean::cgal::CGALMeshPtr & | cgalm, |
| const Range< It > & | csgrange ) |
References Slic3r::ex_tbb, get_operation(), get_stack_operation(), Pop, Push, Slic3r::MeshBoolean::cgal::triangle_mesh_to_cgal(), and Union.
Referenced by perform_csgmesh_booleans().
| MeshBoolean::mcut::McutMeshPtr Slic3r::csg::perform_csgmesh_booleans_mcut | ( | const Range< It > & | csgparts | ) |
References perform_csgmesh_booleans_mcut(), and Slic3r::MeshBoolean::mcut::triangle_mesh_to_mcut().
| void Slic3r::csg::perform_csgmesh_booleans_mcut | ( | MeshBoolean::mcut::McutMeshPtr & | mcutm, |
| const Range< It > & | csgrange ) |
References Slic3r::ex_tbb, get_operation(), get_stack_operation(), Pop, Push, Slic3r::MeshBoolean::mcut::triangle_mesh_to_mcut(), and Union.
Referenced by Slic3r::GUI::Plater::combine_mesh_fff(), and perform_csgmesh_booleans_mcut().
| std::vector< ExPolygons > Slic3r::csg::slice_csgmesh_ex | ( | const Range< ItCSG > & | csgrange, |
| const std::vector< float > & | slicegrid, | ||
| const MeshSlicingParamsEx & | params, | ||
| const std::function< void()> & | throw_on_cancel = [] {} ) |
Referenced by Slic3r::GUI::MeshClipper::recalculate_triangles().