|
| void | init (const indexed_triangle_set &its, bool calculate_epsilon) |
| void | intersect_ray (const indexed_triangle_set &its, const Vec3d &s, const Vec3d &dir, igl::Hit< float > &hit) |
| void | intersect_ray (const indexed_triangle_set &its, const Vec3d &s, const Vec3d &dir, std::vector< igl::Hit< float > > &hits) |
| double | squared_distance (const indexed_triangle_set &its, const Vec3d &point, int &i, Eigen::Matrix< double, 1, 3 > &closest) |
◆ init()
| void Slic3r::AABBMesh::AABBImpl::init |
( |
const indexed_triangle_set & | its, |
|
|
bool | calculate_epsilon ) |
|
inline |
31 {
33 if (calculate_epsilon) {
34
36 if (l > 0)
38 }
40 its.vertices, its.indices);
41 }
AABBTreeIndirect::Tree3f m_tree
Definition AABBMesh.cpp:26
double m_triangle_ray_epsilon
Definition AABBMesh.cpp:27
Tree< 3, typename VertexType::Scalar > build_aabb_tree_over_indexed_triangle_set(const std::vector< VertexType > &vertices, const std::vector< IndexedFaceType > &faces, const typename VertexType::Scalar eps=0)
Definition AABBTreeIndirect.hpp:677
float its_average_edge_length(const indexed_triangle_set &its)
Definition TriangleMesh.cpp:1535
References Slic3r::AABBTreeIndirect::build_aabb_tree_over_indexed_triangle_set(), Slic3r::its_average_edge_length(), m_tree, and m_triangle_ray_epsilon.
◆ intersect_ray() [1/2]
| void Slic3r::AABBMesh::AABBImpl::intersect_ray |
( |
const indexed_triangle_set & | its, |
|
|
const Vec3d & | s, |
|
|
const Vec3d & | dir, |
|
|
igl::Hit< float > & | hit ) |
|
inline |
◆ intersect_ray() [2/2]
| void Slic3r::AABBMesh::AABBImpl::intersect_ray |
( |
const indexed_triangle_set & | its, |
|
|
const Vec3d & | s, |
|
|
const Vec3d & | dir, |
|
|
std::vector< igl::Hit< float > > & | hits ) |
|
inline |
56 {
59 }
bool intersect_ray_all_hits(const std::vector< VertexType > &vertices, const std::vector< IndexedFaceType > &faces, const TreeType &tree, const VectorType &origin, const VectorType &dir, std::vector< igl::Hit< float > > &hits, const double eps=0.000001)
Definition AABBTreeIndirect.hpp:760
References Slic3r::AABBTreeIndirect::intersect_ray_all_hits(), m_tree, and m_triangle_ray_epsilon.
◆ squared_distance()
| double Slic3r::AABBMesh::AABBImpl::squared_distance |
( |
const indexed_triangle_set & | its, |
|
|
const Vec3d & | point, |
|
|
int & | i, |
|
|
Eigen::Matrix< double, 1, 3 > & | closest ) |
|
inline |
65 {
66 size_t idx_unsigned { 0 };
67 Vec3d closest_vec3d { Vec3d::Zero() };
70 its.vertices, its.indices,
m_tree, point, idx_unsigned,
71 closest_vec3d) };
72 i = int(idx_unsigned);
75 }
VectorType::Scalar squared_distance_to_indexed_triangle_set(const std::vector< VertexType > &vertices, const std::vector< IndexedFaceType > &faces, const TreeType &tree, const VectorType &point, size_t &hit_idx_out, Eigen::PlainObjectBase< VectorType > &hit_point_out)
Definition AABBTreeIndirect.hpp:801
T dist(const boost::polygon::point_data< T > &p1, const boost::polygon::point_data< T > &p2)
Definition Geometry.cpp:298
Foot closest(const Contour &c, const Vec2d &p, double stop=-1.0, const std::vector< Vec2d > *source_normals=nullptr, double normal_cosine=0.0)
Definition SeamContour.cpp:36
Eigen::Matrix< double, 3, 1, Eigen::DontAlign > Vec3d
Definition Point.hpp:68
References Slic3r::Geometry::dist(), m_tree, and Slic3r::AABBTreeIndirect::squared_distance_to_indexed_triangle_set().
◆ m_tree
◆ m_triangle_ray_epsilon
| double Slic3r::AABBMesh::AABBImpl::m_triangle_ray_epsilon |
|
private |
The documentation for this class was generated from the following file:
- /home/runner/work/OrcaSlicer/OrcaSlicer/src/libslic3r/AABBMesh.cpp