OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
PerformCSGMeshBooleans.hpp File Reference
#include <cstddef>
#include <stack>
#include <utility>
#include <tuple>
#include <vector>
#include <boost/log/trivial.hpp>
#include "CSGMesh.hpp"
#include "libslic3r/libslic3r.h"
#include "libslic3r/Execution/ExecutionTBB.hpp"
#include "libslic3r/MeshBoolean.hpp"
Include dependency graph for PerformCSGMeshBooleans.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  Slic3r
 |/ Copyright (c) Prusa Research 2020 - 2023 Enrico Turri @enricoturri1966 |/ |/ PrusaSlicer is released under the terms of the AGPLv3 or higher |/
namespace  Slic3r::csg
namespace  Slic3r::csg::detail_cgal
namespace  Slic3r::csg::detail_mcut

Typedefs

using Slic3r::csg::detail_cgal::CGALMeshPtr
using Slic3r::csg::detail_mcut::McutMeshPtr

Enumerations

enum class  Slic3r::csg::BooleanFailReason {
  Slic3r::csg::OK , Slic3r::csg::MeshEmpty , Slic3r::csg::NotBoundAVolume , Slic3r::csg::SelfIntersect ,
  Slic3r::csg::NoIntersection
}

Functions

template<class CSGPartT>
MeshBoolean::cgal::CGALMeshPtr Slic3r::csg::get_cgalmesh (const CSGPartT &csgpart)
template<class CSGPartT>
MeshBoolean::mcut::McutMeshPtr Slic3r::csg::get_mcutmesh (const CSGPartT &csgpart)
void Slic3r::csg::detail_cgal::perform_csg (CSGType op, CGALMeshPtr &dst, CGALMeshPtr &src)
template<class Ex, class It>
std::vector< CGALMeshPtr > Slic3r::csg::detail_cgal::get_cgalptrs (Ex policy, const Range< It > &csgrange)
void Slic3r::csg::detail_mcut::perform_csg (CSGType op, McutMeshPtr &dst, McutMeshPtr &src)
template<class Ex, class It>
std::vector< McutMeshPtr > Slic3r::csg::detail_mcut::get_mcutptrs (Ex policy, const Range< It > &csgrange)
template<class It>
void Slic3r::csg::perform_csgmesh_booleans_cgal (MeshBoolean::cgal::CGALMeshPtr &cgalm, const Range< It > &csgrange)
template<class It>
void Slic3r::csg::perform_csgmesh_booleans_mcut (MeshBoolean::mcut::McutMeshPtr &mcutm, const Range< It > &csgrange)
template<class It, class Visitor>
std::tuple< BooleanFailReason, std::string, It > Slic3r::csg::check_csgmesh_booleans (const Range< It > &csgrange, Visitor &&vfn)
template<class It>
std::tuple< BooleanFailReason, std::string, It > Slic3r::csg::check_csgmesh_booleans (const Range< It > &csgrange, bool use_mcut=false)
template<class It>
MeshBoolean::cgal::CGALMeshPtr Slic3r::csg::perform_csgmesh_booleans (const Range< It > &csgparts)
template<class It>
MeshBoolean::mcut::McutMeshPtr Slic3r::csg::perform_csgmesh_booleans_mcut (const Range< It > &csgparts)