Wildmeshing Toolkit
wmtk::function::EdgeValenceEnergy Class Reference

#include <EdgeValenceEnergy.hpp>

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

Public Member Functions

 EdgeValenceEnergy (const Mesh &mesh, const attribute::MeshAttributeHandle &variable_attribute_handle)
 
double get_value (const simplex::Simplex &simplex) const override
 This function is defined over a simplex (normally a triangle or tetrahedron). More...
 
virtual double get_value (const simplex::Simplex &domain_simplex) const=0
 This function is defined over a simplex (normally a triangle or tetrahedron). More...
 
- Public Member Functions inherited from wmtk::function::PerSimplexFunction
 PerSimplexFunction (const Mesh &mesh, const PrimitiveType primitive_type, const attribute::MeshAttributeHandle &variable_attribute_handle)
 
virtual ~PerSimplexFunction ()
 
virtual Eigen::VectorXd get_gradient (const simplex::Simplex &domain_simplex, const simplex::Simplex &variable_simplex) const
 
virtual Eigen::MatrixXd get_hessian (const simplex::Simplex &domain_simplex, const simplex::Simplex &variable_simplex) const
 
const Meshmesh () const
 
const attribute::MeshAttributeHandleattribute_handle () const
 
int64_t embedded_dimension () const
 

Protected Member Functions

const TriMeshtri_mesh () const
 

Additional Inherited Members

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

Detailed Description

Definition at line 6 of file EdgeValenceEnergy.hpp.

Constructor & Destructor Documentation

◆ EdgeValenceEnergy()

wmtk::function::EdgeValenceEnergy::EdgeValenceEnergy ( const Mesh mesh,
const attribute::MeshAttributeHandle variable_attribute_handle 
)

Definition at line 7 of file EdgeValenceEnergy.cpp.

References wmtk::Vertex.

Member Function Documentation

◆ get_value() [1/2]

virtual double wmtk::function::PerSimplexFunction::get_value

This function is defined over a simplex (normally a triangle or tetrahedron).

And the domain of the function is represented by the input argument domain_simplex.

Parameters
domain_simplexThe domain that the function is defined over.
Returns
double The numerical value of the function at the input domain.

◆ get_value() [2/2]

double wmtk::function::EdgeValenceEnergy::get_value ( const simplex::Simplex domain_simplex) const
overridevirtual

This function is defined over a simplex (normally a triangle or tetrahedron).

And the domain of the function is represented by the input argument domain_simplex.

Parameters
domain_simplexThe domain that the function is defined over.
Returns
double The numerical value of the function at the input domain.

Implements wmtk::function::PerSimplexFunction.

Definition at line 13 of file EdgeValenceEnergy.cpp.

References wmtk::abs(), wmtk::TriMesh::is_boundary_vertex(), wmtk::simplex::link(), wmtk::simplex::SimplexCollection::simplex_vector(), wmtk::TriMesh::switch_vertex(), tri_mesh(), wmtk::simplex::Simplex::tuple(), wmtk::Vertex, and wmtk::simplex::Simplex::vertex().

Here is the call graph for this function:

◆ tri_mesh()

const TriMesh & wmtk::function::EdgeValenceEnergy::tri_mesh ( ) const
protected

Definition at line 72 of file EdgeValenceEnergy.cpp.

References wmtk::function::PerSimplexFunction::mesh().

Referenced by get_value().

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

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