OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
AABBTreeLines.hpp File Reference
#include "Point.hpp"
#include "Utils.hpp"
#include "libslic3r.h"
#include "libslic3r/AABBTreeIndirect.hpp"
#include "libslic3r/Line.hpp"
#include <Eigen/Core>
#include <algorithm>
#include <cassert>
#include <cmath>
#include <cstddef>
#include <tuple>
#include <limits>
#include <type_traits>
#include <utility>
#include <vector>
Include dependency graph for AABBTreeLines.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Slic3r::AABBTreeLines::detail::IndexedLinesDistancer< ALineType, ATreeType, AVectorType >
class  Slic3r::AABBTreeLines::LinesDistancer< LineType >

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::AABBTreeLines
namespace  Slic3r::AABBTreeLines::detail

Functions

template<typename LineType, typename TreeType, typename VectorType, int coordinate>
std::tuple< int, int > Slic3r::AABBTreeLines::detail::coordinate_aligned_ray_hit_count (size_t node_idx, const TreeType &tree, const std::vector< LineType > &lines, const VectorType &ray_origin)
template<typename LineType, typename TreeType, typename VectorType>
std::vector< std::pair< VectorType, size_t > > Slic3r::AABBTreeLines::detail::get_intersections_with_line (size_t node_idx, const TreeType &tree, const std::vector< LineType > &lines, const LineType &line, const typename TreeType::BoundingBox &line_bb)
template<typename LineType>
AABBTreeIndirect::Tree< LineType::Dim, typename LineType::Scalar > Slic3r::AABBTreeLines::build_aabb_tree_over_indexed_lines (const std::vector< LineType > &lines)
template<typename LineType, typename TreeType, typename VectorType>
VectorType::Scalar Slic3r::AABBTreeLines::squared_distance_to_indexed_lines (const std::vector< LineType > &lines, const TreeType &tree, const VectorType &point, size_t &hit_idx_out, Eigen::PlainObjectBase< VectorType > &hit_point_out, typename VectorType::Scalar max_sqr_dist=std::numeric_limits< typename VectorType::Scalar >::infinity())
template<typename LineType, typename TreeType, typename VectorType>
std::vector< size_t > Slic3r::AABBTreeLines::all_lines_in_radius (const std::vector< LineType > &lines, const TreeType &tree, const VectorType &point, typename VectorType::Scalar max_distance_squared)
template<typename LineType, typename TreeType, typename VectorType>
int Slic3r::AABBTreeLines::point_outside_closed_contours (const std::vector< LineType > &lines, const TreeType &tree, const VectorType &point)
template<bool sorted, typename VectorType, typename LineType, typename TreeType>
std::vector< std::pair< VectorType, size_t > > Slic3r::AABBTreeLines::get_intersections_with_line (const std::vector< LineType > &lines, const TreeType &tree, const LineType &line)