Wildmeshing Toolkit
wmtk::function Namespace Reference

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)
 

Typedef Documentation

◆ DScalar

Definition at line 17 of file TriangleAMIPS.cpp.

◆ DSVec2

using wmtk::function::DSVec2 = typedef Eigen::Vector2<DScalar>

Definition at line 18 of file TriangleAMIPS.cpp.

◆ DSVec3

using wmtk::function::DSVec3 = typedef Eigen::Vector3<DScalar>

Definition at line 19 of file TriangleAMIPS.cpp.

Function Documentation

◆ Tet_AMIPS_energy()

◆ Tet_AMIPS_energy_aux()

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().

Here is the caller graph for this function:

◆ Tet_AMIPS_hessian()

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Tet_AMIPS_jacobian()

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Tri_AMIPS_energy()

◆ Tri_AMIPS_energy_aux()

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Tri_AMIPS_hessian()

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Tri_AMIPS_jacobian()

void wmtk::function::Tri_AMIPS_jacobian ( const std::array< double, 6 > &  T,
Eigen::Vector2d &  result_0 
)

◆ unbox() [1/2]

template<int64_t NV, int64_t DIM>
std::array<double, NV * DIM> wmtk::function::unbox ( const std::vector< std::decay_t< typename attribute::ConstMapResult< double >>> &  data,
const int64_t  index 
)

Definition at line 593 of file AMIPS.cpp.

◆ unbox() [2/2]

template<int64_t NV, int64_t DIM>
std::array<Rational, NV * DIM> wmtk::function::unbox ( const std::vector< std::decay_t< typename attribute::ConstMapResult< Rational >>> &  data,
const int64_t  index 
)

Definition at line 615 of file AMIPS.cpp.