79        const Eigen::PlainObjectBase<Eigen::MatrixXd>&, 
 
   80        const Eigen::PlainObjectBase<Eigen::VectorXi>&, 
 
   81        const Eigen::PlainObjectBase<Eigen::MatrixXi>&, 
 
   82        Eigen::PlainObjectBase<Eigen::MatrixXd>&)> ;
 
   97    const Eigen::PlainObjectBase<Eigen::MatrixXd>& P, 
 
   98    const Eigen::PlainObjectBase<Eigen::VectorXi>& SC, 
 
   99    const Eigen::PlainObjectBase<Eigen::MatrixXi>& S,  
 
  100    Eigen::PlainObjectBase<Eigen::MatrixXd>& projP);
 
  116    const Eigen::PlainObjectBase<Eigen::MatrixXd>& P, 
 
  117    const Eigen::PlainObjectBase<Eigen::VectorXi>& SC, 
 
  118    const Eigen::PlainObjectBase<Eigen::MatrixXi>& S,  
 
  119    Eigen::PlainObjectBase<Eigen::MatrixXd>& projP);
 
  144    const Eigen::PlainObjectBase<DerivedP>& P,
 
  145    const Eigen::PlainObjectBase<DerivedSC>& SC,
 
  146    const Eigen::PlainObjectBase<DerivedS>& S,
 
  147    const Eigen::PlainObjectBase<DerivedS>& E,
 
  148    const Eigen::PlainObjectBase<DerivedSC>& b,
 
  149    const Eigen::PlainObjectBase<Derivedw>& wShape,
 
  150    const Eigen::PlainObjectBase<Derivedw>& wSmooth,
 
  171    const Eigen::PlainObjectBase<DerivedP>& bc,
 
  172    const std::function<
bool(
const Eigen::PlainObjectBase<DerivedP>&, 
const Eigen::PlainObjectBase<DerivedSC>&, 
const Eigen::PlainObjectBase<DerivedS>&,  Eigen::PlainObjectBase<DerivedP>&)>& local_projection,
 
  173    const Eigen::PlainObjectBase<DerivedP>& P0,
 
  175    const bool quietIterations,
 
  176    Eigen::PlainObjectBase<DerivedP>& P);
 
  180#ifndef IGL_STATIC_LIBRARY 
  181#include "shapeup.cpp" 
#define IGL_INLINE
Definition igl_inline.h:15
 
bool shapeup_identity_projection(const Eigen::PlainObjectBase< Eigen::MatrixXd > &P, const Eigen::PlainObjectBase< Eigen::VectorXi > &SC, const Eigen::PlainObjectBase< Eigen::MatrixXi > &S, Eigen::PlainObjectBase< Eigen::MatrixXd > &projP)
This projection does nothing but render points into projP.
 
bool shapeup_solve(const Eigen::PlainObjectBase< DerivedP > &bc, const std::function< bool(const Eigen::PlainObjectBase< DerivedP > &, const Eigen::PlainObjectBase< DerivedSC > &, const Eigen::PlainObjectBase< DerivedS > &, Eigen::PlainObjectBase< DerivedP > &)> &local_projection, const Eigen::PlainObjectBase< DerivedP > &P0, const ShapeupData &sudata, const bool quietIterations, Eigen::PlainObjectBase< DerivedP > &P)
This function solve the shapeup project optimization.
 
bool shapeup_regular_face_projection(const Eigen::PlainObjectBase< Eigen::MatrixXd > &P, const Eigen::PlainObjectBase< Eigen::VectorXi > &SC, const Eigen::PlainObjectBase< Eigen::MatrixXi > &S, Eigen::PlainObjectBase< Eigen::MatrixXd > &projP)
the projection assumes that the sets are vertices of polygons in cyclic order
 
bool shapeup_precomputation(const Eigen::PlainObjectBase< DerivedP > &P, const Eigen::PlainObjectBase< DerivedSC > &SC, const Eigen::PlainObjectBase< DerivedS > &S, const Eigen::PlainObjectBase< DerivedS > &E, const Eigen::PlainObjectBase< DerivedSC > &b, const Eigen::PlainObjectBase< Derivedw > &wShape, const Eigen::PlainObjectBase< Derivedw > &wSmooth, ShapeupData &sudata)
This function precomputation the necessary matrices for the ShapeUp process, and prefactorizes them.
 
std::function< bool(const Eigen::PlainObjectBase< Eigen::MatrixXd > &, const Eigen::PlainObjectBase< Eigen::VectorXi > &, const Eigen::PlainObjectBase< Eigen::MatrixXi > &, Eigen::PlainObjectBase< Eigen::MatrixXd > &)> shapeup_projection_function
Every function here defines a local projection for ShapeUp, and must have the following structure to ...
Definition shapeup.h:82
 
Parameters and precomputed data for ShapeUp.
Definition shapeup.h:31
 
Eigen::SparseMatrix< double > At
Definition shapeup.h:41
 
Eigen::SparseMatrix< double > Q
Definition shapeup.h:41
 
double closeCoeff
Definition shapeup.h:39
 
Eigen::SparseMatrix< double > DSmooth
Definition shapeup.h:41
 
Eigen::MatrixXd P
Definition shapeup.h:33
 
min_quad_with_fixed_data< double > solver_data
Definition shapeup.h:42
 
Eigen::SparseMatrix< double > DShape
Definition shapeup.h:41
 
Eigen::SparseMatrix< double > DClose
Definition shapeup.h:41
 
double shapeCoeff
Definition shapeup.h:39
 
Eigen::VectorXi b
Definition shapeup.h:36
 
ShapeupData()
Definition shapeup.h:43
 
double pTolerance
Definition shapeup.h:38
 
int maxIterations
Definition shapeup.h:37
 
Eigen::SparseMatrix< double > A
Definition shapeup.h:41
 
Eigen::VectorXi SC
Definition shapeup.h:34
 
Eigen::SparseMatrix< double > W
Definition shapeup.h:41
 
double smoothCoeff
Definition shapeup.h:39
 
Eigen::MatrixXi S
Definition shapeup.h:35
 
Parameters and precomputed values for min_quad_with_fixed.
Definition min_quad_with_fixed.h:166