![]() |
Prusa Slicer 2.6.0
|
#include <src/libslic3r/AABBMesh.hpp>
Collaboration diagram for Slic3r::AABBMesh:Classes | |
| class | AABBImpl |
| class | hit_result |
Public Member Functions | |
| AABBMesh (const indexed_triangle_set &tmesh, bool calculate_epsilon=false) | |
| AABBMesh (const TriangleMesh &mesh, bool calculate_epsilon=false) | |
| AABBMesh (const AABBMesh &other) | |
| AABBMesh & | operator= (const AABBMesh &) |
| AABBMesh (AABBMesh &&other) | |
| AABBMesh & | operator= (AABBMesh &&other) |
| ~AABBMesh () | |
| const std::vector< Vec3f > & | vertices () const |
| const std::vector< Vec3i > & | indices () const |
| const Vec3f & | vertices (size_t idx) const |
| const Vec3i & | indices (size_t idx) const |
| hit_result | query_ray_hit (const Vec3d &s, const Vec3d &dir) const |
| std::vector< hit_result > | query_ray_hits (const Vec3d &s, const Vec3d &dir) const |
| double | squared_distance (const Vec3d &p, int &i, Vec3d &c) const |
| double | squared_distance (const Vec3d &p) const |
| Vec3d | normal_by_face_id (int face_id) const |
| const indexed_triangle_set * | get_triangle_mesh () const |
| const VertexFaceIndex & | vertex_face_index () const |
| const std::vector< Vec3i > & | face_neighbor_index () const |
Private Member Functions | |
| template<class M > | |
| void | init (const M &mesh, bool calculate_epsilon) |
Private Attributes | |
| const indexed_triangle_set * | m_tm |
| std::unique_ptr< AABBImpl > | m_aabb |
| VertexFaceIndex | m_vfidx |
| std::vector< Vec3i > | m_fnidx |
|
explicit |
|
explicit |
|
default |
| Slic3r::AABBMesh::~AABBMesh | ( | ) |
|
inline |
References m_tm.
Referenced by Slic3r::sla::create_branching_tree(), Slic3r::sla::create_pad(), and Slic3r::get_normal().
Here is the caller graph for this function:References indexed_triangle_set::indices, and m_tm.
Referenced by Slic3r::GUI::RaycastManager::first_hit(), Slic3r::get_normal(), and Slic3r::normals().
Here is the caller graph for this function:References indexed_triangle_set::indices, and m_tm.
| Vec3d Slic3r::AABBMesh::normal_by_face_id | ( | int | face_id | ) | const |
References Slic3r::its_unnormalized_normal(), and m_tm.
Referenced by Slic3r::get_normal(), query_ray_hit(), and query_ray_hits().
Here is the call graph for this function:
Here is the caller graph for this function:| AABBMesh::hit_result Slic3r::AABBMesh::query_ray_hit | ( | const Vec3d & | s, |
| const Vec3d & | dir | ||
| ) | const |
References Slic3r::is_approx(), m_aabb, Slic3r::AABBMesh::hit_result::m_dir, Slic3r::AABBMesh::hit_result::m_face_id, Slic3r::AABBMesh::hit_result::m_normal, Slic3r::AABBMesh::hit_result::m_source, Slic3r::AABBMesh::hit_result::m_t, m_tm, normal_by_face_id(), query_ray_hits(), and igl::Hit::t.
Referenced by Slic3r::GUI::GLGizmoCut3D::PartSelection::PartSelection(), Slic3r::sla::DefaultSupportTree::connect_to_model_body(), and Slic3r::sla::DefaultSupportTree::ray_mesh_intersect().
Here is the call graph for this function:
Here is the caller graph for this function:| std::vector< AABBMesh::hit_result > Slic3r::AABBMesh::query_ray_hits | ( | const Vec3d & | s, |
| const Vec3d & | dir | ||
| ) | const |
References m_aabb, m_tm, and normal_by_face_id().
Referenced by Slic3r::GUI::MeshRaycaster::closest_hit(), Slic3r::GUI::RaycastManager::closest_hit(), Slic3r::GUI::RaycastManager::first_hit(), Slic3r::GUI::MeshRaycaster::get_unobscured_idxs(), Slic3r::GUI::MeshRaycaster::is_valid_intersection(), query_ray_hit(), and Slic3r::GUI::MeshRaycaster::unproject_on_mesh().
Here is the call graph for this function:
Here is the caller graph for this function:References squared_distance().
Here is the call graph for this function:Referenced by Slic3r::sla::check_ground_route(), Slic3r::GUI::RaycastManager::closest(), Slic3r::sla::create_ground_pillar(), Slic3r::GUI::MeshRaycaster::get_closest_facet(), Slic3r::GUI::MeshRaycaster::get_closest_point(), Slic3r::get_normal(), and squared_distance().
Here is the caller graph for this function:
|
inline |
References m_tm, and indexed_triangle_set::vertices.
Referenced by Slic3r::GUI::RaycastManager::first_hit(), Slic3r::get_normal(), and Slic3r::normals().
Here is the caller graph for this function:References m_tm, and indexed_triangle_set::vertices.
|
private |
Referenced by init(), operator=(), query_ray_hit(), query_ray_hits(), and squared_distance().
|
private |
Referenced by face_neighbor_index(), and operator=().
|
private |
Referenced by get_triangle_mesh(), indices(), indices(), init(), normal_by_face_id(), operator=(), query_ray_hit(), query_ray_hits(), squared_distance(), vertices(), and vertices().
|
private |
Referenced by operator=(), and vertex_face_index().