source: tags/arb_5.5/RNA3D/RNA3D_Global.hxx

Last change on this file was 6103, checked in by westram, 15 years ago
  • removed useless typedefs
  • structs are public classes
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 4.1 KB
Line 
1#ifndef M_PI
2#define M_PI 3.14159265358979323846
3#endif
4
5#define rna3d_assert(cond) arb_assert(cond)
6
7// Awars for SAI
8#define AWAR_3D_SAI_SELECTED "rna3d/sai_selected"
9
10// Awars for Helix
11#define AWAR_3D_DISPLAY_HELIX   "rna3d/display_helix"
12#define AWAR_3D_HELIX_BACKBONE  "rna3d/helix_backbone"
13#define AWAR_3D_HELIX_MIDPOINT  "rna3d/helix_midpoint"
14#define AWAR_3D_HELIX_SIZE      "rna3d/helix_size"
15#define AWAR_3D_HELIX_FROM      "rna3d/helix_from"
16#define AWAR_3D_HELIX_TO        "rna3d/helix_to"
17#define AWAR_3D_HELIX_NUMBER    "rna3d/helix_number"
18
19#define AWAR_3D_DISPLAY_TERTIARY_INTRACTIONS    "rna3d/tertiary_interactions"
20
21// Awars for Bases
22#define AWAR_3D_DISPLAY_BASES         "rna3d/display_bases"
23#define AWAR_3D_DISPLAY_SIZE          "rna3d/display_size"
24#define AWAR_3D_BASES_MODE            "rna3d/bases_mode"
25#define AWAR_3D_BASES_HELIX           "rna3d/bases_helix"
26#define AWAR_3D_BASES_UNPAIRED_HELIX  "rna3d/bases_unpaired_helix"
27#define AWAR_3D_BASES_NON_HELIX       "rna3d/bases_non_helix"
28#define AWAR_3D_SHAPES_HELIX          "rna3d/shapes_helix"
29#define AWAR_3D_SHAPES_UNPAIRED_HELIX "rna3d/shapes_unpaired_helix"
30#define AWAR_3D_SHAPES_NON_HELIX      "rna3d/shapes_non_helix"
31
32// Awars for General Molecule
33#define AWAR_3D_MOL_BACKBONE                 "rna3d/mol_backbone"
34#define AWAR_3D_MOL_COLORIZE                 "rna3d/mol_colorize"
35#define AWAR_3D_MOL_SIZE                     "rna3d/mol_size"
36#define AWAR_3D_MOL_DISP_POS                 "rna3d/mol_disp_pos"
37#define AWAR_3D_MOL_POS_INTERVAL             "rna3d/mol_pos_interval"
38#define AWAR_3D_MOL_ROTATE                   "rna3d/mol_rotate"
39
40#define AWAR_3D_MAP_SPECIES                      "rna3d/mol_map_species"
41#define AWAR_3D_MAP_SPECIES_DISP_BASE            "rna3d/mol_map_species_base"
42#define AWAR_3D_MAP_SPECIES_DISP_POS             "rna3d/mol_map_species_pos"
43#define AWAR_3D_MAP_SPECIES_DISP_DELETIONS       "rna3d/mol_map_species_deletions"
44#define AWAR_3D_MAP_SPECIES_DISP_MISSING         "rna3d/mol_map_species_missing"
45#define AWAR_3D_MAP_SPECIES_DISP_INSERTIONS      "rna3d/mol_map_species_insertions"
46#define AWAR_3D_MAP_SPECIES_DISP_INSERTIONS_INFO "rna3d/mol_map_species_insertions_info"
47
48#define AWAR_3D_SELECTED_SPECIES             "rna3d/selected_species"
49#define AWAR_3D_CURSOR_POSITION              "rna3d/cursor_postion"
50
51#define AWAR_3D_MAP_ENABLE          "rna3d/map_enable"
52#define AWAR_3D_MAP_SAI             "rna3d/map_sai"
53#define AWAR_3D_MAP_SEARCH_STRINGS  "rna3d/map_search_strings"
54
55#define AWAR_3D_DISPLAY_MASK  "rna3d/display_mask"
56#define AWAR_3D_23S_RRNA_MOL  "rna3d/rrna_mol_23s"
57
58struct Vector3 {
59    float x, y, z;
60
61    Vector3() {}    // A default constructor
62    Vector3(float X, float Y, float Z) { x = X; y = Y; z = Z; }
63
64    // Overloading Operator(+,-,*,/) functions
65
66    // adding 2 vectors
67    Vector3 operator+(Vector3 v) { return Vector3(v.x + x, v.y + y, v.z + z); }
68
69    // substracting 2 vectors
70    Vector3 operator-(Vector3 v) { return Vector3(x - v.x, y - v.y, z - v.z); }
71
72    //multiply by scalars
73    Vector3 operator*(float num) { return Vector3(x * num, y * num, z * num); }
74
75    // divide by scalars
76    Vector3 operator/(float num) { return Vector3(x / num, y / num, z / num); }
77};
78
79
80// Class to store all the GLOBAL variables that are used in the application
81
82class OpenGLGraphics;
83class Structure3D;
84class Texture2D;
85class GLRenderer;
86
87class AW_root;
88class AWT_canvas;
89
90class RNA3D_Global {
91public:
92    Widget      glw;
93    AW_root    *root;
94    AWT_canvas *gl_Canvas;
95
96    int OpenGLEngineState;
97    int iRotateMolecule;
98
99    bool bPointSpritesSupported;
100    bool bAutoRotate;
101    bool bRotateMolecule;
102    bool bDisplayMask;
103    bool bDisplayComments;
104
105    bool bEColiRefInitialised;
106    bool bMapSearchStringsDispListCreated;
107    bool bMapSaiDispListCreated;
108
109    float ROTATION_SPEED;
110    float saved_x, saved_y;
111    float scale;
112
113    OpenGLGraphics *cGraphics;
114    Structure3D    *cStructure;
115    Texture2D      *cTexture;
116    GLRenderer     *cRenderer;
117
118    Vector3 Viewer;
119    Vector3 Center;
120    Vector3 Up;
121
122    RNA3D_Global();
123    ~RNA3D_Global();
124};
125
126// global variables
127
128extern RNA3D_Global *RNA3D;
129extern char          globalComment[1000];
130
131void RNA3D_init_global_data();
Note: See TracBrowser for help on using the repository browser.