Definition at line 22 of file Prism.h.
◆ Prism() [1/3]
◆ Prism() [2/3]
Prism::Prism |
( |
const Prism & |
| ) |
|
|
delete |
◆ Prism() [3/3]
Prism::Prism |
( |
bool |
symmetry_Ci, |
|
|
double |
height, |
|
|
const std::vector< kvector_t > & |
vertices |
|
) |
| |
The mathematics implemented here is described in full detail in a paper by Joachim Wuttke, entitled "Form factor (Fourier shape transform) of polygon and polyhedron.".
Definition at line 23 of file Prism.cpp.
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]");
A polygon, for form factor computation.
std::unique_ptr< PolyhedralFace > m_base
std::vector< kvector_t > m_vertices
const std::vector< kvector_t > & vertices()
References anonymous_namespace{BoxCompositionBuilder.cpp}::height, m_base, m_height, m_vertices, and vertices().
◆ area()
double Prism::area |
( |
| ) |
const |
◆ vertices()
const std::vector< kvector_t > & Prism::vertices |
( |
| ) |
|
◆ evaluate_for_q()
needed for topZ, bottomZ computation
Definition at line 55 of file Prism.cpp.
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]");
complex_t exp_I(complex_t z)
Returns exp(I*z), where I is the imaginary unit.
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.
double sinc(double x)
sinc function:
References exp_I(), m_base, m_height, MathFunctions::sinc(), BasicVector3D< T >::x(), BasicVector3D< T >::y(), and BasicVector3D< T >::z().
◆ m_base
◆ m_height
◆ m_vertices
The documentation for this class was generated from the following files:
- /home/www/ba/Sample/HardParticle/Prism.h
- /home/www/ba/Sample/HardParticle/Prism.cpp