18 using DSVec2 = Eigen::Vector2<DScalar>;
19 using DSVec3 = Eigen::Vector3<DScalar>;
23 const std::vector<DSVec>& coords)
const
25 assert(coords.size() == 3);
33 DSVec2 a = coords[0], b = coords[1], c = coords[2];
37 DSVec3 a = coords[0], b = coords[1], c = coords[2];
40 default: assert(
false);
This is an extension of the PerSimplexFunction class that uses autodiff encoding for differentiations...
DScalar2< double, Eigen::Matrix< double, -1, 1 >, Eigen::Matrix< double, -1, -1 > > DScalar
int64_t embedded_dimension() const
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 ...
TriangleAMIPS(const TriMesh &mesh, const attribute::MeshAttributeHandle &vertex_attribute_handle)
PrimitiveType primitive_type() const
auto amips(const Eigen::MatrixBase< Derived > &B)
Eigen::Vector2< DScalar > DSVec2
typename PerSimplexAutodiffFunction::DScalar DScalar
Eigen::Vector3< DScalar > DSVec3
Automatic differentiation scalar with first- and second-order derivatives.