File: draw_gbl.h

package info (click to toggle)
drawxtl 5.4%2Bdfsg-5
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 10,004 kB
  • ctags: 1,988
  • sloc: cpp: 34,558; ansic: 2,271; makefile: 190; sh: 55
file content (142 lines) | stat: -rw-r--r-- 6,224 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
// $Id: draw_gbl.h 846 2009-05-29 17:14:24Z larry $
//
/* draw_gbl.h - global definitions for DRAWxtl */

#include "DRAWxtlViewUI.h"
#include "EditView.h"
#include "Ellipsoids.h"

DRAWxtlViewUI * drvui;
int cur_show=0;
CrystalView * crystal;
ArrowParam * arrows;
SlabParam * Slabs;
Fl_Window * textwindow;
Fl_Window * listwindow1;
Fl_Window * listwindow2;
Fl_Window * listwindow3;
Fl_Window * listwindow4;
Fl_Window * helpwindow;
Fl_Window * helpwindow1;
Fl_Window * helpwindow2;
Fl_Window * helpwindow3;
Fl_Window * helpwindow4;
Fl_Window * helpwindow5;
Fl_Window * helpwindow6;
Fl_Text_Buffer * helpbuf = NULL;
Fl_Text_Buffer * helpbuf1 = NULL;
BondParam * Bonds = NULL;
PolyParam * Polyhedra = NULL;
SphereParam * Spheres = NULL;
ConfigParm * Configure;
ConfigMiscParm * MiscConfigure;
ConfigMSMSParm * MSMSConfigure;
OmitParam * Omit = NULL;
EditScreen * edtprm = NULL;
Ellipsoids * ellipsoids = NULL;
LonePairParam * LonePairs = NULL;
MapsParam * Maps = NULL;
ModParam * Modparms = NULL;
GLuint selectBuf[BUFSIZE];
Fl_Text_Buffer * textbuf = NULL;
Fl_Text_Buffer * textbuf1 = NULL;
Fl_Text_Buffer * textbuf2 = NULL;
Fl_Text_Buffer * textbuf3 = NULL;
Fl_Text_Buffer * textbuf4 = NULL;
//float gl_pos_x = 0.0;
//float gl_pos_y = 0.0;
//float gl_pos_z = 0.0;
float gl_size = 0.;
void * Edit_Str_Type;
QUAT Rotq;
double Xrot,Yrot,Zrot;         // Rotation angles
double xmin, ymin, zmin;       // Minimums
double xmax, ymax, zmax;       // Maximums
Fl_Window *errorbox;
int Edit_changed;
int Edit_loading;

/* global variables for atom lists */

int natom;                       /* number of different types of atoms */
int ncell;                       /* number of atoms in asymmetric unit */
float *xypos = NULL;             /* master list of fractional coordinates (modulated) */
float *xypos_nm = NULL;          /* master list of fractional coordinates (not modulated) */
float *o_vert = NULL;            /* crystal coordinates of saved vertices (modulated) */
float *o_vert_nm = NULL;         /* crystal coordinates of saved vertices (not modulated) */
float *s_vert = NULL;            /* saved coordinates of vertices (modulated) */
int *vert_sym_no = NULL;         /* saved symmetry operator number */
int *vert_sym_nos = NULL;        /* saved symmetry operator number including sign */
int *poly_list = NULL;           /* storage for polygon corner pointers */
int nvert;                       /* number of vertices in list */
int NvertM;                      /* number of vertices in master atom list */

/* global variables for polyhedra, planes and bonds */

int draw_list;                   // number of items in polygon draw list
int *vertex_list = NULL;         /* storage for vertices about a cation */
int numb_list;                   /* number in polygon list */
int domolcomp;                   /* non-zero if molecule completion requested */

/* global variables that control size and orientation of output object */

GLdouble modelMatrix[16];
GLdouble projMatrix[16];
GLint viewport[4];
float DepthCue;	                 /* scale for Z-dependent thickness of edges */
float boxlim[3];                 /* half limits of plotting box */
float origin[3];                 /* position of plotting origin */
double G_Rot[3][3];              /* Grand rotation matrix - transforms from Cartesian to picture */
float POV_Max[3];                /* Maximum limits of POV after rotation */
float POV_Min[3];                /* Minimum limits of POV after rotation */
int boxflag;                     /* Non-zero if 'bounds' command given */
int packflag;                    /* Non-zero if 'pack' command given */
int clipflag;                    /* Non-zero if 'clip' command given */
int docell;                      // non-zero if unit-cell edges to be drawn
int Display_axes;                /* non-zero if axial triple to be drawn */
int Color_Warning;               /* Warning flag for non-standard color */
float Magnification;             // Magnification factor for image
float Scale;                     /* Scale of diagram */
float offset[3];                 /* offset for vector triple */
float Text_Size;                 /* Size to make axis label text */
int Options;                     /* Place to save command-line options flags */
float rad_cell;                  /* radius of unit cell framebars */
int edges;                       /* draw thin lines around the edges of polyhedra */
float xrot, yrot, zrot;	         /* view rotation angles */
int Unit_Cell;	                 /* non-zero if unit cell to be drawn */
int no_comment;	                 /* non-zero to inhibit comment lines in VRML */
int M_cameras;                   /* non-zero to inhibit multiple cameras */
int Vrml2;                       /* non-zero to generate VRML97 (VRML2) output */
int doVrml;                      /* non-zero to allow VRML output */
int doPOV;                       /* non-zero to allow povray output */
float printdist;                 /* Distance limit for tabulated output */
int Labels;                      /* True if labels should be output */
int slabmode;                    /* cutout: slab vertices */
float slabx1,slaby1,slabz1,slabx2,slaby2,slabz2;
float slabx3,slaby3,slabz3,slabx4,slaby4,slabz4;
float slabv[24];

float cur_cen[3];                /* location of cursor (fractional coordinates) */
int cur_atom[4];                 /* sequence numbers of last four atoms under cursor */
char cur_name[4][10];            /* name of atom under cursor */
float dist12 = 0.0;
float dist23 = 0.0;
float dist34 = 0.0;
float ang123 = 0.0;
float ang234 = 0.0;
float torsion_ang=0.0;

/* Fourier map stuff */

#include "drawmap.h"
int ReadFourMap = 0;                     /* true if a Fourier map has been read */
float * FourierPt = NULL;                /* pointer to Fourier map contents */
float map_a, map_b, map_c, map_alpha, map_beta, map_gamma; /* cell dimensions for map */
int  mapstep_a, mapstep_b, mapstep_c;     /* map steps across unit cell */
float xMin, xMax, yMin, yMax, zMin, zMax; /* bounding box for map */
float x4Val,x5Val,x6Val;	/* coordinates of map intersection with superspace */
float x4step,x5step,x6step;
char FourierFileName[100];
int FourierMapType;
struct MAP_INFO Map_Info;