diff --git a/external/lim/Dirichlet_LIMSolver2D.cpp b/external/lim/Dirichlet_LIMSolver2D.cpp index 6edac406f..aa997d60e 100644 --- a/external/lim/Dirichlet_LIMSolver2D.cpp +++ b/external/lim/Dirichlet_LIMSolver2D.cpp @@ -87,4 +87,4 @@ void Dirichlet_LIMSolver2D::computeHessian(const Eigen::MatrixInitalVertices->rows()*dim; -} \ No newline at end of file +} diff --git a/external/lim/LIMSolver2D.cpp b/external/lim/LIMSolver2D.cpp index 7d9522c7a..d6f55cda7 100644 --- a/external/lim/LIMSolver2D.cpp +++ b/external/lim/LIMSolver2D.cpp @@ -695,4 +695,4 @@ void LIMSolver2D::computeNMHessian(const Eigen::Matrix& } } } -} \ No newline at end of file +} diff --git a/external/lim/LIMSolver3D.cpp b/external/lim/LIMSolver3D.cpp index 7a3280e8c..6e7f73cef 100644 --- a/external/lim/LIMSolver3D.cpp +++ b/external/lim/LIMSolver3D.cpp @@ -667,4 +667,4 @@ void LIMSolver3D::computeNMHessian(const Eigen::Matrix& } } } -} \ No newline at end of file +} diff --git a/external/lim/LSConformal_LIMSolver2D.cpp b/external/lim/LSConformal_LIMSolver2D.cpp index 0cb638ce9..d88672263 100644 --- a/external/lim/LSConformal_LIMSolver2D.cpp +++ b/external/lim/LSConformal_LIMSolver2D.cpp @@ -113,4 +113,4 @@ void LSConformal_LIMSolver2D::computeHessian(const Eigen::Matrix& x) void NMSolver::afterHessianFactorization() { -} \ No newline at end of file +} diff --git a/external/lim/Poisson_LIMSolver2D.cpp b/external/lim/Poisson_LIMSolver2D.cpp index 2590cc806..f26044065 100644 --- a/external/lim/Poisson_LIMSolver2D.cpp +++ b/external/lim/Poisson_LIMSolver2D.cpp @@ -135,4 +135,4 @@ void Poisson_LIMSolver2D::computeHessian(const Eigen::Matrix(); NodeSize = Radius*0.02; -} \ No newline at end of file +} diff --git a/external/lim/TriangleMesh.cpp b/external/lim/TriangleMesh.cpp index a75b74855..5234282a5 100644 --- a/external/lim/TriangleMesh.cpp +++ b/external/lim/TriangleMesh.cpp @@ -74,4 +74,4 @@ void TriangleMesh::UpdateMesh() Radius = BoxSize.norm()*0.5f; Center = ((maxVal+minVal)*0.5f).cast(); NodeSize = Radius*0.02; -} \ No newline at end of file +} diff --git a/external/lim/UniformLaplacian_LIMSolver2D.cpp b/external/lim/UniformLaplacian_LIMSolver2D.cpp index 418754ad3..9df516d55 100644 --- a/external/lim/UniformLaplacian_LIMSolver2D.cpp +++ b/external/lim/UniformLaplacian_LIMSolver2D.cpp @@ -119,4 +119,4 @@ void UniformLaplacian_LIMSolver2D::computeHessian(const Eigen::Matrix, Eigen::Matrix, CGAL::Epick>(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, std::vector, std::allocator > >&); template void igl::cgal::mesh_to_cgal_triangle_list, Eigen::Matrix, CGAL::Epeck>(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, std::vector, std::allocator > >&); template void igl::cgal::mesh_to_cgal_triangle_list, Eigen::Matrix, CGAL::Epick>(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, std::vector, std::allocator > >&); -template void igl::cgal::mesh_to_cgal_triangle_list, -1, 3, 0, -1, 3>, Eigen::Matrix, CGAL::Epeck>(Eigen::PlainObjectBase, -1, 3, 0, -1, 3> > const&, Eigen::PlainObjectBase > const&, std::__1::vector, std::__1::allocator > >&); -template void igl::cgal::mesh_to_cgal_triangle_list, -1, 3, 0, -1, 3>, Eigen::Matrix, CGAL::Epick>(Eigen::PlainObjectBase, -1, 3, 0, -1, 3> > const&, Eigen::PlainObjectBase > const&, std::__1::vector, std::__1::allocator > >&); +template void igl::cgal::mesh_to_cgal_triangle_list, -1, 3, 0, -1, 3>, Eigen::Matrix, CGAL::Epeck>(Eigen::PlainObjectBase, -1, 3, 0, -1, 3> > const&, Eigen::PlainObjectBase > const&, std::vector, std::allocator > >&); +template void igl::cgal::mesh_to_cgal_triangle_list, -1, 3, 0, -1, 3>, Eigen::Matrix, CGAL::Epick>(Eigen::PlainObjectBase, -1, 3, 0, -1, 3> > const&, Eigen::PlainObjectBase > const&, std::vector, std::allocator > >&); #endif diff --git a/include/igl/cgal/order_facets_around_edge.cpp b/include/igl/cgal/order_facets_around_edge.cpp index 8c3b1765f..79122ba11 100644 --- a/include/igl/cgal/order_facets_around_edge.cpp +++ b/include/igl/cgal/order_facets_around_edge.cpp @@ -384,10 +384,10 @@ void igl::cgal::order_facets_around_edge( #ifdef IGL_STATIC_LIBRARY // Explicit template specialization -template void igl::cgal::order_facets_around_edge, -1, 3, 0, -1, 3>, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase, -1, 3, 0, -1, 3> > const&, Eigen::PlainObjectBase > const&, unsigned long, unsigned long, std::__1::vector > const&, Eigen::PlainObjectBase >&); -template void igl::cgal::order_facets_around_edge, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, unsigned long, unsigned long, std::__1::vector > const&, Eigen::PlainObjectBase >&); -template void igl::cgal::order_facets_around_edge, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, unsigned long, unsigned long, std::__1::vector > const&, Eigen::PlainObjectBase >&); -template void igl::cgal::order_facets_around_edge, -1, 3, 0, -1, 3>, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase, -1, 3, 0, -1, 3> > const&, Eigen::PlainObjectBase > const&, unsigned long, unsigned long, std::__1::vector > const&, Eigen::PlainObjectBase, -1, 3, 0, -1, 3> > const&, Eigen::PlainObjectBase >&); -template void igl::cgal::order_facets_around_edge, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, unsigned long, unsigned long, std::__1::vector > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&); -template void igl::cgal::order_facets_around_edge, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, unsigned long, unsigned long, std::__1::vector > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&); +template void igl::cgal::order_facets_around_edge, -1, 3, 0, -1, 3>, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase, -1, 3, 0, -1, 3> > const&, Eigen::PlainObjectBase > const&, unsigned long, unsigned long, std::vector > const&, Eigen::PlainObjectBase >&); +template void igl::cgal::order_facets_around_edge, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, unsigned long, unsigned long, std::vector > const&, Eigen::PlainObjectBase >&); +template void igl::cgal::order_facets_around_edge, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, unsigned long, unsigned long, std::vector > const&, Eigen::PlainObjectBase >&); +template void igl::cgal::order_facets_around_edge, -1, 3, 0, -1, 3>, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase, -1, 3, 0, -1, 3> > const&, Eigen::PlainObjectBase > const&, unsigned long, unsigned long, std::vector > const&, Eigen::PlainObjectBase, -1, 3, 0, -1, 3> > const&, Eigen::PlainObjectBase >&); +template void igl::cgal::order_facets_around_edge, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, unsigned long, unsigned long, std::vector > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&); +template void igl::cgal::order_facets_around_edge, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, unsigned long, unsigned long, std::vector > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&); #endif diff --git a/include/igl/cgal/order_facets_around_edges.cpp b/include/igl/cgal/order_facets_around_edges.cpp index 5bf6692e2..cb2815472 100644 --- a/include/igl/cgal/order_facets_around_edges.cpp +++ b/include/igl/cgal/order_facets_around_edges.cpp @@ -320,7 +320,7 @@ IGL_INLINE void igl::cgal::order_facets_around_edges( #ifdef IGL_STATIC_LIBRARY // Explicit template specialization -template void igl::cgal::order_facets_around_edges, -1, 3, 0, -1, 3>, Eigen::Matrix, Eigen::Matrix, long, long, bool>(Eigen::PlainObjectBase, -1, 3, 0, -1, 3> > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, std::__1::vector >, std::__1::allocator > > > const&, std::__1::vector >, std::__1::allocator > > >&, std::__1::vector >, std::__1::allocator > > >&); -template void igl::cgal::order_facets_around_edges, Eigen::Matrix, Eigen::Matrix, long, long, bool>(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, std::__1::vector >, std::__1::allocator > > > const&, std::__1::vector >, std::__1::allocator > > >&, std::__1::vector >, std::__1::allocator > > >&); -template void igl::cgal::order_facets_around_edges, Eigen::Matrix, Eigen::Matrix, long, long, bool>(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, std::__1::vector >, std::__1::allocator > > > const&, std::__1::vector >, std::__1::allocator > > >&, std::__1::vector >, std::__1::allocator > > >&); +template void igl::cgal::order_facets_around_edges, -1, 3, 0, -1, 3>, Eigen::Matrix, Eigen::Matrix, long, long, bool>(Eigen::PlainObjectBase, -1, 3, 0, -1, 3> > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, std::vector >, std::allocator > > > const&, std::vector >, std::allocator > > >&, std::vector >, std::allocator > > >&); +template void igl::cgal::order_facets_around_edges, Eigen::Matrix, Eigen::Matrix, long, long, bool>(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, std::vector >, std::allocator > > > const&, std::vector >, std::allocator > > >&, std::vector >, std::allocator > > >&); +template void igl::cgal::order_facets_around_edges, Eigen::Matrix, Eigen::Matrix, long, long, bool>(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, std::vector >, std::allocator > > > const&, std::vector >, std::allocator > > >&, std::vector >, std::allocator > > >&); #endif diff --git a/include/igl/cgal/projected_delaunay.cpp b/include/igl/cgal/projected_delaunay.cpp index eecd5edc2..9f2fcc7e8 100644 --- a/include/igl/cgal/projected_delaunay.cpp +++ b/include/igl/cgal/projected_delaunay.cpp @@ -101,6 +101,6 @@ IGL_INLINE void igl::cgal::projected_delaunay( #ifdef IGL_STATIC_LIBRARY // Explicit template specialization -template void igl::cgal::projected_delaunay(CGAL::Triangle_3 const&, std::__1::vector > const&, CGAL::Constrained_triangulation_plus_2 >, CGAL::Constrained_triangulation_face_base_2 > > >, CGAL::Exact_intersections_tag> >&); -template void igl::cgal::projected_delaunay(CGAL::Triangle_3 const&, std::__1::vector > const&, CGAL::Constrained_triangulation_plus_2 >, CGAL::Constrained_triangulation_face_base_2 > > >, CGAL::Exact_intersections_tag> >&); +template void igl::cgal::projected_delaunay(CGAL::Triangle_3 const&, std::vector > const&, CGAL::Constrained_triangulation_plus_2 >, CGAL::Constrained_triangulation_face_base_2 > > >, CGAL::Exact_intersections_tag> >&); +template void igl::cgal::projected_delaunay(CGAL::Triangle_3 const&, std::vector > const&, CGAL::Constrained_triangulation_plus_2 >, CGAL::Constrained_triangulation_face_base_2 > > >, CGAL::Exact_intersections_tag> >&); #endif diff --git a/include/igl/cgal/remesh_intersections.cpp b/include/igl/cgal/remesh_intersections.cpp index e27d1eab7..d448fa9bd 100644 --- a/include/igl/cgal/remesh_intersections.cpp +++ b/include/igl/cgal/remesh_intersections.cpp @@ -311,10 +311,10 @@ IGL_INLINE void igl::cgal::remesh_intersections( #ifdef IGL_STATIC_LIBRARY // Explicit template specialization -template void igl::cgal::remesh_intersections, Eigen::Matrix, CGAL::Epeck, Eigen::Matrix, -1, 3, 0, -1, 3>, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, std::__1::vector, std::__1::allocator > > const&, std::__1::map::Index, std::__1::pair::Index, std::__1::vector > >, std::__1::less::Index>, std::__1::allocator::Index const, std::__1::pair::Index, std::__1::vector > > > > > const&, std::__1::map::Index, Eigen::Matrix::Index>, std::__1::vector::Index, std::__1::allocator::Index> >, std::__1::less::Index, Eigen::Matrix::Index> >, std::__1::allocator::Index, Eigen::Matrix::Index> const, std::__1::vector::Index, std::__1::allocator::Index> > > > > const&, Eigen::PlainObjectBase, -1, 3, 0, -1, 3> >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); -template void igl::cgal::remesh_intersections, Eigen::Matrix, CGAL::Epeck, Eigen::Matrix, -1, 3, 0, -1, 3>, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, std::__1::vector, std::__1::allocator > > const&, std::__1::map::Index, std::__1::pair::Index, std::__1::vector > >, std::__1::less::Index>, std::__1::allocator::Index const, std::__1::pair::Index, std::__1::vector > > > > > const&, std::__1::map::Index, Eigen::Matrix::Index>, std::__1::vector::Index, std::__1::allocator::Index> >, std::__1::less::Index, Eigen::Matrix::Index> >, std::__1::allocator::Index, Eigen::Matrix::Index> const, std::__1::vector::Index, std::__1::allocator::Index> > > > > const&, Eigen::PlainObjectBase, -1, 3, 0, -1, 3> >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); -template void igl::cgal::remesh_intersections, Eigen::Matrix, CGAL::Epeck, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, std::__1::vector, std::__1::allocator > > const&, std::__1::map::Index, std::__1::pair::Index, std::__1::vector > >, std::__1::less::Index>, std::__1::allocator::Index const, std::__1::pair::Index, std::__1::vector > > > > > const&, std::__1::map::Index, Eigen::Matrix::Index>, std::__1::vector::Index, std::__1::allocator::Index> >, std::__1::less::Index, Eigen::Matrix::Index> >, std::__1::allocator::Index, Eigen::Matrix::Index> const, std::__1::vector::Index, std::__1::allocator::Index> > > > > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); -template void igl::cgal::remesh_intersections, Eigen::Matrix, CGAL::Epeck, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, std::__1::vector, std::__1::allocator > > const&, std::__1::map::Index, std::__1::pair::Index, std::__1::vector > >, std::__1::less::Index>, std::__1::allocator::Index const, std::__1::pair::Index, std::__1::vector > > > > > const&, std::__1::map::Index, Eigen::Matrix::Index>, std::__1::vector::Index, std::__1::allocator::Index> >, std::__1::less::Index, Eigen::Matrix::Index> >, std::__1::allocator::Index, Eigen::Matrix::Index> const, std::__1::vector::Index, std::__1::allocator::Index> > > > > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); +template void igl::cgal::remesh_intersections, Eigen::Matrix, CGAL::Epeck, Eigen::Matrix, -1, 3, 0, -1, 3>, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, std::vector, std::allocator > > const&, std::map::Index, std::pair::Index, std::vector > >, std::less::Index>, std::allocator::Index const, std::pair::Index, std::vector > > > > > const&, std::map::Index, Eigen::Matrix::Index>, std::vector::Index, std::allocator::Index> >, std::less::Index, Eigen::Matrix::Index> >, std::allocator::Index, Eigen::Matrix::Index> const, std::vector::Index, std::allocator::Index> > > > > const&, Eigen::PlainObjectBase, -1, 3, 0, -1, 3> >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); +template void igl::cgal::remesh_intersections, Eigen::Matrix, CGAL::Epeck, Eigen::Matrix, -1, 3, 0, -1, 3>, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, std::vector, std::allocator > > const&, std::map::Index, std::pair::Index, std::vector > >, std::less::Index>, std::allocator::Index const, std::pair::Index, std::vector > > > > > const&, std::map::Index, Eigen::Matrix::Index>, std::vector::Index, std::allocator::Index> >, std::less::Index, Eigen::Matrix::Index> >, std::allocator::Index, Eigen::Matrix::Index> const, std::vector::Index, std::allocator::Index> > > > > const&, Eigen::PlainObjectBase, -1, 3, 0, -1, 3> >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); +template void igl::cgal::remesh_intersections, Eigen::Matrix, CGAL::Epeck, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, std::vector, std::allocator > > const&, std::map::Index, std::pair::Index, std::vector > >, std::less::Index>, std::allocator::Index const, std::pair::Index, std::vector > > > > > const&, std::map::Index, Eigen::Matrix::Index>, std::vector::Index, std::allocator::Index> >, std::less::Index, Eigen::Matrix::Index> >, std::allocator::Index, Eigen::Matrix::Index> const, std::vector::Index, std::allocator::Index> > > > > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); +template void igl::cgal::remesh_intersections, Eigen::Matrix, CGAL::Epeck, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, std::vector, std::allocator > > const&, std::map::Index, std::pair::Index, std::vector > >, std::less::Index>, std::allocator::Index const, std::pair::Index, std::vector > > > > > const&, std::map::Index, Eigen::Matrix::Index>, std::vector::Index, std::allocator::Index> >, std::less::Index, Eigen::Matrix::Index> >, std::allocator::Index, Eigen::Matrix::Index> const, std::vector::Index, std::allocator::Index> > > > > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); template void igl::cgal::remesh_intersections, Eigen::Matrix, CGAL::Epick, Eigen::Matrix, -1, 3, 0, -1, 3>, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, std::vector, std::allocator > > const&, std::map::Index, std::pair::Index, std::vector > >, std::less::Index>, std::allocator::Index const, std::pair::Index, std::vector > > > > > const&, std::map::Index, Eigen::Matrix::Index>, std::vector::Index, std::allocator::Index> >, std::less::Index, Eigen::Matrix::Index> >, std::allocator::Index, Eigen::Matrix::Index> const, std::vector::Index, std::allocator::Index> > > > > const&, Eigen::PlainObjectBase, -1, 3, 0, -1, 3> >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); template void igl::cgal::remesh_intersections, Eigen::Matrix, CGAL::Epick, Eigen::Matrix, -1, 3, 0, -1, 3>, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, std::vector, std::allocator > > const&, std::map::Index, std::pair::Index, std::vector > >, std::less::Index>, std::allocator::Index const, std::pair::Index, std::vector > > > > > const&, std::map::Index, Eigen::Matrix::Index>, std::vector::Index, std::allocator::Index> >, std::less::Index, Eigen::Matrix::Index> >, std::allocator::Index, Eigen::Matrix::Index> const, std::vector::Index, std::allocator::Index> > > > > const&, Eigen::PlainObjectBase, -1, 3, 0, -1, 3> >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); template void igl::cgal::remesh_intersections, Eigen::Matrix, CGAL::Epick, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, std::vector, std::allocator > > const&, std::map::Index, std::pair::Index, std::vector > >, std::less::Index>, std::allocator::Index const, std::pair::Index, std::vector > > > > > const&, std::map::Index, Eigen::Matrix::Index>, std::vector::Index, std::allocator::Index> >, std::less::Index, Eigen::Matrix::Index> >, std::allocator::Index, Eigen::Matrix::Index> const, std::vector::Index, std::allocator::Index> > > > > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);