15 RSMESH_ASSERT(dimension >= 1 and dimension <= 3);
16 RSMESH_ASSERT(degree >= 0);
26 [[nodiscard]]
int dimension()
const {
return dimension_;}
27 [[nodiscard]]
int degree()
const {
return degree_;}
29 [[nodiscard]] index_t basis_size()
const {
return basis_size(dimension_, degree_);}
31 static index_t basis_size(
int dimension,
int degree) {
36 RSMESH_ASSERT(dimension >= 1 and dimension <= 3);
37 auto k = index_t{degree} + 1;
42 return k * (k + 1) / 2;
44 return k * (k + 1) * (k + 2) / 6;