Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
Slic3r::sla::PillarIndex Class Reference

#include <src/libslic3r/SLA/DefaultSupportTree.hpp>

+ Collaboration diagram for Slic3r::sla::PillarIndex:

Public Member Functions

template<class... Args>
void guarded_insert (Args &&...args)
 
template<class... Args>
std::vector< PointIndexElguarded_query (Args &&...args) const
 
template<class... Args>
void insert (Args &&...args)
 
template<class... Args>
std::vector< PointIndexElquery (Args &&...args) const
 
template<class Fn >
void foreach (Fn fn)
 
template<class Fn >
void guarded_foreach (Fn fn)
 
PointIndex guarded_clone ()
 

Private Types

using Mutex = execution::BlockingMutex< decltype(suptree_ex_policy)>
 

Private Attributes

PointIndex m_index
 
Mutex m_mutex
 

Detailed Description

Member Typedef Documentation

◆ Mutex

Member Function Documentation

◆ foreach()

template<class Fn >
void Slic3r::sla::PillarIndex::foreach ( Fn  fn)
inline
44{ m_index.foreach(fn); }
PointIndex m_index
Definition DefaultSupportTree.hpp:14
void foreach(std::function< void(const PointIndexEl &el)> fn)

References Slic3r::sla::PointIndex::foreach(), and m_index.

+ Here is the call graph for this function:

◆ guarded_clone()

PointIndex Slic3r::sla::PillarIndex::guarded_clone ( )
inline
52 {
53 std::lock_guard<Mutex> lck(m_mutex);
54 return m_index;
55 }
Mutex m_mutex
Definition DefaultSupportTree.hpp:16

References m_index, and m_mutex.

Referenced by Slic3r::sla::DefaultSupportTree::search_pillar_and_connect().

+ Here is the caller graph for this function:

◆ guarded_foreach()

template<class Fn >
void Slic3r::sla::PillarIndex::guarded_foreach ( Fn  fn)
inline
46 {
47 std::lock_guard<Mutex> lck(m_mutex);
48 m_index.foreach(fn);
49 }

References Slic3r::sla::PointIndex::foreach(), m_index, and m_mutex.

+ Here is the call graph for this function:

◆ guarded_insert()

template<class... Args>
void Slic3r::sla::PillarIndex::guarded_insert ( Args &&...  args)
inline
21 {
22 std::lock_guard<Mutex> lck(m_mutex);
23 m_index.insert(std::forward<Args>(args)...);
24 }
void insert(const PointIndexEl &)
Definition SpatIndex.cpp:50

References Slic3r::sla::PointIndex::insert(), m_index, and m_mutex.

Referenced by Slic3r::sla::DefaultSupportTree::connect_to_ground(), Slic3r::sla::DefaultSupportTree::connect_to_model_body(), and Slic3r::sla::DefaultSupportTree::create_ground_pillar().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ guarded_query()

template<class... Args>
std::vector< PointIndexEl > Slic3r::sla::PillarIndex::guarded_query ( Args &&...  args) const
inline
28 {
29 std::lock_guard<Mutex> lck(m_mutex);
30 return m_index.query(std::forward<Args>(args)...);
31 }
std::vector< PointIndexEl > query(std::function< bool(const PointIndexEl &)>) const
Definition SpatIndex.cpp:61

References m_index, m_mutex, and Slic3r::sla::PointIndex::query().

+ Here is the call graph for this function:

◆ insert()

template<class... Args>
void Slic3r::sla::PillarIndex::insert ( Args &&...  args)
inline
34 {
35 m_index.insert(std::forward<Args>(args)...);
36 }

References Slic3r::sla::PointIndex::insert(), and m_index.

+ Here is the call graph for this function:

◆ query()

template<class... Args>
std::vector< PointIndexEl > Slic3r::sla::PillarIndex::query ( Args &&...  args) const
inline
40 {
41 return m_index.query(std::forward<Args>(args)...);
42 }

References m_index, and Slic3r::sla::PointIndex::query().

Referenced by Slic3r::sla::DefaultSupportTree::routing_to_ground().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ m_index

PointIndex Slic3r::sla::PillarIndex::m_index
private

◆ m_mutex

Mutex Slic3r::sla::PillarIndex::m_mutex
mutableprivate

The documentation for this class was generated from the following file: