![]() |
Prusa Slicer 2.6.0
|
#include <src/libslic3r/KDTreeIndirect.hpp>
Inheritance diagram for Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >:
Collaboration diagram for Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >:Public Types | |
| enum | : size_t { npos = size_t(-1) } |
| using | CoordinateFn = ACoordinateFn |
| using | CoordType = ACoordType |
Public Member Functions | |
| KDTreeIndirect (CoordinateFn coordinate) | |
| KDTreeIndirect (CoordinateFn coordinate, std::vector< size_t > indices) | |
| KDTreeIndirect (CoordinateFn coordinate, size_t num_indices) | |
| KDTreeIndirect (KDTreeIndirect &&rhs) | |
| KDTreeIndirect & | operator= (KDTreeIndirect &&rhs) |
| void | clear () |
| void | build (size_t num_indices) |
| void | build (std::vector< size_t > &indices) |
| template<typename CoordType > | |
| unsigned int | descent_mask (const CoordType &point_coord, const CoordType &search_radius, size_t idx, size_t dimension) const |
| template<typename Visitor > | |
| void | visit (Visitor &visitor) const |
Public Attributes | |
| CoordinateFn | coordinate |
Static Public Attributes | |
| static constexpr size_t | NumDimensions = ANumDimensions |
Private Member Functions | |
| void | build_recursive (std::vector< size_t > &input, size_t node, const size_t dimension, const size_t left, const size_t right) |
| void | partition_input (std::vector< size_t > &input, const size_t dimension, size_t left, size_t right, const size_t k) const |
| template<typename Visitor > | |
| void | visit_recursive (size_t node, size_t dimension, Visitor &visitor) const |
Private Attributes | |
| std::vector< size_t > | m_nodes |
| using Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::CoordinateFn = ACoordinateFn |
| using Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::CoordType = ACoordType |
| anonymous enum : size_t |
| Enumerator | |
|---|---|
| npos | |
|
inline |
|
inline |
References Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::build().
Here is the call graph for this function:
|
inline |
References Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::build().
Here is the call graph for this function:
|
inline |
|
inline |
References Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::build().
Referenced by Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::KDTreeIndirect(), Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::KDTreeIndirect(), and Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::build().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
References Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::build_recursive(), Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::clear(), Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::m_nodes, Slic3r::next_highest_power_of_2(), and Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::npos.
Here is the call graph for this function:
|
inlineprivate |
References Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::build_recursive(), input(), Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::m_nodes, Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::NumDimensions, and Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::partition_input().
Referenced by Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::build(), and Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::build_recursive().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
References Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::m_nodes.
Referenced by Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::build().
Here is the caller graph for this function:
|
inline |
References Slic3r::CONTINUE_LEFT, Slic3r::CONTINUE_RIGHT, Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::coordinate, and EPSILON.
|
inline |
|
inlineprivate |
References Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::coordinate, and input().
Referenced by Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::build_recursive().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
References Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::visit_recursive().
Referenced by Slic3r::find_closest_points().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
References Slic3r::CONTINUE_LEFT, Slic3r::CONTINUE_RIGHT, Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::m_nodes, Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::npos, Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::NumDimensions, Slic3r::STOP, and Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::visit_recursive().
Referenced by Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::visit(), and Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::visit_recursive().
Here is the call graph for this function:
Here is the caller graph for this function:| CoordinateFn Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::coordinate |
|
private |
Referenced by Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::build(), Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::build_recursive(), Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::clear(), Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::operator=(), and Slic3r::KDTreeIndirect< ANumDimensions, ACoordType, ACoordinateFn >::visit_recursive().
|
staticconstexpr |