i see. by the way `tri` is defined as  `MathLib::TemplatePoint<std::size_t, 3> tri` above. should it be  `std::vector<std::size_t> tri` to allow arbitrary number of points?