Wildmeshing Toolkit
PositionMapAMIPS2D.hpp
Go to the documentation of this file.
1 #pragma once
3 #include "TriangleAMIPS.hpp"
4 
5 namespace wmtk::function {
11 {
12 public:
14  const TriMesh& mesh,
15  const MeshAttributeHandle<double>& vertex_uv_handle,
16  const image::Image& image);
18  const TriMesh& mesh,
19  const MeshAttributeHandle<double>& vertex_uv_handle,
20  const wmtk::image::SamplingAnalyticFunction::FunctionType type,
21  const double a,
22  const double b,
23  const double c);
24 
25 public:
26  DScalar get_value_autodiff(const Tuple& simplex) const override;
27 
28 protected:
30 };
31 } // namespace wmtk::function
2D TriangleAMIPS uses uv and position map to get the 3d cooridnates then evaluate
DScalar get_value_autodiff(const Tuple &simplex) const override
utils::PositionMapEvaluator m_pos_evaluator
PositionMapAMIPS2D(const TriMesh &mesh, const MeshAttributeHandle< double > &vertex_uv_handle, const image::Image &image)
This is the implementation of the AMIPS energy function of a triangle mesh that can be embedded in 2d...
Automatic differentiation scalar with first- and second-order derivatives.
Definition: autodiff.h:501