|
@@ -22,8 +22,7 @@ namespace igl
|
|
typename DerivedS,
|
|
typename DerivedS,
|
|
typename Derivedb,
|
|
typename Derivedb,
|
|
typename Derivedw>
|
|
typename Derivedw>
|
|
- IGL_INLINE bool shapeup_precomputation(
|
|
|
|
- const Eigen::PlainObjectBase<DerivedP>& P,
|
|
|
|
|
|
+ IGL_INLINE bool shapeup_precomputation(const Eigen::PlainObjectBase<DerivedP>& P,
|
|
const Eigen::PlainObjectBase<DerivedSC>& SC,
|
|
const Eigen::PlainObjectBase<DerivedSC>& SC,
|
|
const Eigen::PlainObjectBase<DerivedS>& S,
|
|
const Eigen::PlainObjectBase<DerivedS>& S,
|
|
const Eigen::PlainObjectBase<DerivedS>& E,
|
|
const Eigen::PlainObjectBase<DerivedS>& E,
|
|
@@ -38,7 +37,7 @@ namespace igl
|
|
sudata.SC=SC;
|
|
sudata.SC=SC;
|
|
sudata.S=S;
|
|
sudata.S=S;
|
|
sudata.b=b;
|
|
sudata.b=b;
|
|
- sudata.local_projection=local_projection;
|
|
|
|
|
|
+ //sudata.local_projection=local_projection;
|
|
|
|
|
|
sudata.DShape.conservativeResize(SC.sum(), P.rows()); //Shape matrix (integration);
|
|
sudata.DShape.conservativeResize(SC.sum(), P.rows()); //Shape matrix (integration);
|
|
sudata.DClose.conservativeResize(b.rows(), P.rows()); //Closeness matrix for positional constraints
|
|
sudata.DClose.conservativeResize(b.rows(), P.rows()); //Closeness matrix for positional constraints
|
|
@@ -149,8 +148,9 @@ namespace igl
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
#ifdef IGL_STATIC_LIBRARY
|
|
#ifdef IGL_STATIC_LIBRARY
|
|
-template bool igl::shapeup_precomputation<Eigen::Matrix<double, -1, -1, 0, -1, -1> ,Eigen::Matrix<int, -1, -1, 0, -1, 1> ,Eigen::Matrix<int, -1, -1, 0, -1, -1> ,Eigen::Matrix<int, -1, -1, 0, -1, 1> ,Eigen::Matrix<double, -1, -1, 0, -1, 1> >(const Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> >& P, const Eigen::PlainObjectBase<Eigen::Matrix<int, -1, -1, 0, -1, 1> >& SC,const Eigen::PlainObjectBase<Eigen::Matrix<int, -1, -1, 0, -1, -1> >& S, const Eigen::PlainObjectBase<Eigen::Matrix<int, -1, -1, 0, -1, -1> >& E, const Eigen::PlainObjectBase<Eigen::Matrix<int, -1, -1, 0, -1, 1> >& b, const Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1, 0, -1, 1> >& w, const std::function<bool(const Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> >&, const Eigen::PlainObjectBase<Eigen::Matrix<int, -1, -1, 0, -1, 1> >&, const Eigen::PlainObjectBase<Eigen::Matrix<int, -1, -1, 0, -1, -1> >&, Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> >&)>& local_projection, igl::ShapeupData & sudata);
|
|
|
|
|
|
+template bool igl::shapeup_precomputation<Eigen::Matrix<double, -1, -1, 0, -1, -1>, Eigen::Matrix<int, -1, 1, 0, -1, 1>, Eigen::Matrix<int, -1, -1, 0, -1, -1>, Eigen::Matrix<int, -1, 1, 0, -1, 1>, Eigen::Matrix<double, -1, 1, 0, -1, 1> >(Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> > const&, Eigen::PlainObjectBase<Eigen::Matrix<int, -1, 1, 0, -1, 1> > const&, Eigen::PlainObjectBase<Eigen::Matrix<int, -1, -1, 0, -1, -1> > const&, Eigen::PlainObjectBase<Eigen::Matrix<int, -1, -1, 0, -1, -1> > const&, Eigen::PlainObjectBase<Eigen::Matrix<int, -1, 1, 0, -1, 1> > const&, Eigen::PlainObjectBase<Eigen::Matrix<double, -1, 1, 0, -1, 1> > const&, const std::function<bool(const Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> >&, const Eigen::PlainObjectBase<Eigen::Matrix<int, -1, 1, 0, -1, 1> >&, const Eigen::PlainObjectBase<Eigen::Matrix<int, -1, -1, 0, -1, -1> >&, Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> >& ) >& local_projection, igl::ShapeupData&);
|
|
|
|
|
|
template bool igl::shapeup_solve<typename Eigen::Matrix<double, -1, -1, 0, -1, -1>, typename Eigen::Matrix<double, -1, -1, 0, -1, -1> >(const Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> >& bc, const Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> >& P0, const igl::ShapeupData & sudata, Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> >& P);
|
|
template bool igl::shapeup_solve<typename Eigen::Matrix<double, -1, -1, 0, -1, -1>, typename Eigen::Matrix<double, -1, -1, 0, -1, -1> >(const Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> >& bc, const Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> >& P0, const igl::ShapeupData & sudata, Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> >& P);
|
|
#endif
|
|
#endif
|