![]() |
Prusa Slicer 2.6.0
|
Collaboration diagram for igl::copyleft::comiso::FrameInterpolator:Public Member Functions | |
| IGL_INLINE | FrameInterpolator (const Eigen::MatrixXd &_V, const Eigen::MatrixXi &_F) |
| IGL_INLINE | ~FrameInterpolator () |
| IGL_INLINE void | resetConstraints () |
| IGL_INLINE void | setConstraint (const int fid, const Eigen::VectorXd &v) |
| IGL_INLINE void | interpolateSymmetric () |
| IGL_INLINE void | solve () |
| IGL_INLINE void | frame2canonical (const Eigen::MatrixXd &TP, const Eigen::RowVectorXd &v, double &theta, Eigen::VectorXd &S) |
| IGL_INLINE void | canonical2frame (const Eigen::MatrixXd &TP, const double theta, const Eigen::VectorXd &S, Eigen::RowVectorXd &v) |
| IGL_INLINE Eigen::MatrixXd | getFieldPerFace () |
| IGL_INLINE void | PolarDecomposition (Eigen::MatrixXd V, Eigen::MatrixXd &U, Eigen::MatrixXd &P) |
Public Attributes | |
| Eigen::MatrixXd | S |
| std::vector< bool > | S_c |
| Eigen::MatrixXi | TT |
| Eigen::MatrixXi | TTi |
| std::vector< bool > | edge_consistency |
| Eigen::MatrixXi | edge_consistency_TT |
Private Member Functions | |
| IGL_INLINE double | mod2pi (double d) |
| IGL_INLINE double | modpi2 (double d) |
| IGL_INLINE double | modpi (double d) |
| IGL_INLINE double | vector2theta (const Eigen::MatrixXd &TP, const Eigen::RowVectorXd &v) |
| IGL_INLINE Eigen::RowVectorXd | theta2vector (const Eigen::MatrixXd &TP, const double theta) |
| IGL_INLINE void | interpolateCross () |
| IGL_INLINE void | computek () |
| IGL_INLINE void | compute_edge_consistency () |
Private Attributes | |
| Eigen::VectorXd | thetas |
| std::vector< bool > | thetas_c |
| Eigen::MatrixXi | EV |
| Eigen::MatrixXi | FE |
| Eigen::MatrixXi | EF |
| std::vector< bool > | isBorderEdge |
| Eigen::VectorXd | k |
| Eigen::MatrixXd | V |
| Eigen::MatrixXi | F |
| Eigen::MatrixXd | N |
| std::vector< Eigen::MatrixXd > | TPs |
| igl::copyleft::comiso::FrameInterpolator::FrameInterpolator | ( | const Eigen::MatrixXd & | _V, |
| const Eigen::MatrixXi & | _F | ||
| ) |
References compute_edge_consistency(), computek(), igl::edge_topology(), EF, EV, F, FE, isBorderEdge, N, igl::per_face_normals(), resetConstraints(), S, thetas, TPs, igl::triangle_triangle_adjacency(), TT, TTi, and V.
Here is the call graph for this function:| igl::copyleft::comiso::FrameInterpolator::~FrameInterpolator | ( | ) |
| void igl::copyleft::comiso::FrameInterpolator::canonical2frame | ( | const Eigen::MatrixXd & | TP, |
| const double | theta, | ||
| const Eigen::VectorXd & | S, | ||
| Eigen::RowVectorXd & | v | ||
| ) |
Referenced by getFieldPerFace(), and setConstraint().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
References edge_consistency, edge_consistency_TT, EF, isBorderEdge, k, modpi(), igl::PI, thetas, and TT.
Referenced by FrameInterpolator().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
References cos(), EF, EV, F, isBorderEdge, k, N, sin(), and V.
Referenced by FrameInterpolator().
Here is the call graph for this function:
Here is the caller graph for this function:| void igl::copyleft::comiso::FrameInterpolator::frame2canonical | ( | const Eigen::MatrixXd & | TP, |
| const Eigen::RowVectorXd & | v, | ||
| double & | theta, | ||
| Eigen::VectorXd & | S | ||
| ) |
References cos(), PolarDecomposition(), S, and sin().
Referenced by setConstraint().
Here is the call graph for this function:
Here is the caller graph for this function:| Eigen::MatrixXd igl::copyleft::comiso::FrameInterpolator::getFieldPerFace | ( | ) |
References canonical2frame(), F, S, thetas, and TPs.
Referenced by igl::copyleft::comiso::frame_field().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
References F, Eigen::NoChange, igl::copyleft::comiso::nrosy(), S, theta2vector(), thetas, thetas_c, TPs, V, and vector2theta().
Referenced by solve().
Here is the call graph for this function:
Here is the caller graph for this function:| void igl::copyleft::comiso::FrameInterpolator::interpolateSymmetric | ( | ) |
References Eigen::SparseLU< _MatrixType, _OrderingType >::compute(), cos(), EF, F, Eigen::SparseLU< _MatrixType, _OrderingType >::info(), isBorderEdge, k, L, S, S_c, Eigen::SparseMatrix< _Scalar, _Options, _StorageIndex >::setFromTriplets(), sin(), and Eigen::SparseSolverBase< Derived >::solve().
Referenced by solve().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
References igl::PI.
|
private |
|
private |
| void igl::copyleft::comiso::FrameInterpolator::PolarDecomposition | ( | Eigen::MatrixXd | V, |
| Eigen::MatrixXd & | U, | ||
| Eigen::MatrixXd & | P | ||
| ) |
References Eigen::ComputeFullU, Eigen::ComputeFullV, Eigen::SVDBase< Derived >::matrixU(), Eigen::SVDBase< Derived >::matrixV(), Eigen::SVDBase< Derived >::singularValues(), and V.
Referenced by frame2canonical().
Here is the call graph for this function:
Here is the caller graph for this function:| void igl::copyleft::comiso::FrameInterpolator::resetConstraints | ( | ) |
| void igl::copyleft::comiso::FrameInterpolator::setConstraint | ( | const int | fid, |
| const Eigen::VectorXd & | v | ||
| ) |
References canonical2frame(), frame2canonical(), S, S_c, thetas, thetas_c, and TPs.
Referenced by igl::copyleft::comiso::frame_field().
Here is the call graph for this function:
Here is the caller graph for this function:| void igl::copyleft::comiso::FrameInterpolator::solve | ( | ) |
References interpolateCross(), and interpolateSymmetric().
Referenced by igl::copyleft::comiso::frame_field().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Referenced by interpolateCross().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Referenced by interpolateCross().
Here is the caller graph for this function:| std::vector<bool> igl::copyleft::comiso::FrameInterpolator::edge_consistency |
Referenced by compute_edge_consistency().
| Eigen::MatrixXi igl::copyleft::comiso::FrameInterpolator::edge_consistency_TT |
Referenced by compute_edge_consistency().
|
private |
Referenced by FrameInterpolator(), compute_edge_consistency(), computek(), and interpolateSymmetric().
|
private |
Referenced by FrameInterpolator(), and computek().
|
private |
Referenced by FrameInterpolator(), computek(), getFieldPerFace(), interpolateCross(), interpolateSymmetric(), and resetConstraints().
|
private |
Referenced by FrameInterpolator().
|
private |
Referenced by FrameInterpolator(), compute_edge_consistency(), computek(), and interpolateSymmetric().
|
private |
Referenced by compute_edge_consistency(), computek(), and interpolateSymmetric().
|
private |
Referenced by FrameInterpolator(), and computek().
| Eigen::MatrixXd igl::copyleft::comiso::FrameInterpolator::S |
Referenced by FrameInterpolator(), frame2canonical(), getFieldPerFace(), interpolateCross(), interpolateSymmetric(), and setConstraint().
| std::vector<bool> igl::copyleft::comiso::FrameInterpolator::S_c |
Referenced by interpolateSymmetric(), resetConstraints(), and setConstraint().
|
private |
Referenced by FrameInterpolator(), compute_edge_consistency(), getFieldPerFace(), interpolateCross(), and setConstraint().
|
private |
Referenced by interpolateCross(), resetConstraints(), and setConstraint().
|
private |
Referenced by FrameInterpolator(), getFieldPerFace(), interpolateCross(), and setConstraint().
| Eigen::MatrixXi igl::copyleft::comiso::FrameInterpolator::TT |
Referenced by FrameInterpolator(), and compute_edge_consistency().
| Eigen::MatrixXi igl::copyleft::comiso::FrameInterpolator::TTi |
Referenced by FrameInterpolator().
|
private |
Referenced by FrameInterpolator(), computek(), interpolateCross(), and PolarDecomposition().