From d0e36bdb47bc0aba84264bfe6274b28762ae1247 Mon Sep 17 00:00:00 2001 From: David Wells Date: Fri, 15 Jan 2021 10:23:12 -0500 Subject: [PATCH] Add an access operator to BarycentricPolynomials. It's ocassionally useful to access the polynomials constructed in a basis directly. --- include/deal.II/simplex/barycentric_polynomials.h | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/include/deal.II/simplex/barycentric_polynomials.h b/include/deal.II/simplex/barycentric_polynomials.h index 6fe862635d..8596ef0744 100644 --- a/include/deal.II/simplex/barycentric_polynomials.h +++ b/include/deal.II/simplex/barycentric_polynomials.h @@ -227,12 +227,17 @@ namespace Simplex static BarycentricPolynomials get_fe_p_basis(const unsigned int degree); - /* + /** * Constructor taking the polynomial @p degree as input. */ BarycentricPolynomials( const std::vector> &polynomials); + /** + * Access operator. + */ + const BarycentricPolynomial &operator[](const std::size_t i) const; + /** * @copydoc ScalarPolynomialsBase::evaluate() */ @@ -696,6 +701,14 @@ namespace Simplex } return result; } + + template + const BarycentricPolynomial &BarycentricPolynomials:: + operator[](const std::size_t i) const + { + AssertIndexRange(i, polys.size()); + return polys[i]; + } } // namespace Simplex DEAL_II_NAMESPACE_CLOSE -- 2.39.5