![]() |
Prusa Slicer 2.6.0
|
Collaboration diagram for CurvatureCalculator:Classes | |
| class | Quadric |
Public Member Functions | |
| IGL_INLINE | CurvatureCalculator () |
| IGL_INLINE void | init (const Eigen::MatrixXd &V, const Eigen::MatrixXi &F) |
| IGL_INLINE void | finalEigenStuff (int, const std::vector< Eigen::Vector3d > &, Quadric &) |
| IGL_INLINE void | fitQuadric (const Eigen::Vector3d &, const std::vector< Eigen::Vector3d > &ref, const std::vector< int > &, Quadric *) |
| IGL_INLINE void | applyProjOnPlane (const Eigen::Vector3d &, const std::vector< int > &, std::vector< int > &) |
| IGL_INLINE void | getSphere (const int, const double, std::vector< int > &, int min) |
| IGL_INLINE void | getKRing (const int, const double, std::vector< int > &) |
| IGL_INLINE Eigen::Vector3d | project (const Eigen::Vector3d &, const Eigen::Vector3d &, const Eigen::Vector3d &) |
| IGL_INLINE void | computeReferenceFrame (int, const Eigen::Vector3d &, std::vector< Eigen::Vector3d > &) |
| IGL_INLINE void | getAverageNormal (int, const std::vector< int > &, Eigen::Vector3d &) |
| IGL_INLINE void | getProjPlane (int, const std::vector< int > &, Eigen::Vector3d &) |
| IGL_INLINE void | applyMontecarlo (const std::vector< int > &, std::vector< int > *) |
| IGL_INLINE void | computeCurvature () |
| IGL_INLINE void | printCurvature (const std::string &outpath) |
| IGL_INLINE double | getAverageEdge () |
Static Public Member Functions | |
| static IGL_INLINE int | rotateForward (double *v0, double *v1, double *v2) |
| static IGL_INLINE void | rotateBackward (int nr, double *v0, double *v1, double *v2) |
| static IGL_INLINE Eigen::Vector3d | chooseMax (Eigen::Vector3d n, Eigen::Vector3d abc, double ab) |
Public Attributes | |
| std::vector< std::vector< double > > | curv |
| std::vector< std::vector< Eigen::Vector3d > > | curvDir |
| bool | curvatureComputed |
| Eigen::MatrixXd | vertices |
| Eigen::MatrixXi | faces |
| std::vector< std::vector< int > > | vertex_to_vertices |
| std::vector< std::vector< int > > | vertex_to_faces |
| std::vector< std::vector< int > > | vertex_to_faces_index |
| Eigen::MatrixXd | face_normals |
| Eigen::MatrixXd | vertex_normals |
| double | sphereRadius |
| int | kRing |
| bool | localMode |
| bool | projectionPlaneCheck |
| bool | montecarlo |
| unsigned int | montecarloN |
| searchType | st |
| normalType | nt |
| double | lastRadius |
| double | scaledRadius |
| std::string | lastMeshName |
| bool | expStep |
| int | step |
| int | maxSize |
| IGL_INLINE CurvatureCalculator::CurvatureCalculator | ( | ) |
References AVERAGE, curvatureComputed, expStep, kRing, localMode, montecarlo, montecarloN, nt, projectionPlaneCheck, SPHERE_SEARCH, sphereRadius, and st.
| IGL_INLINE void CurvatureCalculator::applyMontecarlo | ( | const std::vector< int > & | vin, |
| std::vector< int > * | vout | ||
| ) |
References montecarloN.
Referenced by computeCurvature().
Here is the caller graph for this function:| IGL_INLINE void CurvatureCalculator::applyProjOnPlane | ( | const Eigen::Vector3d & | ppn, |
| const std::vector< int > & | vin, | ||
| std::vector< int > & | vout | ||
| ) |
References vertex_normals.
Referenced by computeCurvature().
Here is the caller graph for this function:
|
inlinestatic |
References nt.
Referenced by getProjPlane().
Here is the caller graph for this function:| IGL_INLINE void CurvatureCalculator::computeCurvature | ( | ) |
References applyMontecarlo(), applyProjOnPlane(), AVERAGE, computeReferenceFrame(), curv, curvatureComputed, curvDir, finalEigenStuff(), fitQuadric(), getAverageEdge(), getAverageNormal(), getKRing(), getProjPlane(), getSphere(), K_RING_SEARCH, kRing, lastRadius, montecarlo, montecarloN, nt, PROJ_PLANE, projectionPlaneCheck, scaledRadius, SPHERE_SEARCH, sphereRadius, st, vertex_normals, and vertices.
Referenced by igl::principal_curvature().
Here is the call graph for this function:
Here is the caller graph for this function:| IGL_INLINE void CurvatureCalculator::computeReferenceFrame | ( | int | i, |
| const Eigen::Vector3d & | normal, | ||
| std::vector< Eigen::Vector3d > & | ref | ||
| ) |
References project(), vertex_to_vertices, and vertices.
Referenced by computeCurvature().
Here is the call graph for this function:
Here is the caller graph for this function:| IGL_INLINE void CurvatureCalculator::finalEigenStuff | ( | int | i, |
| const std::vector< Eigen::Vector3d > & | ref, | ||
| Quadric & | q | ||
| ) |
References CurvatureCalculator::Quadric::a(), CurvatureCalculator::Quadric::b(), CurvatureCalculator::Quadric::c(), curv, curvDir, CurvatureCalculator::Quadric::d(), CurvatureCalculator::Quadric::e(), Eigen::SelfAdjointEigenSolver< _MatrixType >::eigenvalues(), Eigen::SelfAdjointEigenSolver< _MatrixType >::eigenvectors(), and L.
Referenced by computeCurvature().
Here is the call graph for this function:
Here is the caller graph for this function:| IGL_INLINE void CurvatureCalculator::fitQuadric | ( | const Eigen::Vector3d & | v, |
| const std::vector< Eigen::Vector3d > & | ref, | ||
| const std::vector< int > & | vv, | ||
| Quadric * | q | ||
| ) |
References CurvatureCalculator::Quadric::fit(), and vertices.
Referenced by computeCurvature().
Here is the call graph for this function:
Here is the caller graph for this function:| IGL_INLINE double CurvatureCalculator::getAverageEdge | ( | ) |
References faces, and vertices.
Referenced by computeCurvature().
Here is the caller graph for this function:| IGL_INLINE void CurvatureCalculator::getAverageNormal | ( | int | j, |
| const std::vector< int > & | vv, | ||
| Eigen::Vector3d & | normal | ||
| ) |
References localMode, and vertex_normals.
Referenced by computeCurvature().
Here is the caller graph for this function:| IGL_INLINE void CurvatureCalculator::getKRing | ( | const int | start, |
| const double | r, | ||
| std::vector< int > & | vv | ||
| ) |
References free(), vertex_to_vertices, and vertices.
Referenced by computeCurvature().
Here is the call graph for this function:
Here is the caller graph for this function:| IGL_INLINE void CurvatureCalculator::getProjPlane | ( | int | j, |
| const std::vector< int > & | vv, | ||
| Eigen::Vector3d & | ppn | ||
| ) |
References chooseMax(), face_normals, localMode, rotateBackward(), rotateForward(), sqrt(), vertex_normals, and vertex_to_faces.
Referenced by computeCurvature().
Here is the call graph for this function:
Here is the caller graph for this function:| IGL_INLINE void CurvatureCalculator::getSphere | ( | const int | start, |
| const double | r, | ||
| std::vector< int > & | vv, | ||
| int | min | ||
| ) |
References free(), vertex_to_vertices, and vertices.
Referenced by computeCurvature().
Here is the call graph for this function:
Here is the caller graph for this function:| IGL_INLINE void CurvatureCalculator::init | ( | const Eigen::MatrixXd & | V, |
| const Eigen::MatrixXi & | F | ||
| ) |
References igl::adjacency_list(), face_normals, faces, igl::per_face_normals(), igl::per_vertex_normals(), vertex_normals, vertex_to_faces, vertex_to_faces_index, vertex_to_vertices, igl::vertex_triangle_adjacency(), and vertices.
Referenced by igl::principal_curvature().
Here is the call graph for this function:
Here is the caller graph for this function:| IGL_INLINE void CurvatureCalculator::printCurvature | ( | const std::string & | outpath | ) |
References curv, curvatureComputed, curvDir, and vertices.
| IGL_INLINE Eigen::Vector3d CurvatureCalculator::project | ( | const Eigen::Vector3d & | v, |
| const Eigen::Vector3d & | vp, | ||
| const Eigen::Vector3d & | ppn | ||
| ) |
|
inlinestatic |
References rotateBackward().
Referenced by getProjPlane(), and rotateBackward().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
References rotateForward().
Referenced by getProjPlane(), and rotateForward().
Here is the call graph for this function:
Here is the caller graph for this function:| std::vector< std::vector<double> > CurvatureCalculator::curv |
Referenced by computeCurvature(), finalEigenStuff(), igl::principal_curvature(), and printCurvature().
| bool CurvatureCalculator::curvatureComputed |
Referenced by CurvatureCalculator(), computeCurvature(), and printCurvature().
| std::vector< std::vector<Eigen::Vector3d> > CurvatureCalculator::curvDir |
Referenced by computeCurvature(), finalEigenStuff(), igl::principal_curvature(), and printCurvature().
| bool CurvatureCalculator::expStep |
Referenced by CurvatureCalculator().
| Eigen::MatrixXd CurvatureCalculator::face_normals |
Referenced by getProjPlane(), and init().
| Eigen::MatrixXi CurvatureCalculator::faces |
Referenced by getAverageEdge(), and init().
| int CurvatureCalculator::kRing |
Referenced by CurvatureCalculator(), computeCurvature(), and igl::principal_curvature().
| std::string CurvatureCalculator::lastMeshName |
| double CurvatureCalculator::lastRadius |
Referenced by computeCurvature().
| bool CurvatureCalculator::localMode |
Referenced by CurvatureCalculator(), getAverageNormal(), and getProjPlane().
| int CurvatureCalculator::maxSize |
| bool CurvatureCalculator::montecarlo |
Referenced by CurvatureCalculator(), and computeCurvature().
| unsigned int CurvatureCalculator::montecarloN |
Referenced by CurvatureCalculator(), applyMontecarlo(), and computeCurvature().
| normalType CurvatureCalculator::nt |
Referenced by CurvatureCalculator(), chooseMax(), and computeCurvature().
| bool CurvatureCalculator::projectionPlaneCheck |
Referenced by CurvatureCalculator(), and computeCurvature().
| double CurvatureCalculator::scaledRadius |
Referenced by computeCurvature().
| double CurvatureCalculator::sphereRadius |
Referenced by CurvatureCalculator(), computeCurvature(), and igl::principal_curvature().
| searchType CurvatureCalculator::st |
Referenced by CurvatureCalculator(), computeCurvature(), and igl::principal_curvature().
| int CurvatureCalculator::step |
| Eigen::MatrixXd CurvatureCalculator::vertex_normals |
Referenced by applyProjOnPlane(), computeCurvature(), getAverageNormal(), getProjPlane(), and init().
| std::vector<std::vector<int> > CurvatureCalculator::vertex_to_faces |
Referenced by getProjPlane(), and init().
| std::vector<std::vector<int> > CurvatureCalculator::vertex_to_faces_index |
Referenced by init().
| std::vector<std::vector<int> > CurvatureCalculator::vertex_to_vertices |
Referenced by computeReferenceFrame(), getKRing(), getSphere(), and init().
| Eigen::MatrixXd CurvatureCalculator::vertices |
Referenced by computeCurvature(), computeReferenceFrame(), fitQuadric(), getAverageEdge(), getKRing(), getSphere(), init(), and printCurvature().