Wildmeshing Toolkit
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
wmtk::optimization::BarrierEnergy2D Class Reference
Inheritance diagram for wmtk::optimization::BarrierEnergy2D:

Public Member Functions

 BarrierEnergy2D (const MatrixXd &V, const MatrixXi &E, const size_t vid, const double dhat, const double weight=1)
 Barrier energy for a polyline in 2D.
 
TVector initial_position () const
 
void replace_vid (const size_t vid)
 
MatrixXd & V ()
 
double value (const TVector &x) override
 
void gradient (const TVector &x, TVector &gradv) override
 
void hessian (const TVector &x, THessian &hessian) override
 
void hessian (const TVector &x, MatrixXd &hessian) override
 
void solution_changed (const TVector &new_x) override
 
bool is_step_valid (const TVector &x0, const TVector &x1) override
 
void update_collisions (const TVector &x)
 

Private Attributes

ipc::CollisionMesh m_collision_mesh
 
MatrixXd m_V
 
ipc::NormalCollisions m_collisions
 
ipc::BarrierPotential m_B
 
Vector2d m_x0
 
size_t m_vid
 
double m_weight
 

Constructor & Destructor Documentation

◆ BarrierEnergy2D()

wmtk::optimization::BarrierEnergy2D::BarrierEnergy2D ( const MatrixXd &  V,
const MatrixXi &  E,
const size_t  vid,
const double  dhat,
const double  weight = 1 
)

Barrier energy for a polyline in 2D.

The energy is defined over an entire polyline described by V and E. But the optimization only considers one vertex with ID vid. The vid can be replaced to optimize another vertex position later on.


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