template<class TV> void CubicHinges<TV>:: add_elastic_gradient(SolidMatrix<TV>& matrix) const { GEODE_ASSERT(matrix.size()>=nodes_); if (simple_hessian) add_gradient_helper<true>(bends,info,stiffness,X,matrix); else add_gradient_helper<false>(bends,info,stiffness,X,matrix); }
template<class TV> void CubicHinges<TV>:: add_damping_gradient(SolidMatrix<TV>& matrix) const { GEODE_ASSERT(matrix.size()>=nodes_); add_gradient_helper<true>(bends,info,damping,X,matrix); }
void SurfacePins::add_damping_gradient(SolidMatrix<TV>& matrix) const { GEODE_ASSERT(matrix.size()==mass.size()); GEODE_NOT_IMPLEMENTED(); }