Edge strain constraint. See [2] for more details. More...
#include <Constraint.h>
Public Member Functions | |
EdgeStrainConstraint (const std::vector< int > &idI, Scalar weight, const Matrix3X &positions, Scalar rangeMin=1.0, Scalar rangeMax=1.0) | |
Constraint constructor. | |
virtual void | project (const Matrix3X &positions, Matrix3X &projections) const overridefinal |
Find the closest configuration from the input positions that satisfy the constraint. | |
virtual void | addConstraint (std::vector< Triplet > &triplets, int &idO) const overridefinal |
Add the constraint to the linear system. | |
void | setEdgeLength (Scalar length) |
Set a new edge length. | |
Public Member Functions inherited from ShapeOp::Constraint | |
Constraint (const std::vector< int > &idI, Scalar weight) | |
Constraint constructor. | |
Scalar | error (const Matrix3X &positions) const |
Compute the constraint violation for the given input positions. | |
Additional Inherited Members | |
Protected Attributes inherited from ShapeOp::Constraint | |
std::vector< int > | idI_ |
ids of the vertices involved in this constraint. | |
Scalar | weight_ |
weight for the constraint. | |
int | idO_ |
location of this constraint in the linear system. | |
Edge strain constraint. See [2] for more details.