15 #ifndef BORNAGAIN_CORE_SCATTERING_IFORMFACTORBORN_H
16 #define BORNAGAIN_CORE_SCATTERING_IFORMFACTORBORN_H
49 virtual double topZ(
const IRotation& rotation)
const override;
75 static double BottomZ(
const std::vector<kvector_t>& vertices,
const IRotation& rotation);
78 static double TopZ(
const std::vector<kvector_t>& vertices,
const IRotation& rotation);
91 #ifdef POLYHEDRAL_DIAGNOSTIC
100 bool request_convergence;
103 return maxOrder != other.maxOrder || nExpandedFaces != other.nExpandedFaces;
105 friend std::ostream& operator<<(std::ostream& stream,
const Diagnosis& diag)
107 return stream <<
" [" << diag.nExpandedFaces <<
":" << diag.maxOrder <<
"]";
bool operator!=(const Material &left, const Material &right)
Comparison operator for material wrapper (inequality check)
Pure virtual interface for rotations.
Pure virtual base class for different shapes.
A wrapper for underlying material implementation.
Holds all wavevector information relevant for calculating form factors.
Class that contains upper and lower limits of the z-coordinate for the slicing of form factors.
Nested structure that holds slicing effects on position and removed parts.