Wildmeshing Toolkit
|
Namespaces | |
utils | |
Classes | |
class | Function |
class | LocalNeighborsSumFunction |
class | PerSimplexAutodiffFunction |
This is an extension of the PerSimplexFunction class that uses autodiff encoding for differentiations. More... | |
class | PerSimplexFunction |
class | AMIPS |
class | EdgeValenceEnergy |
class | PositionMapAMIPS2D |
2D TriangleAMIPS uses uv and position map to get the 3d cooridnates then evaluate More... | |
class | TriangleAMIPS |
This is the implementation of the AMIPS energy function of a triangle mesh that can be embedded in 2d or 3d. More... | |
Typedefs | |
using | DScalar = typename PerSimplexAutodiffFunction::DScalar |
using | DSVec2 = Eigen::Vector2< DScalar > |
using | DSVec3 = Eigen::Vector3< DScalar > |
Functions | |
double | Tet_AMIPS_energy_aux (const std::array< double, 12 > &T) |
void | Tet_AMIPS_jacobian (const std::array< double, 12 > &T, Eigen::Vector3d &result_0) |
void | Tet_AMIPS_hessian (const std::array< double, 12 > &T, Eigen::Matrix3d &result_0) |
double | Tet_AMIPS_energy (const std::array< double, 12 > &T) |
double | Tri_AMIPS_energy_aux (const std::array< double, 6 > &T) |
double | Tri_AMIPS_energy (const std::array< double, 6 > &T) |
void | Tri_AMIPS_jacobian (const std::array< double, 6 > &T, Eigen::Vector2d &result_0) |
void | Tri_AMIPS_hessian (const std::array< double, 6 > &T, Eigen::Matrix2d &result_0) |
template<int64_t NV, int64_t DIM> | |
std::array< double, NV *DIM > | unbox (const std::vector< std::decay_t< typename attribute::ConstMapResult< double >>> &data, const int64_t index) |
template<int64_t NV, int64_t DIM> | |
std::array< Rational, NV *DIM > | unbox (const std::vector< std::decay_t< typename attribute::ConstMapResult< Rational >>> &data, const int64_t index) |
using wmtk::function::DScalar = typedef typename PerSimplexAutodiffFunction::DScalar |
Definition at line 17 of file TriangleAMIPS.cpp.
using wmtk::function::DSVec2 = typedef Eigen::Vector2<DScalar> |
Definition at line 18 of file TriangleAMIPS.cpp.
using wmtk::function::DSVec3 = typedef Eigen::Vector3<DScalar> |
Definition at line 19 of file TriangleAMIPS.cpp.
double wmtk::function::Tet_AMIPS_energy | ( | const std::array< double, 12 > & | T | ) |
Definition at line 375 of file AMIPS.cpp.
References wmtk::pow(), and Tet_AMIPS_energy_aux().
Referenced by wmtk::function::AMIPS::get_value(), wmtk::operations::AMIPSOptimizationSmoothing::WMTKAMIPSProblem< S >::gradient(), wmtk::operations::AMIPSOptimizationSmoothingPeriodic::WMTKAMIPSProblem< S >::gradient(), wmtk::operations::AMIPSOptimizationSmoothing::WMTKAMIPSProblem< S >::hessian(), wmtk::operations::AMIPSOptimizationSmoothingPeriodic::WMTKAMIPSProblem< S >::hessian(), wmtk::components::internal::periodic_optimization(), wmtk::operations::AMIPSOptimizationSmoothing::WMTKAMIPSProblem< S >::value(), wmtk::operations::AMIPSOptimizationSmoothingPeriodic::WMTKAMIPSProblem< S >::value(), wmtk::components::wildmeshing(), wmtk::components::internal::wildmeshing2d(), and wmtk::components::internal::wildmeshing3d().
double wmtk::function::Tet_AMIPS_energy_aux | ( | const std::array< double, 12 > & | T | ) |
Definition at line 12 of file AMIPS.cpp.
Referenced by Tet_AMIPS_energy().
void wmtk::function::Tet_AMIPS_hessian | ( | const std::array< double, 12 > & | T, |
Eigen::Matrix3d & | result_0 | ||
) |
Definition at line 172 of file AMIPS.cpp.
References wmtk::pow().
Referenced by wmtk::function::AMIPS::get_hessian(), wmtk::operations::AMIPSOptimizationSmoothing::WMTKAMIPSProblem< S >::hessian(), and wmtk::operations::AMIPSOptimizationSmoothingPeriodic::WMTKAMIPSProblem< S >::hessian().
void wmtk::function::Tet_AMIPS_jacobian | ( | const std::array< double, 12 > & | T, |
Eigen::Vector3d & | result_0 | ||
) |
Definition at line 75 of file AMIPS.cpp.
References wmtk::pow().
Referenced by wmtk::function::AMIPS::get_gradient(), wmtk::operations::AMIPSOptimizationSmoothing::WMTKAMIPSProblem< S >::gradient(), wmtk::operations::AMIPSOptimizationSmoothingPeriodic::WMTKAMIPSProblem< S >::gradient(), wmtk::operations::AMIPSOptimizationSmoothing::WMTKAMIPSProblem< S >::hessian(), and wmtk::operations::AMIPSOptimizationSmoothingPeriodic::WMTKAMIPSProblem< S >::hessian().
double wmtk::function::Tri_AMIPS_energy | ( | const std::array< double, 6 > & | T | ) |
Definition at line 473 of file AMIPS.cpp.
References wmtk::Rational::to_double(), and Tri_AMIPS_energy_aux().
Referenced by wmtk::function::AMIPS::get_value(), wmtk::operations::AMIPSOptimizationSmoothing::WMTKAMIPSProblem< S >::gradient(), wmtk::operations::AMIPSOptimizationSmoothingPeriodic::WMTKAMIPSProblem< S >::gradient(), wmtk::operations::AMIPSOptimizationSmoothing::WMTKAMIPSProblem< S >::hessian(), wmtk::operations::AMIPSOptimizationSmoothingPeriodic::WMTKAMIPSProblem< S >::hessian(), wmtk::operations::AMIPSOptimizationSmoothing::WMTKAMIPSProblem< S >::value(), wmtk::operations::AMIPSOptimizationSmoothingPeriodic::WMTKAMIPSProblem< S >::value(), wmtk::components::wildmeshing(), wmtk::components::internal::wildmeshing2d(), and wmtk::components::internal::wildmeshing3d().
double wmtk::function::Tri_AMIPS_energy_aux | ( | const std::array< double, 6 > & | T | ) |
Definition at line 435 of file AMIPS.cpp.
References wmtk::abs(), and wmtk::utils::wmtk_orient2d().
Referenced by Tri_AMIPS_energy().
void wmtk::function::Tri_AMIPS_hessian | ( | const std::array< double, 6 > & | T, |
Eigen::Matrix2d & | result_0 | ||
) |
Definition at line 542 of file AMIPS.cpp.
References wmtk::pow().
Referenced by wmtk::function::AMIPS::get_hessian(), wmtk::operations::AMIPSOptimizationSmoothing::WMTKAMIPSProblem< S >::hessian(), and wmtk::operations::AMIPSOptimizationSmoothingPeriodic::WMTKAMIPSProblem< S >::hessian().
void wmtk::function::Tri_AMIPS_jacobian | ( | const std::array< double, 6 > & | T, |
Eigen::Vector2d & | result_0 | ||
) |
Definition at line 503 of file AMIPS.cpp.
Referenced by wmtk::function::AMIPS::get_gradient(), wmtk::operations::AMIPSOptimizationSmoothing::WMTKAMIPSProblem< S >::gradient(), wmtk::operations::AMIPSOptimizationSmoothingPeriodic::WMTKAMIPSProblem< S >::gradient(), wmtk::operations::AMIPSOptimizationSmoothing::WMTKAMIPSProblem< S >::hessian(), and wmtk::operations::AMIPSOptimizationSmoothingPeriodic::WMTKAMIPSProblem< S >::hessian().
std::array<double, NV * DIM> wmtk::function::unbox | ( | const std::vector< std::decay_t< typename attribute::ConstMapResult< double >>> & | data, |
const int64_t | index | ||
) |
std::array<Rational, NV * DIM> wmtk::function::unbox | ( | const std::vector< std::decay_t< typename attribute::ConstMapResult< Rational >>> & | data, |
const int64_t | index | ||
) |