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

Similarity or Rigid constraint. Perserves the relative location of a set of vertices. See [1] for more details. More...

#include <Constraint.h>

Inheritance diagram for ShapeOp::SimilarityConstraint:
ShapeOp::Constraint

Public Member Functions

 SimilarityConstraint (const std::vector< int > &idI, Scalar weight, const Matrix3X &positions, bool scaling=true, bool rotate=true, bool flip=true)
 Constraint constructor. By default the shape to match is given by the initial positions of the vertices involved. 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 setShapes (const std::vector< Matrix3X > &shapes)
 A set of new shapes to match to. The SimilarityConstraint will choose and project onto the closest. More...
 
- 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

Similarity or Rigid constraint. Perserves the relative location of a set of vertices. See [1] for more details.

Constructor & Destructor Documentation

SHAPEOP_INLINE ShapeOp::SimilarityConstraint::SimilarityConstraint ( const std::vector< int > &  idI,
Scalar  weight,
const Matrix3X positions,
bool  scaling = true,
bool  rotate = true,
bool  flip = true 
)

Constraint constructor. By default the shape to match is given by the initial positions of the vertices involved.

Parameters
idIA vector of indices of the vertices to be constrained.
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.
scalingIf true, the matching is only up to scale, if false not.
rotateIf true the constraint minimizes over all possible rotations of the matchings.
flipIf true the constraint minimizes by also flipping the matchings.

Member Function Documentation

SHAPEOP_INLINE void ShapeOp::SimilarityConstraint::setShapes ( const std::vector< Matrix3X > &  shapes)

A set of new shapes to match to. The SimilarityConstraint will choose and project onto the closest.

Parameters
shapesa vector of shapes. Each shape consists of a 3*nIndices() Matrix representing a set of points.

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