source: trunk/RNA3D/RNA3D_Global.hxx @ 5390

Last change on this file since 5390 was 5390, checked in by westram, 17 years ago
  • TAB-Ex
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 4.2 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
58typedef struct Vector3 {
59public:
60    float x, y, z;
61
62    Vector3() {}    // A default constructor
63    Vector3(float X, float Y, float Z) { x = X; y = Y; z = Z; }
64
65    // Overloading Operator(+,-,*,/) functions
66
67    // adding 2 vectors
68    Vector3 operator+(Vector3 v) { return Vector3(v.x + x, v.y + y, v.z + z); }
69
70    // substracting 2 vectors
71    Vector3 operator-(Vector3 v) { return Vector3(x - v.x, y - v.y, z - v.z); }
72
73    //multiply by scalars
74    Vector3 operator*(float num) { return Vector3(x * num, y * num, z * num); }
75
76    // divide by scalars
77    Vector3 operator/(float num) { return Vector3(x / num, y / num, z / num); }
78};
79
80
81// Class to store all the GLOBAL variables that are used in the application
82
83class OpenGLGraphics;
84class Structure3D;
85class Texture2D;
86class GLRenderer;
87
88class AW_root;
89class AWT_canvas;
90
91class RNA3D_Global {
92public:
93    Widget      glw;
94    AW_root    *root;
95    AWT_canvas *gl_Canvas;
96
97    int OpenGLEngineState;
98    int iRotateMolecule;
99
100    bool bPointSpritesSupported;
101    bool bAutoRotate;
102    bool bRotateMolecule;
103    bool bDisplayMask;
104    bool bDisplayComments;
105
106    bool bEColiRefInitialised;
107    bool bMapSearchStringsDispListCreated;
108    bool bMapSaiDispListCreated;
109
110    float ROTATION_SPEED;
111    float saved_x, saved_y;
112    float scale;
113
114    OpenGLGraphics *cGraphics;
115    Structure3D    *cStructure;
116    Texture2D      *cTexture;
117    GLRenderer     *cRenderer;
118
119    Vector3 Viewer;
120    Vector3 Center;
121    Vector3 Up;
122
123    RNA3D_Global();
124    ~RNA3D_Global();
125};
126
127// global variables
128
129extern RNA3D_Global *RNA3D;
130extern char          globalComment[1000];
131
132void RNA3D_init_global_data();
Note: See TracBrowser for help on using the repository browser.