ShapeOp  0.1.0
Public Member Functions | List of all members
ShapeOp::AreaConstraint Class Reference

Area constraint. Limits the area of a triangle to a range. See [2] for more details. More...

#include <Constraint.h>

Inheritance diagram for ShapeOp::AreaConstraint:
ShapeOp::Constraint

Public Member Functions

 AreaConstraint (const std::vector< int > &idI, Scalar weight, const Matrix3X &positions, Scalar rangeMin=1.0, Scalar rangeMax=1.0)
 Constraint constructor. The target area is the area spanned by three vertices in the parameter positions. The parameters rangeMin and rangeMax can be used to specify a target range for the area [rangeMin* target_area,rangeMax* target_area]. More...
 
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 setRangeMin (Scalar rMin)
 Set a new range minimum.
 
void setRangeMax (Scalar rMax)
 Set a new range maximum.
 
- Public Member Functions inherited from ShapeOp::Constraint
 Constraint (const std::vector< int > &idI, Scalar weight)
 Constraint constructor. More...
 
std::size_t nIndices () const
 Number of indices of vertices involved in the constraint.
 

Additional Inherited Members

- Static Public Member Functions inherited from ShapeOp::Constraint
static std::shared_ptr< ConstraintshapeConstraintFactory (const std::string &ConstraintType, const std::vector< int > &idI, Scalar weight, const Matrix3X &positions)
 Creates a constraint from a string type, a number of indices, a weight and the initial point positions. More...
 
- 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.
 

Detailed Description

Area constraint. Limits the area of a triangle to a range. See [2] for more details.

Constructor & Destructor Documentation

SHAPEOP_INLINE ShapeOp::AreaConstraint::AreaConstraint ( const std::vector< int > &  idI,
Scalar  weight,
const Matrix3X positions,
Scalar  rangeMin = 1.0,
Scalar  rangeMax = 1.0 
)

Constraint constructor. The target area is the area spanned by three vertices in the parameter positions. The parameters rangeMin and rangeMax can be used to specify a target range for the area [rangeMin* target_area,rangeMax* target_area].

Parameters
idIare three indices of the vertices forming the constrained triangle
weightThe weight of the constraint to be added relative to the other constraints.
positionsThe positions of all the n vertices stacked in a 3 by n matrix.
rangeMinThe factor to determine the minimal area: rangeMin*target_area.
rangeMaxThe factor to determine the maximal area: rangeMax*target_area.

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