1 #ifndef Settings_H
2 #define Settings_H
3 
4 #include "global.h"
5 #include "bond.h"
6 
7 #include <string>
8 
9 namespace Vipster{
10 
11 template<typename T>
12 struct Setting{
13     using ValueType = T;
14     std::string name;
15     T val;
16 };
17 
18 struct Settings{
19     Setting<bool>   overlap{"Check for overlapping atoms", true};
20     Setting<bool>   atRadVdW{"Atom radius VdW", false};
21     Setting<double> atRadFac{"Atom radius factor", bohrrad};
22     Setting<double> bondRad{"Bond radius", bohrrad};
23     Setting<bool>   showCell{"Show cell", true};
24     Setting<bool>   antialias{"Antialiasing", true};
25     Setting<bool>   perspective{"Perspective projection", false};
26     Setting<bool>   rotCom{"Rotate around center of mass", false};
27     Setting<size_t> animstep{"Animation step (ms)", 100};
28     Setting<ColVec> selCol{"Selection color", ColVec{0, 0, 80, 80}};
29     Setting<ColVec> milCol{"Miller-plane color", ColVec{130, 0, 0, 80}};
30     Setting<ColVec> posCol{"Positive-isovalue color", ColVec{255, 0, 0, 155}};
31     Setting<ColVec> negCol{"Negative-isovalue color", ColVec{0, 0, 255, 155}};
32 };
33 
34 extern const Settings settings;
35 
36 }
37 
38 #endif // Settings_H
39