31 if (order > LINE_MAX_ORDER)
32 throw std::domain_error(
33 "GaussLineQuadrature::set_order(): order must be less than or equal to "
34 + std::to_string(LINE_MAX_ORDER) +
"."
38 base::points_.resize(
dim, rules_[order - 1].num_nodes);
39 base::weights_.resize(1, rules_[order - 1].num_nodes);
40 base::points_weights_computed_ =
false;
56 base::points_.noalias() = (
p * ref_points()).
colwise() +
p1;
57 base::weights_.noalias() = ref_weights() *
p_len;
58 base::points_weights_computed_ =
true;
void compute_points_weights(ConstEigRef< EigColVecN< Float, dim > > p1, ConstEigRef< EigColVecN< Float, dim > > p2, std::function< EigRowVec< Complex >(ConstEigRef< EigMatNX< Float, dim > >)> eval={}) override
Computes and stores the points on which to evaluate the integrand, and the corresponding weights.
void set_order(const uint8_t order) override
Sets the quadrature order.
const Eigen::Ref< const EigObj > ConstEigRef
Read-only reference to an Eigen object.
double Float
Floating point number.
Eigen::Matrix< T, N, 1 > EigColVecN
Fixed-size column vector of size N containing type T.
Primary namespace for the OpenBEM library.