18#ifndef BEM_RWG_OPINT_SRC_LINE_H
19#define BEM_RWG_OPINT_SRC_LINE_H
46template <
typename LineQuadratureType = GaussLineQuadrature<1>>
53 "SrcLineIntegrator: `LineQuadratureType` must derive from `LineQuadratureBase<1>`"
87 {
return line_quad_; };
95 {
return line_quad_; };
Base class for integration over the source triangle for RWG-based BEM operators.
Class for line integration over the source triangle for RWG-based BEM operators. References:
LineQuadratureType & quadrature_object()
Provides writable access to the line quadrature object.
SrcLineIntegrator(const LineQuadratureType line_quad=GaussLineQuadrature< 1 >())
Constructs a SrcLineIntegrator with a specified line quadrature object.
const LineQuadratureType & quadrature_object() const
Provides read-only access to the line quadrature object for inspection.
SrcResult integrate(const Complex k, const Triangle< 2 > &src_tri, ConstEigRef< EigMatNX< Float, 3 > > r_obs) override
Computes the integral over the source triangle.
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.
Namespace for RWG-based BEM functionality.
Data structure to hold the results of integration over the source triangle.