34 }
catch (std::invalid_argument& e) {
35 throw std::invalid_argument(std::string(
"Invalid parameterization of Prism: ") + e.what());
36 }
catch (std::logic_error& e) {
37 throw std::logic_error(std::string(
"Bug in Prism: ") + e.what()
38 +
" [please report to the maintainers]");
39 }
catch (std::exception& e) {
40 throw std::runtime_error(std::string(
"Unexpected exception in Prism: ") + e.what()
41 +
" [please report to the maintainers]");
58 #ifdef POLYHEDRAL_DIAGNOSTIC
59 diagnosis.maxOrder = 0;
60 diagnosis.nExpandedFaces = 0;
65 }
catch (std::logic_error& e) {
66 throw std::logic_error(std::string(
"Bug in Prism: ") + e.what()
67 +
" [please report to the maintainers]");
68 }
catch (std::runtime_error& e) {
69 throw std::runtime_error(std::string(
"Numeric computation failed in Prism: ") + e.what()
70 +
" [please report to the maintainers]");
71 }
catch (std::exception& e) {
72 throw std::runtime_error(std::string(
"Unexpected exception in Prism: ") + e.what()
73 +
" [please report to the maintainers]");
std::complex< double > complex_t
complex_t exp_I(complex_t z)
Returns exp(I*z), where I is the imaginary unit.
Defines namespace MathFunctions.
T z() const
Returns z-component in cartesian coordinate system.
T y() const
Returns y-component in cartesian coordinate system.
T x() const
Returns x-component in cartesian coordinate system.
A polygon, for form factor computation.
complex_t evaluate_for_q(const cvector_t &q) const
needed for topZ, bottomZ computation
std::unique_ptr< PolyhedralFace > m_base
std::vector< kvector_t > m_vertices
const std::vector< kvector_t > & vertices()
double sinc(double x)
sinc function: