18#ifndef BEM_RWG_OPINT_SRC_BASE_H
19#define BEM_RWG_OPINT_SRC_BASE_H
43 g.resize(1,
n); rs_g.resize(2,
n); grad_g.resize(3,
n);
44 g.setZero(); rs_g.setZero(); grad_g.setZero();
123 bool compute_g_terms_ =
true;
124 bool compute_grad_g_terms_ =
true;
Base class for integration over the source triangle for RWG-based BEM operators.
virtual SrcResult integrate(const Complex k, const Triangle< 2 > &src_tri, ConstEigRef< EigMatNX< Float, 3 > > r_obs)=0
Computes the integral over the source triangle.
virtual void set_compute_terms(bool compute_g_terms, bool compute_grad_g_terms)
Sets flags defining which terms to compute during integration.
virtual SrcResult zeros(const Complex k, const Triangle< 2 > &src_tri, ConstEigRef< EigMatNX< Float, 3 > > r_obs)
Returns a result of zeros of the appropriate size.
const Eigen::Ref< const EigObj > ConstEigRef
Read-only reference to an Eigen object.
std::complex< Float > Complex
Complex floating point number.
Eigen::Matrix< T, N, 1 > EigColVecN
Fixed-size column vector of size N containing type T.
std::size_t Index
Unsigned integer type for indices and container sizes.
Namespace for RWG-based BEM functionality.
Data structure to hold the results of integration over the source triangle.