From: David Wells Date: Fri, 15 Jan 2021 15:23:12 +0000 (-0500) Subject: Add an access operator to BarycentricPolynomials. X-Git-Tag: v9.3.0-rc1~555^2~2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d0e36bdb47bc0aba84264bfe6274b28762ae1247;p=dealii.git Add an access operator to BarycentricPolynomials. It's ocassionally useful to access the polynomials constructed in a basis directly. --- 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