#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/libslic3r/SLA/SupportTreeBuilder.hpp>
Public Types | |
| using | UPtr = std::unique_ptr<SupportTree> |
Public Member Functions | |
| SupportTreeBuilder ()=default | |
| SupportTreeBuilder (SupportTreeBuilder &&o) | |
| SupportTreeBuilder (const SupportTreeBuilder &o) | |
| SupportTreeBuilder & | operator= (SupportTreeBuilder &&o) |
| SupportTreeBuilder & | operator= (const SupportTreeBuilder &o) |
| template<class... Args> | |
| Head & | add_head (unsigned id, Args &&... args) |
| template<class... Args> | |
| long | add_pillar (long headid, double length) |
| void | add_pillar_base (long pid, double baseheight=3, double radius=2) |
| template<class... Args> | |
| const Anchor & | add_anchor (Args &&...args) |
| void | increment_bridges (const Pillar &pillar) |
| void | increment_links (const Pillar &pillar) |
| unsigned | bridgecount (const Pillar &pillar) const |
| template<class... Args> | |
| long | add_pillar (Args &&...args) |
| template<class... Args> | |
| const Junction & | add_junction (Args &&... args) |
| const Bridge & | add_bridge (const Vec3d &s, const Vec3d &e, double r) |
| const Bridge & | add_bridge (long headid, const Vec3d &endp) |
| template<class... Args> | |
| const Bridge & | add_crossbridge (Args &&... args) |
| template<class... Args> | |
| const DiffBridge & | add_diffbridge (Args &&... args) |
| Head & | head (unsigned id) |
| size_t | pillarcount () const |
| const std::vector< Pillar > & | pillars () const |
| const std::vector< Head > & | heads () const |
| const std::vector< Bridge > & | bridges () const |
| const std::vector< Bridge > & | crossbridges () const |
| template<class T> | |
| IntegerOnly< T, const Pillar & > | pillar (T id) const |
| template<class T> | |
| IntegerOnly< T, Pillar & > | pillar (T id) |
| const Pad & | pad () const |
| const indexed_triangle_set & | merged_mesh (size_t steps=45) const |
| double | full_height () const |
| double | mesh_height () const |
| const indexed_triangle_set & | merge_and_cleanup () |
| const indexed_triangle_set & | add_pad (const ExPolygons &modelbase, const PadConfig &pcfg) override |
| Adding the "pad" under the supports. modelbase will be used according to the embed_object flag in PoolConfig. If set, the plate will be interpreted as the model's intrinsic pad. Otherwise, the modelbase will be unified with the base plate calculated from the supports. | |
| void | remove_pad () override |
| virtual const indexed_triangle_set & | retrieve_mesh (MeshType meshtype=MeshType::Support) const override |
| std::vector< ExPolygons > | slice (const std::vector< float > &, float closing_radius) const |
| void | retrieve_full_mesh (indexed_triangle_set &outmesh) const |
| const JobController & | ctl () const |
Static Public Member Functions | |
| static UPtr | create (const SupportableMesh &input, const JobController &ctl={}) |
Public Attributes | |
| double | ground_level = 0 |
Private Types | |
| using | Mutex = ccr::SpinningMutex |
Private Member Functions | |
| template<class BridgeT, class... Args> | |
| const BridgeT & | _add_bridge (std::vector< BridgeT > &br, Args &&... args) |
Private Attributes | |
| std::vector< Head > | m_heads |
| std::vector< size_t > | m_head_indices |
| std::vector< Pillar > | m_pillars |
| std::vector< Junction > | m_junctions |
| std::vector< Bridge > | m_bridges |
| std::vector< Bridge > | m_crossbridges |
| std::vector< DiffBridge > | m_diffbridges |
| std::vector< Pedestal > | m_pedestals |
| std::vector< Anchor > | m_anchors |
| Pad | m_pad |
| indexed_triangle_set | m_meshcache |
| Mutex | m_mutex |
| bool | m_meshcache_valid = false |
| double | m_model_height = 0 |
| JobController | m_ctl |
|
private |
|
inherited |
|
default |
References SupportTreeBuilder().
Referenced by SupportTreeBuilder(), SupportTreeBuilder(), SupportTreeBuilder(), operator=(), and operator=().
| Slic3r::sla::SupportTreeBuilder::SupportTreeBuilder | ( | SupportTreeBuilder && | o | ) |
References SupportTreeBuilder(), ground_level, m_bridges, m_crossbridges, m_head_indices, m_heads, m_meshcache, m_meshcache_valid, m_model_height, m_pad, and m_pillars.
| Slic3r::sla::SupportTreeBuilder::SupportTreeBuilder | ( | const SupportTreeBuilder & | o | ) |
References SupportTreeBuilder(), m_bridges, m_crossbridges, m_head_indices, m_heads, m_meshcache, m_pad, and m_pillars.
|
inlineprivate |
References m_meshcache_valid, and m_mutex.
Referenced by add_bridge(), add_crossbridge(), and add_diffbridge().
|
inline |
References m_anchors, m_junctions, m_meshcache_valid, and m_mutex.
|
inline |
References _add_bridge(), and m_bridges.
|
inline |
References Slic3r::sla::Head::bridge_id, Slic3r::sla::Head::junction_point(), m_bridges, m_head_indices, m_heads, m_meshcache_valid, m_mutex, and Slic3r::sla::Head::r_back_mm.
|
inline |
|
inline |
References _add_bridge(), and m_diffbridges.
|
inline |
References m_head_indices, m_heads, m_meshcache_valid, and m_mutex.
|
inline |
References m_junctions, m_meshcache_valid, and m_mutex.
|
overridevirtual |
Adding the "pad" under the supports. modelbase will be used according to the embed_object flag in PoolConfig. If set, the plate will be interpreted as the model's intrinsic pad. Otherwise, the modelbase will be unified with the base plate calculated from the supports.
Implements Slic3r::sla::SupportTree.
References Slic3r::sla::JobController::cancelfn, Slic3r::sla::SupportTree::ctl(), ground_level, m_pad, and merged_mesh().
|
inline |
References m_heads, m_meshcache_valid, m_mutex, m_pillars, and pillar().
|
inline |
References head(), Slic3r::length(), m_head_indices, m_heads, m_meshcache_valid, m_mutex, m_pillars, and pillar().
| void Slic3r::sla::SupportTreeBuilder::add_pillar_base | ( | long | pid, |
| double | baseheight = 3, | ||
| double | radius = 2 ) |
References Slic3r::sla::Pillar::endpt, Slic3r::sla::Pillar::height, m_meshcache_valid, m_mutex, m_pedestals, m_pillars, and Slic3r::sla::Pillar::r.
|
inline |
|
inline |
|
staticinherited |
References Slic3r::sla::SupportableMesh::cfg, ctl(), Slic3r::sla::SupportableMesh::emesh, Slic3r::sla::SupportTreeConfig::enabled, Slic3r::sla::SupportTreeBuildsteps::execute(), Slic3r::sla::IndexedMesh::ground_level(), and Slic3r::make_unique().
Referenced by Slic3r::SLAPrintObject::SupportData::create_support_tree().
|
inline |
References m_crossbridges.
|
inlineinherited |
References m_ctl.
Referenced by Slic3r::sla::SupportTreeBuilder::add_pad(), create(), Slic3r::sla::SupportTreeBuildsteps::execute(), Slic3r::sla::SupportTreeBuilder::merged_mesh(), and slice().
| double Slic3r::sla::SupportTreeBuilder::full_height | ( | ) | const |
References Slic3r::sla::Pad::cfg, Slic3r::empty(), Slic3r::sla::PadConfig::full_height(), merged_mesh(), mesh_height(), pad(), and Slic3r::sla::PadConfig::required_elevation().
|
inline |
References m_head_indices, m_heads, m_meshcache_valid, and m_mutex.
Referenced by add_pillar(), and merged_mesh().
|
inline |
|
inline |
|
inline |
| const indexed_triangle_set & Slic3r::sla::SupportTreeBuilder::merge_and_cleanup | ( | ) |
References m_bridges, m_head_indices, m_heads, m_junctions, m_pillars, and merged_mesh().
| const indexed_triangle_set & Slic3r::sla::SupportTreeBuilder::merged_mesh | ( | size_t | steps = 45 | ) | const |
References Slic3r::bounding_box(), Slic3r::sla::SupportTree::ctl(), Slic3r::sla::get_mesh(), head(), Slic3r::its_merge(), Slic3r::its_merge_vertices(), m_anchors, m_bridges, m_crossbridges, m_diffbridges, m_heads, m_junctions, m_meshcache, m_meshcache_valid, m_model_height, m_pedestals, m_pillars, Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::max, Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::min, and Slic3r::sla::Z.
Referenced by add_pad(), full_height(), merge_and_cleanup(), mesh_height(), and retrieve_mesh().
|
inline |
References m_meshcache_valid, m_model_height, and merged_mesh().
Referenced by full_height().
| SupportTreeBuilder & Slic3r::sla::SupportTreeBuilder::operator= | ( | const SupportTreeBuilder & | o | ) |
References SupportTreeBuilder(), ground_level, m_bridges, m_crossbridges, m_head_indices, m_heads, m_meshcache, m_meshcache_valid, m_model_height, m_pad, and m_pillars.
| SupportTreeBuilder & Slic3r::sla::SupportTreeBuilder::operator= | ( | SupportTreeBuilder && | o | ) |
References SupportTreeBuilder(), ground_level, m_bridges, m_crossbridges, m_head_indices, m_heads, m_meshcache, m_meshcache_valid, m_model_height, m_pad, and m_pillars.
|
inline |
References m_pad.
Referenced by full_height(), and retrieve_mesh().
|
inline |
|
inline |
References m_mutex, and m_pillars.
Referenced by add_pillar(), add_pillar(), bridgecount(), increment_bridges(), and increment_links().
|
inline |
|
inline |
|
inlineoverridevirtual |
|
inherited |
References Slic3r::its_merge(), Slic3r::sla::Pad, retrieve_mesh(), and Slic3r::sla::Support.
|
overridevirtual |
Implements Slic3r::sla::SupportTree.
References m_meshcache, merged_mesh(), Slic3r::sla::Pad, pad(), Slic3r::sla::Support, and Slic3r::sla::Pad::tmesh.
|
inherited |
References Slic3r::bounding_box(), ctl(), Slic3r::grid(), Slic3r::sla::Pad, Slic3r::reserve_vector(), retrieve_mesh(), Slic3r::slice_mesh_ex(), and Slic3r::sla::Support.
| double Slic3r::sla::SupportTreeBuilder::ground_level = 0 |
Referenced by SupportTreeBuilder(), add_pad(), Slic3r::sla::SupportTreeBuildsteps::execute(), operator=(), and operator=().
|
private |
Referenced by add_anchor(), and merged_mesh().
|
private |
Referenced by SupportTreeBuilder(), SupportTreeBuilder(), add_bridge(), add_bridge(), bridges(), merge_and_cleanup(), merged_mesh(), operator=(), and operator=().
|
private |
Referenced by SupportTreeBuilder(), SupportTreeBuilder(), add_crossbridge(), crossbridges(), merged_mesh(), operator=(), and operator=().
|
privateinherited |
Referenced by ctl().
|
private |
Referenced by add_diffbridge(), and merged_mesh().
|
private |
Referenced by SupportTreeBuilder(), SupportTreeBuilder(), add_bridge(), add_head(), add_pillar(), head(), merge_and_cleanup(), operator=(), and operator=().
|
private |
Referenced by SupportTreeBuilder(), SupportTreeBuilder(), add_bridge(), add_head(), add_pillar(), add_pillar(), head(), heads(), merge_and_cleanup(), merged_mesh(), operator=(), and operator=().
|
private |
Referenced by add_anchor(), add_junction(), merge_and_cleanup(), and merged_mesh().
|
mutableprivate |
Referenced by SupportTreeBuilder(), SupportTreeBuilder(), merged_mesh(), operator=(), operator=(), and retrieve_mesh().
|
mutableprivate |
Referenced by SupportTreeBuilder(), _add_bridge(), add_anchor(), add_bridge(), add_head(), add_junction(), add_pillar(), add_pillar(), add_pillar_base(), head(), merged_mesh(), mesh_height(), operator=(), and operator=().
|
mutableprivate |
Referenced by SupportTreeBuilder(), merged_mesh(), mesh_height(), operator=(), and operator=().
|
mutableprivate |
Referenced by _add_bridge(), add_anchor(), add_bridge(), add_head(), add_junction(), add_pillar(), add_pillar(), add_pillar_base(), bridgecount(), head(), increment_bridges(), increment_links(), pillar(), pillar(), and pillarcount().
|
private |
Referenced by SupportTreeBuilder(), SupportTreeBuilder(), add_pad(), operator=(), operator=(), pad(), and remove_pad().
|
private |
Referenced by add_pillar_base(), and merged_mesh().
|
private |