1 /**********************************************************************************************************
2 Copyright (c) 2002-2013 Abdul-Rahman Allouche. All rights reserved
3 
4 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
5 documentation files (the Gabedit), to deal in the Software without restriction, including without limitation
6 the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
7 and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
8 
9   The above copyright notice and this permission notice shall be included in all copies or substantial portions
10   of the Software.
11 
12 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
13 TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
14 THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
15 CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
16 DEALINGS IN THE SOFTWARE.
17 ************************************************************************************************************/
18 
19 #ifndef __GABEDIT_GLOBALORB_H__
20 #define __GABEDIT_GLOBALORB_H__
21 
22 #include <math.h>
23 #include <stdio.h>
24 #include <string.h>
25 #include <stdlib.h>
26 #include <ctype.h>
27 #include <gtk/gtk.h>
28 #include <gdk/gdk.h>
29 #include <glib/gi18n.h>
30 #include "../Files/GabeditFileChooser.h"
31 #include "../../gl2ps/gl2ps.h"
32 #include <GL/gl.h>
33 #include <GL/glu.h>
34 #include "Grid.h"
35 #include "IsoSurface.h"
36 
37 #define PRECISON_CYLINDER 0.001
38 /*
39 #define PI   3.14159265358979323846
40 #define ANG_TO_BOHR  1.0/0.52917726
41 #define BOHR_TO_ANG  0.52917726
42 #define DEG_TO_RAD   0.017453293
43 */
44 #define BUFER_SIZE	 8912
45 #define MAX_FACT 150
46 #define MAX_J 20
47 #define NTS 500
48 #define TMAX 50.0
49 #define NATOMS 104
50 
51 #include "../Common/GabeditType.h"
52 /*#include "GabEditType.h"*/
53 
54 GtkWidget* PrincipalWindow;
55 GtkWidget* GLArea;
56 
57 TypeGeomOrb* GeomOrb;
58 gint ScreenWidth;
59 gint ScreenHeight;
60 TypeFontsStyle FontStyle;
61 gchar *Title;
62 
63 TYPE *Type;
64 CGTF *AOrb;
65 
66 CSTF *SAOrb;
67 gdouble* SOverlaps;
68 
69 gint nCenters;
70 gint Ntype;
71 gint NAOrb;
72 gint NOrb; /* Maximal number of orbital */
73 gint NAlphaOrb; /* Alpha orbital number */
74 gint NBetaOrb; /* Beta orbital number */
75 gint NTotOcc;
76 gint NAlphaOcc;
77 gint NBetaOcc;
78 gint TypeSelOrb; /* Type of Selected orbital 1 if alpha 2 if beta */
79 gint NumSelOrb;  /* Number of Selected orbital : 0,1,2.... */
80 FILE* forb;
81 gdouble **CoefAlphaOrbitals;
82 gdouble *OccAlphaOrbitals;
83 gdouble *EnerAlphaOrbitals;
84 gchar	**SymAlphaOrbitals;
85 
86 gdouble **CoefBetaOrbitals;
87 gdouble *EnerBetaOrbitals;
88 gdouble *OccBetaOrbitals;
89 gchar	**SymBetaOrbitals;
90 
91 GabEditTypeGeom TypeGeom;
92 GabEditTypeGrid TypeGrid;
93 GabEditTypeTexture TypeTexture;
94 GabEditTypeBlend TypeBlend;
95 GabEditTypeWireFrame  TypePosWireFrame;
96 GabEditTypeWireFrame  TypeNegWireFrame;
97 GabEditTypeSurfShow SurfShow;
98 gboolean PopupMenuIsOpen;
99 IsoSurface* isopositive;
100 IsoSurface* isonegative;
101 IsoSurface* isonull;
102 Grid* grid;
103 Grid* gridPlaneForContours;
104 gboolean reDrawContoursPlane;
105 Grid* gridPlaneForPlanesMapped;
106 gboolean reDrawPlaneMappedPlane;
107 gboolean AOAvailable;
108 gboolean RebuildSurf;
109 gboolean RebuildGeom;
110 gboolean newSurface;
111 gboolean newContours;
112 gboolean DeleteContours;
113 gboolean CancelCalcul;
114 gboolean ShowDipoleOrb;
115 gboolean ShowHBondOrb;
116 gboolean ShowHAtomOrb;
117 gboolean ShowMultiBondsOrb;
118 gboolean ShowVibration;
119 gboolean createBMPFiles;
120 gint numBMPFile;
121 gboolean createPPMFiles;
122 gint numPPMFile;
123 gboolean createPOVFiles;
124 gint numPOVFile;
125 gdouble solventRadius;
126 gdouble alphaFED;
127 
128 
129 #endif /* __GABEDIT_GLOBALORB_H__ */
130 
131