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 143 144 145 146 147 148 149
|
// $Id: draw_ext.h 846 2009-05-29 17:14:24Z larry $
//
/* draw_ext.h - external data definitions for DRAWxtl */
#include "DRAWxtlViewUI.h"
#include "EditView.h"
#include "Ellipsoids.h"
extern DRAWxtlViewUI * drvui;
extern int cur_show;
extern CrystalView * crystal;
extern ArrowParam * arrows;
extern SlabParam * Slabs;
extern Fl_Window * textwindow;
extern Fl_Window * listwindow1;
extern Fl_Window * listwindow2;
extern Fl_Window * listwindow3;
extern Fl_Window * listwindow4;
extern Fl_Window * helpwindow;
extern Fl_Window * helpwindow1;
extern Fl_Window * helpwindow2;
extern Fl_Window * helpwindow3;
extern Fl_Window * helpwindow4;
extern Fl_Window * helpwindow5;
extern Fl_Window * helpwindow6;
extern Fl_Text_Buffer * helpbuf;
extern Fl_Text_Buffer * helpbuf1;
extern BondParam * Bonds;
extern PolyParam * Polyhedra;
extern SphereParam * Spheres;
extern ConfigParm * Configure;
extern ConfigMiscParm * MiscConfigure;
extern ConfigMSMSParm * MSMSConfigure;
extern OmitParam * Omit;
extern EditScreen * edtprm;
extern Ellipsoids * ellipsoids;
extern LonePairParam * LonePairs;
extern MapsParam * Maps;
extern ModParam * Modparms;
extern GLuint selectBuf[BUFSIZE];
extern void * Edit_Str_Type;
extern char Edit_title[128];
extern int Edit_changed;
extern int Edit_loading;
extern Fl_Text_Buffer * textbuf;
extern Fl_Text_Buffer * textbuf1;
extern Fl_Text_Buffer * textbuf2;
extern Fl_Text_Buffer * textbuf3;
extern Fl_Text_Buffer * textbuf4;
//extern float gl_pos_x;
//extern float gl_pos_y;
//extern float gl_pos_z;
extern float gl_size;
extern void * Edit_Str_Type;
extern QUAT Rotq;
extern double Xrot,Yrot,Zrot; // Rotation angles
extern double xmin, ymin, zmin; // Minimums
extern double xmax, ymax, zmax; // Maximums
extern Fl_Window *errorbox;
extern int Edit_changed;
extern int Edit_loading;
/* global variables for atom lists */
extern int natom; /* number of different types of atoms */
extern int ncell; /* number of atoms in asymmetric unit */
extern float *xypos; /* master list fractional coordinates (modulated) */
extern float *xypos_nm; /* master list fractional coordinates (not modulated) */
extern float *o_vert; /* crystal coordinates of saved vertices (modulated) */
extern float *o_vert_nm; /* crystal coordinates of saved vertices (not modulated) */
extern float *s_vert; /* saved coordinates of vertices (modulated) */
extern int *vert_sym_no; /* saved symmetry operator number */
extern int *vert_sym_nos; /* saved symmetry operator number including sign */
extern int *poly_list; /* storage for polygon corner pointers */
extern int nvert; /* number of vertices in list */
extern int NvertM; /* number of vertices in master atom list */
/* global variables for polyhedra, planes and bonds */
extern int draw_list; /* number of items in polygon draw list */
extern int *vertex_list; /* storage for vertices about a cation */
extern int numb_list; /* number in polygon list */
extern int domolcomp; /* non-zero if molecule completion requested */
/* global variables that control size and orientation of output object */
extern GLdouble modelMatrix[16];
extern GLdouble projMatrix[16];
extern GLint viewport[4];
extern float DepthCue; /* scale for Z-dependent thickness of edges */
extern float boxlim[3]; /* half limits of plotting box */
extern float origin[3]; /* position of plotting origin */
extern double G_Rot[3][3]; /* Grand rotation matrix - transforms from Cartesian to picture */
extern float POV_Max[3]; /* Maximum limits of POV after rotation */
extern float POV_Min[3]; /* Minimum limits of POV after rotation */
extern int boxflag; /* Non-zero if 'bounds' command given */
extern int packflag; /* Non-zero if 'pack' command given */
extern int clipflag; /* Non-zero if 'clip' command given */
extern int docell; /* non-zero if unit-cell edges to be drawn */
extern int Display_axes; /* non-zero if axial triple to be drawn */
extern int Color_Warning; /* Warning flag for non-standard color */
extern float Magnification; /* Magnification factor for image */
extern float Scale; /* Scale of diagram */
extern float offset[3]; /* offset for vector triple */
extern float Text_Size; /* Size to make axis label text */
extern int Options; /* Place to save command-line options flags */
extern float rad_cell; /* radius of unit cell framebars */
extern int edges; /* draw thin black lines around the edges of polyhedra */
extern float xrot, yrot, zrot; /* view rotation angles */
extern int Unit_Cell; /* non-zero if unit cell to be drawn */
extern int no_comment; /* non-zero to inhibit comment lines in VRML */
extern int M_cameras; /* non-zero to inhibit multiple cameras */
extern int Vrml2; /* non-zero to generate VRML97 (VRML2) output */
extern int doVrml; /* non-zero to allow VRML output */
extern int doPOV; /* non-zero to allow povray output */
extern int clipflag;
extern float printdist; /* Distance limit for tabulated output */
extern int Labels; /* True if labels should be output */
extern int slabmode; /* cutout: slab vertices */
extern float slabx1,slaby1,slabz1,slabx2,slaby2,slabz2;
extern float slabx3,slaby3,slabz3,slabx4,slaby4,slabz4;
extern float slabv[24];
/* openGL cursor stuff */
extern float cur_cen[3]; /* location of cursor (fractional coordinates) */
extern int cur_atom[4];
extern char cur_name[4][10];
extern float dist12;
extern float dist23;
extern float dist34;
extern float ang123;
extern float ang234;
extern float torsion_ang;
/* Fourier map stuff */
#include "drawmap.h"
extern int ReadFourMap; /* true if a Fourier map has been read */
extern float * FourierPt; /* pointer to Fourier map contents */
extern float map_a, map_b, map_c, map_alpha, map_beta, map_gamma; /* cell dimensions for map */
extern int mapstep_a, mapstep_b, mapstep_c; /* map steps across unit cell */
extern float xMin, xMax, yMin, yMax, zMin, zMax; /* bounding box for map */
extern float x4Val,x5Val,x6Val; /* coordinates of map intersections with superspace */
extern float x4step,x5step,x6step;
extern char FourierFileName[100];
extern int FourierMapType;
extern struct MAP_INFO Map_Info;
|