Wildmeshing Toolkit
wmtk::function::PositionMapAMIPS2D Class Reference

2D TriangleAMIPS uses uv and position map to get the 3d cooridnates then evaluate More...

#include <PositionMapAMIPS2D.hpp>

Inheritance diagram for wmtk::function::PositionMapAMIPS2D:
[legend]
Collaboration diagram for wmtk::function::PositionMapAMIPS2D:
[legend]

Public Member Functions

 PositionMapAMIPS2D (const TriMesh &mesh, const MeshAttributeHandle< double > &vertex_uv_handle, const image::Image &image)
 
 PositionMapAMIPS2D (const TriMesh &mesh, const MeshAttributeHandle< double > &vertex_uv_handle, const wmtk::image::SamplingAnalyticFunction::FunctionType type, const double a, const double b, const double c)
 
DScalar get_value_autodiff (const Tuple &simplex) const override
 
- Public Member Functions inherited from wmtk::function::TriangleAMIPS
 TriangleAMIPS (const TriMesh &mesh, const attribute::MeshAttributeHandle &vertex_attribute_handle)
 
 ~TriangleAMIPS ()
 
- Public Member Functions inherited from wmtk::function::PerSimplexAutodiffFunction
 PerSimplexAutodiffFunction (const Mesh &mesh, const PrimitiveType primitive_type, const attribute::MeshAttributeHandle &variable_attribute_handle)
 
 ~PerSimplexAutodiffFunction ()
 
double get_value (const simplex::Simplex &domain_simplex) const override
 This function is defined over a simplex (normally a triangle or tetrahedron). More...
 
Eigen::VectorXd get_gradient (const simplex::Simplex &domain_simplex, const simplex::Simplex &variable_simplex) const override
 
Eigen::MatrixXd get_hessian (const simplex::Simplex &domain_simplex, const simplex::Simplex &variable_simplex) const override
 
- Public Member Functions inherited from wmtk::function::PerSimplexFunction
 PerSimplexFunction (const Mesh &mesh, const PrimitiveType primitive_type, const attribute::MeshAttributeHandle &variable_attribute_handle)
 
virtual ~PerSimplexFunction ()
 
const Meshmesh () const
 
const attribute::MeshAttributeHandleattribute_handle () const
 
int64_t embedded_dimension () const
 

Protected Attributes

utils::PositionMapEvaluator m_pos_evaluator
 
- Protected Attributes inherited from wmtk::function::PerSimplexFunction
const PrimitiveType m_primitive_type
 

Additional Inherited Members

- Public Types inherited from wmtk::function::PerSimplexAutodiffFunction
using DScalar = DScalar2< double, Eigen::Matrix< double, -1, 1 >, Eigen::Matrix< double, -1, -1 > >
 
using Scalar = typename DScalar::Scalar
 
using DSVec = Eigen::VectorX< DScalar >
 
- Protected Member Functions inherited from wmtk::function::TriangleAMIPS
DScalar eval (const simplex::Simplex &domain_simplex, const std::vector< DSVec > &coordinates) const override
 This function defines a function f(x) where f is defined over a simplex domain and the variables for f are the n vertices coordinates of the simplex. More...
 
- Protected Member Functions inherited from wmtk::function::PerSimplexAutodiffFunction
std::vector< DSVecget_coordinates (const simplex::Simplex &domain_simplex, const std::optional< simplex::Simplex > &variable_simplex_opt={}) const
 This is a helper function that obtains the coordinates of the variables for the function f(x) where f is defined over a domain consists of the input argument domain_tuples. More...
 
std::vector< DSVecget_coordinates (const attribute::Accessor< double > &accessor, const simplex::Simplex &domain_simplex, const std::optional< simplex::Simplex > &variable_simplex_opt={}) const
 

Detailed Description

2D TriangleAMIPS uses uv and position map to get the 3d cooridnates then evaluate

Definition at line 10 of file PositionMapAMIPS2D.hpp.

Constructor & Destructor Documentation

◆ PositionMapAMIPS2D() [1/2]

wmtk::function::PositionMapAMIPS2D::PositionMapAMIPS2D ( const TriMesh mesh,
const MeshAttributeHandle< double > &  vertex_uv_handle,
const image::Image &  image 
)

Definition at line 7 of file PositionMapAMIPS2D.cpp.

◆ PositionMapAMIPS2D() [2/2]

wmtk::function::PositionMapAMIPS2D::PositionMapAMIPS2D ( const TriMesh mesh,
const MeshAttributeHandle< double > &  vertex_uv_handle,
const wmtk::image::SamplingAnalyticFunction::FunctionType  type,
const double  a,
const double  b,
const double  c 
)

Definition at line 15 of file PositionMapAMIPS2D.cpp.

Member Function Documentation

◆ get_value_autodiff()

auto wmtk::function::PositionMapAMIPS2D::get_value_autodiff ( const Tuple simplex) const
override

Definition at line 27 of file PositionMapAMIPS2D.cpp.

References wmtk::function::utils::amips(), wmtk::Edge, wmtk::PE, wmtk::PV, and wmtk::Vertex.

Here is the call graph for this function:

Member Data Documentation

◆ m_pos_evaluator

utils::PositionMapEvaluator wmtk::function::PositionMapAMIPS2D::m_pos_evaluator
protected

Definition at line 29 of file PositionMapAMIPS2D.hpp.


The documentation for this class was generated from the following files: