// This file is part of libigl, a simple c++ geometry processing library. // // Copyright (C) 2016 Alec Jacobson // // This Source Code Form is subject to the terms of the Mozilla Public License // v. 2.0. If a copy of the MPL was not distributed with this file, You can // obtain one at http://mozilla.org/MPL/2.0/. #include "grid.h" #include template < typename Derivedres, typename DerivedGV> IGL_INLINE void igl::grid( const Eigen::MatrixBase & res, Eigen::PlainObjectBase & GV) { using namespace Eigen; typedef typename DerivedGV::Scalar Scalar; GV.resize(res.array().prod(),res.size()); const auto lerp = [&res](const Scalar di, const int d)->Scalar{return di/(Scalar)(res(d)-1);}; int gi = 0; Derivedres sub; sub.resizeLike(res); sub.setConstant(0); for(int gi = 0;gi=res(c)) { sub(c) = 0; // roll over sub(c+1)++; } } for(int c = 0;c, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&); // generated by autoexplicit.sh template void igl::grid, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&); // generated by autoexplicit.sh template void igl::grid, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&); // generated by autoexplicit.sh template void igl::grid, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&); // generated by autoexplicit.sh template void igl::grid, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&); template void igl::grid, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&); #endif