IGL_INLINE void igl::parula( const Eigen::PlainObjectBase<DerivedZ> & Z, const bool normalize, Eigen::PlainObjectBase<DerivedC> & C) { const double min_z = (normalize?Z.minCoeff():0); const double max_z = (normalize?Z.maxCoeff():1); return parula(Z,min_z,max_z,C); }
IGL_INLINE void igl::parula( const Eigen::PlainObjectBase<DerivedZ> & Z, const double min_z, const double max_z, Eigen::PlainObjectBase<DerivedC> & C) { C.resize(Z.rows(),3); for(int r = 0;r<Z.rows();r++) { parula((-min_z+Z(r,0))/(max_z-min_z),C(r,0),C(r,1),C(r,2)); } }
IGL_INLINE void igl::parula(const T x, T * rgb) { return parula(x,rgb[0],rgb[1],rgb[2]); }