ConfigFile.h 1.67 KB
Newer Older
1 2 3
#ifndef __CONFIGFILE_H
#define __CONFIGFILE_H
#include <vector>
4
#include "polyhedron.h"
5 6 7 8 9 10 11 12 13

extern const char * PATH;
extern const char * SCREENSHOT;
extern int ISOS;
extern int TIMESTEPS;
extern float **isocolours; // [ISOS][4];
extern const char **plyfiles;
extern float **translations;
extern float userpos[3];
14
extern float scaling;
15 16 17 18

extern float BACKGROUND[3];
extern int* numAtoms; //[timesteps]
extern float **atoms; //[timesteps][numAtoms[i]*4] //xyzu, u=atom number
19
extern bool fixedAtoms; //all timesteps use the atoms for timestep 0. Used for excitons etc.
20 21
extern float atomScaling;
extern std::vector<float> *clonedAtoms;
22 23
extern std::vector<int> bonds;
extern int *numBonds;
24
extern bool displaybonds;
25 26 27
extern float bondscolours[4];
extern float atomtrajectorycolour[4];

28 29 30 31 32 33 34 35 36
extern int numClonedAtoms;
extern int *basisvectorreps;

extern bool showTrajectories;
extern std::vector<int> atomtrajectories;
extern std::vector<std::vector<int>> atomtrajectoryrestarts;

extern float abc[3][3]; //basis vectors
extern bool has_abc;
37 38 39
extern bool displayunitcell;
extern float supercell[3];
extern float markerscaling;
40 41
extern float unitcellcolour[4];
extern float supercellcolour[4];
42 43 44

extern int repetitions[3];

45 46
extern Solid *solid;

47 48 49
extern bool saveStereo;
extern int screenshotdownscaling;

50
extern bool hapticFeedback;
51
extern bool showcontrollers;
52 53 54 55
extern bool gazenavigation;

extern int transparencyquality;
extern float nearclip, farclip;
56

57 58 59 60 61 62
//markers such as hole positions and electron positions
extern float ** markers;
extern float ** markercolours;
extern float cubetrans[3];
extern int voxelSize[3];

63 64 65 66 67
extern const char * loadConfigFileErrors[];

int loadConfigFile(const char * f);

#endif //__CONFIGFILE_H