![]() |
Prusa Slicer 2.6.0
|
Classes | |
| class | EmbreeIntersector |
Functions | |
| template<typename DerivedP , typename DerivedN , typename DerivedS > | |
| IGL_INLINE void | ambient_occlusion (const EmbreeIntersector &ei, const Eigen::PlainObjectBase< DerivedP > &P, const Eigen::PlainObjectBase< DerivedN > &N, const int num_samples, Eigen::PlainObjectBase< DerivedS > &S) |
| template<typename DerivedV , typename DerivedF , typename DerivedP , typename DerivedN , typename DerivedS > | |
| IGL_INLINE void | ambient_occlusion (const Eigen::PlainObjectBase< DerivedV > &V, const Eigen::PlainObjectBase< DerivedF > &F, const Eigen::PlainObjectBase< DerivedP > &P, const Eigen::PlainObjectBase< DerivedN > &N, const int num_samples, Eigen::PlainObjectBase< DerivedS > &S) |
| IGL_INLINE bool | bone_heat (const Eigen::MatrixXd &V, const Eigen::MatrixXi &F, const Eigen::MatrixXd &C, const Eigen::VectorXi &P, const Eigen::MatrixXi &BE, const Eigen::MatrixXi &CE, Eigen::MatrixXd &W) |
| template<typename DerivedV , typename DerivedF , typename DerivedSD , typename Derivedflag > | |
| IGL_INLINE void | bone_visible (const Eigen::PlainObjectBase< DerivedV > &V, const Eigen::PlainObjectBase< DerivedF > &F, const Eigen::PlainObjectBase< DerivedSD > &s, const Eigen::PlainObjectBase< DerivedSD > &d, Eigen::PlainObjectBase< Derivedflag > &flag) |
| template<typename DerivedV , typename DerivedF , typename DerivedSD , typename Derivedflag > | |
| IGL_INLINE void | bone_visible (const Eigen::PlainObjectBase< DerivedV > &V, const Eigen::PlainObjectBase< DerivedF > &F, const EmbreeIntersector &ei, const Eigen::PlainObjectBase< DerivedSD > &s, const Eigen::PlainObjectBase< DerivedSD > &d, Eigen::PlainObjectBase< Derivedflag > &flag) |
| template<typename ScalarMatrix , typename IndexMatrix > | |
| IGL_INLINE ScalarMatrix | line_mesh_intersection (const ScalarMatrix &V_source, const ScalarMatrix &N_source, const ScalarMatrix &V_target, const IndexMatrix &F_target) |
| template<typename DerivedV , typename DerivedF , typename DerivedI , typename DerivedC > | |
| IGL_INLINE void | reorient_facets_raycast (const Eigen::PlainObjectBase< DerivedV > &V, const Eigen::PlainObjectBase< DerivedF > &F, int rays_total, int rays_minimum, bool facet_wise, bool use_parity, bool is_verbose, Eigen::PlainObjectBase< DerivedI > &I, Eigen::PlainObjectBase< DerivedC > &C) |
| template<typename DerivedV , typename DerivedF , typename DerivedFF , typename DerivedI > | |
| IGL_INLINE void | reorient_facets_raycast (const Eigen::PlainObjectBase< DerivedV > &V, const Eigen::PlainObjectBase< DerivedF > &F, Eigen::PlainObjectBase< DerivedFF > &FF, Eigen::PlainObjectBase< DerivedI > &I) |
| template<typename DerivedP , typename DerivedN , typename DerivedS > | |
| IGL_INLINE void | shape_diameter_function (const EmbreeIntersector &ei, const Eigen::PlainObjectBase< DerivedP > &P, const Eigen::PlainObjectBase< DerivedN > &N, const int num_samples, Eigen::PlainObjectBase< DerivedS > &S) |
| template<typename DerivedV , typename DerivedF , typename DerivedP , typename DerivedN , typename DerivedS > | |
| IGL_INLINE void | shape_diameter_function (const Eigen::PlainObjectBase< DerivedV > &V, const Eigen::PlainObjectBase< DerivedF > &F, const Eigen::PlainObjectBase< DerivedP > &P, const Eigen::PlainObjectBase< DerivedN > &N, const int num_samples, Eigen::PlainObjectBase< DerivedS > &S) |
| template<typename Derivedobj > | |
| IGL_INLINE int | unproject_in_mesh (const Eigen::Vector2f &pos, const Eigen::Matrix4f &model, const Eigen::Matrix4f &proj, const Eigen::Vector4f &viewport, const EmbreeIntersector &ei, Eigen::PlainObjectBase< Derivedobj > &obj, std::vector< igl::Hit > &hits) |
| template<typename Derivedobj > | |
| IGL_INLINE int | unproject_in_mesh (const Eigen::Vector2f &pos, const Eigen::Matrix4f &model, const Eigen::Matrix4f &proj, const Eigen::Vector4f &viewport, const EmbreeIntersector &ei, Eigen::PlainObjectBase< Derivedobj > &obj) |
| IGL_INLINE bool | unproject_onto_mesh (const Eigen::Vector2f &pos, const Eigen::MatrixXi &F, const Eigen::Matrix4f &model, const Eigen::Matrix4f &proj, const Eigen::Vector4f &viewport, const EmbreeIntersector &ei, int &fid, Eigen::Vector3f &bc) |
| IGL_INLINE bool | unproject_onto_mesh (const Eigen::Vector2f &pos, const Eigen::MatrixXi &F, const Eigen::Matrix4f &model, const Eigen::Matrix4f &proj, const Eigen::Vector4f &viewport, const EmbreeIntersector &ei, int &fid, int &vid) |
Variables | |
| static bool | EmbreeIntersector_inited = false |
| IGL_INLINE void igl::embree::ambient_occlusion | ( | const Eigen::PlainObjectBase< DerivedV > & | V, |
| const Eigen::PlainObjectBase< DerivedF > & | F, | ||
| const Eigen::PlainObjectBase< DerivedP > & | P, | ||
| const Eigen::PlainObjectBase< DerivedN > & | N, | ||
| const int | num_samples, | ||
| Eigen::PlainObjectBase< DerivedS > & | S | ||
| ) |
References igl::ambient_occlusion(), and igl::embree::EmbreeIntersector::init().
Here is the call graph for this function:| IGL_INLINE void igl::embree::ambient_occlusion | ( | const EmbreeIntersector & | ei, |
| const Eigen::PlainObjectBase< DerivedP > & | P, | ||
| const Eigen::PlainObjectBase< DerivedN > & | N, | ||
| const int | num_samples, | ||
| Eigen::PlainObjectBase< DerivedS > & | S | ||
| ) |
References igl::ambient_occlusion(), and igl::embree::EmbreeIntersector::intersectRay().
Here is the call graph for this function:| bool igl::embree::bone_heat | ( | const Eigen::MatrixXd & | V, |
| const Eigen::MatrixXi & | F, | ||
| const Eigen::MatrixXd & | C, | ||
| const Eigen::VectorXi & | P, | ||
| const Eigen::MatrixXi & | BE, | ||
| const Eigen::MatrixXi & | CE, | ||
| Eigen::MatrixXd & | W | ||
| ) |
References bone_visible(), Eigen::SimplicialLLT< _MatrixType, _UpLo, _Ordering >::compute(), igl::cotmatrix(), Eigen::SimplicialCholeskyBase< Derived >::info(), igl::embree::EmbreeIntersector::init(), L, igl::massmatrix(), igl::MASSMATRIX_TYPE_DEFAULT, igl::mat_min(), Eigen::NumericalIssue, igl::project_to_line_segment(), Eigen::SparseSolverBase< Derived >::solve(), and Eigen::Success.
Here is the call graph for this function:| IGL_INLINE void igl::embree::bone_visible | ( | const Eigen::PlainObjectBase< DerivedV > & | V, |
| const Eigen::PlainObjectBase< DerivedF > & | F, | ||
| const Eigen::PlainObjectBase< DerivedSD > & | s, | ||
| const Eigen::PlainObjectBase< DerivedSD > & | d, | ||
| Eigen::PlainObjectBase< Derivedflag > & | flag | ||
| ) |
References bone_visible(), igl::embree::EmbreeIntersector::init(), and Eigen::PlainObjectBase< Derived >::resize().
Referenced by bone_heat(), and bone_visible().
Here is the call graph for this function:
Here is the caller graph for this function:| IGL_INLINE void igl::embree::bone_visible | ( | const Eigen::PlainObjectBase< DerivedV > & | V, |
| const Eigen::PlainObjectBase< DerivedF > & | F, | ||
| const EmbreeIntersector & | ei, | ||
| const Eigen::PlainObjectBase< DerivedSD > & | s, | ||
| const Eigen::PlainObjectBase< DerivedSD > & | d, | ||
| Eigen::PlainObjectBase< Derivedflag > & | flag | ||
| ) |
References igl::DOUBLE_EPS, igl::Hit::id, igl::embree::EmbreeIntersector::intersectSegment(), igl::project_to_line(), Eigen::PlainObjectBase< Derived >::resize(), Eigen::PlainObjectBase< Derived >::rows(), and igl::Hit::t.
Here is the call graph for this function:| IGL_INLINE ScalarMatrix igl::embree::line_mesh_intersection | ( | const ScalarMatrix & | V_source, |
| const ScalarMatrix & | N_source, | ||
| const ScalarMatrix & | V_target, | ||
| const IndexMatrix & | F_target | ||
| ) |
References igl::Hit::id, igl::embree::EmbreeIntersector::init(), igl::embree::EmbreeIntersector::intersectBeam(), igl::Hit::t, igl::Hit::u, and igl::Hit::v.
Here is the call graph for this function:| IGL_INLINE void igl::embree::reorient_facets_raycast | ( | const Eigen::PlainObjectBase< DerivedV > & | V, |
| const Eigen::PlainObjectBase< DerivedF > & | F, | ||
| Eigen::PlainObjectBase< DerivedFF > & | FF, | ||
| Eigen::PlainObjectBase< DerivedI > & | I | ||
| ) |
References Eigen::PlainObjectBase< Derived >::conservativeResize(), reorient_facets_raycast(), and Eigen::PlainObjectBase< Derived >::rows().
Here is the call graph for this function:| IGL_INLINE void igl::embree::reorient_facets_raycast | ( | const Eigen::PlainObjectBase< DerivedV > & | V, |
| const Eigen::PlainObjectBase< DerivedF > & | F, | ||
| int | rays_total, | ||
| int | rays_minimum, | ||
| bool | facet_wise, | ||
| bool | use_parity, | ||
| bool | is_verbose, | ||
| Eigen::PlainObjectBase< DerivedI > & | I, | ||
| Eigen::PlainObjectBase< DerivedC > & | C | ||
| ) |
References igl::bfs_orient(), Eigen::PlainObjectBase< Derived >::cols(), igl::doublearea(), igl::embree::EmbreeIntersector::init(), igl::embree::EmbreeIntersector::intersectRay(), igl::per_face_normals(), igl::random_dir(), Eigen::PlainObjectBase< Derived >::resize(), and Eigen::PlainObjectBase< Derived >::setZero().
Referenced by reorient_facets_raycast().
Here is the call graph for this function:
Here is the caller graph for this function:| IGL_INLINE void igl::embree::shape_diameter_function | ( | const Eigen::PlainObjectBase< DerivedV > & | V, |
| const Eigen::PlainObjectBase< DerivedF > & | F, | ||
| const Eigen::PlainObjectBase< DerivedP > & | P, | ||
| const Eigen::PlainObjectBase< DerivedN > & | N, | ||
| const int | num_samples, | ||
| Eigen::PlainObjectBase< DerivedS > & | S | ||
| ) |
References igl::embree::EmbreeIntersector::init(), and shape_diameter_function().
Here is the call graph for this function:| IGL_INLINE void igl::embree::shape_diameter_function | ( | const EmbreeIntersector & | ei, |
| const Eigen::PlainObjectBase< DerivedP > & | P, | ||
| const Eigen::PlainObjectBase< DerivedN > & | N, | ||
| const int | num_samples, | ||
| Eigen::PlainObjectBase< DerivedS > & | S | ||
| ) |
References igl::embree::EmbreeIntersector::intersectRay(), igl::shape_diameter_function(), and igl::Hit::t.
Referenced by shape_diameter_function().
Here is the call graph for this function:
Here is the caller graph for this function:| IGL_INLINE int igl::embree::unproject_in_mesh | ( | const Eigen::Vector2f & | pos, |
| const Eigen::Matrix4f & | model, | ||
| const Eigen::Matrix4f & | proj, | ||
| const Eigen::Vector4f & | viewport, | ||
| const EmbreeIntersector & | ei, | ||
| Eigen::PlainObjectBase< Derivedobj > & | obj | ||
| ) |
References unproject_in_mesh().
Here is the call graph for this function:| IGL_INLINE int igl::embree::unproject_in_mesh | ( | const Eigen::Vector2f & | pos, |
| const Eigen::Matrix4f & | model, | ||
| const Eigen::Matrix4f & | proj, | ||
| const Eigen::Vector4f & | viewport, | ||
| const EmbreeIntersector & | ei, | ||
| Eigen::PlainObjectBase< Derivedobj > & | obj, | ||
| std::vector< igl::Hit > & | hits | ||
| ) |
References igl::embree::EmbreeIntersector::intersectRay(), and igl::unproject_in_mesh().
Referenced by unproject_in_mesh().
Here is the call graph for this function:
Here is the caller graph for this function:| IGL_INLINE bool igl::embree::unproject_onto_mesh | ( | const Eigen::Vector2f & | pos, |
| const Eigen::MatrixXi & | F, | ||
| const Eigen::Matrix4f & | model, | ||
| const Eigen::Matrix4f & | proj, | ||
| const Eigen::Vector4f & | viewport, | ||
| const EmbreeIntersector & | ei, | ||
| int & | fid, | ||
| Eigen::Vector3f & | bc | ||
| ) |
References igl::embree::EmbreeIntersector::intersectRay(), and igl::unproject_onto_mesh().
Referenced by unproject_onto_mesh().
Here is the call graph for this function:
Here is the caller graph for this function:| IGL_INLINE bool igl::embree::unproject_onto_mesh | ( | const Eigen::Vector2f & | pos, |
| const Eigen::MatrixXi & | F, | ||
| const Eigen::Matrix4f & | model, | ||
| const Eigen::Matrix4f & | proj, | ||
| const Eigen::Vector4f & | viewport, | ||
| const EmbreeIntersector & | ei, | ||
| int & | fid, | ||
| int & | vid | ||
| ) |
References unproject_onto_mesh().
Here is the call graph for this function:
|
static |