BEM++  2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
modified_helmholtz_3d_synthetic_boundary_operator_builder.hpp
1 #ifndef bempp_modified_helmholtz_3d_synthetic_boundary_operator_builder_hpp
2 #define bempp_modified_helmholtz_3d_synthetic_boundary_operator_builder_hpp
3 
4 #include "../common/common.hpp"
5 #include "../common/shared_ptr.hpp"
6 
7 #include <string>
8 
9 namespace Bempp
10 {
11 
12 template <typename BasisFunctionType> class Space;
13 template <typename BasisFunctionType, typename ResultType>
14 class BoundaryOperator;
15 template <typename BasisFunctionType, typename ResultType> class Context;
16 
17 template <typename BasisFunctionType, typename KernelType, typename ResultType>
18 BoundaryOperator<BasisFunctionType, ResultType>
19 modifiedHelmholtz3dSyntheticBoundaryOperator(
20  BoundaryOperator<BasisFunctionType, ResultType>
21  (*constructor)(
22  const shared_ptr<const Context<BasisFunctionType, ResultType> >& /*context*/,
23  const shared_ptr<const Space<BasisFunctionType> >& /*domain*/,
24  const shared_ptr<const Space<BasisFunctionType> >& /*range*/,
25  const shared_ptr<const Space<BasisFunctionType> >& /*dualToRange*/,
26  KernelType /*waveNumber*/,
27  const std::string& /*label*/,
28  int /*symmetry*/,
29  bool /*useInterpolation*/,
30  int /*interpPtsPerWavelength*/),
31  const shared_ptr<const Context<BasisFunctionType, ResultType> >& context,
32  const shared_ptr<const Space<BasisFunctionType> >& domain,
33  const shared_ptr<const Space<BasisFunctionType> >& range,
34  const shared_ptr<const Space<BasisFunctionType> >& dualToRange,
35  KernelType waveNumber,
36  std::string label,
37  int internalSymmetry,
38  bool useInterpolation,
39  int interpPtsPerWavelength,
40  int maximumSyntheseSymmetry);
41 
42 } // namespace Bempp
43 
44 #endif