#pragma once

#ifndef Q_MOC_RUN
#include "boost/geometry.hpp"
#endif

#include "boost/math/special_functions/bessel.hpp"
#include "boost/math/special_functions/bessel_prime.hpp"
#include "boost/math/special_functions/legendre.hpp"
#include "boost/math/special_functions/hankel.hpp"
#include "boost/math/special_functions/spherical_harmonic.hpp"
#include "boost/variant/get.hpp"

#define SHDorder 1
#define PI 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117068

using namespace std;
using namespace boost::geometry;
using namespace boost::math;

class soundfielddescription
{
public:
    soundfielddescription(string json_textaddress);
    void* calcsphericalharmonics(double* pressure_real_in, double* pressure_imag_in, double* shd_realpart_out, double* shd_imagpart_out);
private:
    float* micanglestheta;
    float* micanglesphi;
    int nofmicrophones;
    int nofsamples;
};

