@@ -47,7 +47,8 @@ enum class ValueType {
4747 BehaviourType,
4848 ElementType,
4949 GratingMount,
50- CrystalType
50+ CrystalType,
51+ DesignPlane
5152};
5253
5354class Undefined {};
@@ -96,6 +97,7 @@ class RAYX_API DesignMap {
9697 DesignMap (ElementType x) : m_variant(x) {}
9798 DesignMap (GratingMount x) : m_variant(x) {}
9899 DesignMap (CrystalType x) : m_variant(x) {}
100+ DesignMap (DesignPlane x) : m_variant(x) {}
99101
100102 // Assignment operators
101103 void operator =(double x) { m_variant = x; }
@@ -126,6 +128,7 @@ class RAYX_API DesignMap {
126128 void operator =(GratingMount x) { m_variant = x; }
127129 void operator =(ElementType x) { m_variant = x; }
128130 void operator =(CrystalType x) { m_variant = x; }
131+ void operator =(DesignPlane x) { m_variant = x; }
129132
130133 // Deep copy (clone) method.
131134 DesignMap clone () const ;
@@ -160,6 +163,7 @@ class RAYX_API DesignMap {
160163 ElementType as_elementType () const ;
161164 GratingMount as_gratingMount () const ;
162165 CrystalType as_crystalType () const ;
166+ DesignPlane as_designPlane () const ;
163167
164168 // Subscript operators.
165169 const DesignMap& operator [](const std::string& s) const ;
@@ -236,7 +240,7 @@ class RAYX_API DesignMap {
236240 private:
237241 std::variant<Undefined, double , int , ElectronEnergyOrientation, glm::dvec4, glm::dmat4x4, bool , EnergyDistributionType, Misalignment,
238242 CentralBeamstop, Cutout, CutoutType, EventType, CylinderDirection, FigureRotation, Map, Surface, CurvatureType, SourceDist,
239- SpreadType, Rad, Material, EnergySpreadUnit, std::string, SigmaType, BehaviourType, ElementType, GratingMount, CrystalType>
243+ SpreadType, Rad, Material, EnergySpreadUnit, std::string, SigmaType, BehaviourType, ElementType, GratingMount, CrystalType, DesignPlane >
240244 m_variant;
241245};
242246
0 commit comments