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_GABEDITTYPE_H__ 20 #define __GABEDIT_GABEDITTYPE_H__ 21 22 #define MAXISOTOP 10 23 typedef void (*GabeditSignalFunc)(GtkWidget*); 24 typedef enum 25 { 26 GABEDIT_NETWORK_FTP_RSH = 0, 27 GABEDIT_NETWORK_SSH 28 } GabEditNetWork; 29 30 typedef struct _SAtomsProp 31 { 32 gchar *name; 33 gchar *symbol; 34 guint atomicNumber; 35 gdouble covalentRadii; 36 gdouble bondOrderRadii; 37 gdouble vanDerWaalsRadii; 38 gdouble radii; 39 guint maximumBondValence; 40 gdouble masse; 41 gdouble electronegativity; 42 GdkColor color; 43 gint nIsotopes; 44 gint iMass[MAXISOTOP]; 45 gdouble rMass[MAXISOTOP]; 46 gdouble abundances[MAXISOTOP]; 47 }SAtomsProp; 48 typedef enum 49 { 50 GABEDIT_TYPEWIN_GEOM, 51 GABEDIT_TYPEWIN_ORB, 52 GABEDIT_TYPEWIN_OTHER, 53 } GabEditTypeWin; 54 typedef enum 55 { 56 GABEDIT_TYPETEXTURE_1, 57 GABEDIT_TYPETEXTURE_2, 58 GABEDIT_TYPETEXTURE_3, 59 GABEDIT_TYPETEXTURE_NONE 60 } GabEditTypeTexture; 61 typedef enum 62 { 63 GABEDIT_TYPENODE_DEMON=0, 64 GABEDIT_TYPENODE_FIREFLY, 65 GABEDIT_TYPENODE_GAMESS, 66 GABEDIT_TYPENODE_GAUSSIAN, 67 GABEDIT_TYPENODE_MOLCAS, 68 GABEDIT_TYPENODE_MOLPRO, 69 GABEDIT_TYPENODE_MOPAC, 70 GABEDIT_TYPENODE_MPQC, 71 GABEDIT_TYPENODE_NWCHEM, 72 GABEDIT_TYPENODE_PSICODE, 73 GABEDIT_TYPENODE_ORCA, 74 GABEDIT_TYPENODE_QCHEM, 75 GABEDIT_TYPENODE_GABEDIT, 76 GABEDIT_TYPENODE_XYZ, 77 GABEDIT_TYPENODE_MOL2, 78 GABEDIT_TYPENODE_TINKER, 79 GABEDIT_TYPENODE_PDB, 80 GABEDIT_TYPENODE_GZMAT, 81 GABEDIT_TYPENODE_MZMAT, 82 GABEDIT_TYPENODE_HIN, 83 GABEDIT_TYPENODE_OTHER 84 } GabEditTypeNode; 85 typedef enum 86 { 87 GABEDIT_TYPEFILE_GAUSSIAN, 88 GABEDIT_TYPEFILE_GAUSSIAN_ANHARMONIC, 89 GABEDIT_TYPEFILE_GAUSSIAN_SCANOPT, 90 GABEDIT_TYPEFILE_GAUSSIAN_IRCOPT, 91 GABEDIT_TYPEFILE_MOLCAS, 92 GABEDIT_TYPEFILE_MOLPRO, 93 GABEDIT_TYPEFILE_DALTON, 94 GABEDIT_TYPEFILE_DEMON, 95 GABEDIT_TYPEFILE_GAMESS, 96 GABEDIT_TYPEFILE_GAMESS_ANHARMONIC, 97 GABEDIT_TYPEFILE_TURBOMOLE, 98 GABEDIT_TYPEFILE_MOLPRO_LOG, 99 GABEDIT_TYPEFILE_MOLDEN, 100 GABEDIT_TYPEFILE_GABEDIT, 101 GABEDIT_TYPEFILE_MOBCAL, 102 GABEDIT_TYPEFILE_XYZ, 103 GABEDIT_TYPEFILE_GAMESSIRC, 104 GABEDIT_TYPEFILE_MOL2, 105 GABEDIT_TYPEFILE_MOL, 106 GABEDIT_TYPEFILE_TINKER, 107 GABEDIT_TYPEFILE_PDB, 108 GABEDIT_TYPEFILE_GZMAT, 109 GABEDIT_TYPEFILE_MZMAT, 110 GABEDIT_TYPEFILE_HIN, 111 GABEDIT_TYPEFILE_AIMALL, 112 GABEDIT_TYPEFILE_CCHEMI, 113 GABEDIT_TYPEFILE_DEMONINPUT, 114 GABEDIT_TYPEFILE_GAMESSINPUT, 115 GABEDIT_TYPEFILE_GAUSSIANINPUT, 116 GABEDIT_TYPEFILE_GAUSSIAN_FCHK, 117 GABEDIT_TYPEFILE_MOLCASINPUT, 118 GABEDIT_TYPEFILE_MOLPROINPUT, 119 GABEDIT_TYPEFILE_MPQCINPUT, 120 GABEDIT_TYPEFILE_ORCAINPUT, 121 GABEDIT_TYPEFILE_FIREFLYINPUT, 122 GABEDIT_TYPEFILE_QCHEMINPUT, 123 GABEDIT_TYPEFILE_NWCHEMINPUT, 124 GABEDIT_TYPEFILE_PSICODEINPUT, 125 GABEDIT_TYPEFILE_MOPACINPUT, 126 GABEDIT_TYPEFILE_MPQC, 127 GABEDIT_TYPEFILE_JPEG, 128 GABEDIT_TYPEFILE_PPM, 129 GABEDIT_TYPEFILE_BMP, 130 GABEDIT_TYPEFILE_PNG, 131 GABEDIT_TYPEFILE_TIF, 132 GABEDIT_TYPEFILE_PS, 133 GABEDIT_TYPEFILE_ADF, 134 GABEDIT_TYPEFILE_ORCA, 135 GABEDIT_TYPEFILE_VASPOUTCAR, 136 GABEDIT_TYPEFILE_VASPPOSCAR, 137 GABEDIT_TYPEFILE_CIF, 138 GABEDIT_TYPEFILE_VASPXML, 139 GABEDIT_TYPEFILE_FIREFLY, 140 GABEDIT_TYPEFILE_QCHEM, 141 GABEDIT_TYPEFILE_NWCHEM, 142 GABEDIT_TYPEFILE_PSICODE, 143 GABEDIT_TYPEFILE_MOPAC, 144 GABEDIT_TYPEFILE_MOPAC_AUX, 145 GABEDIT_TYPEFILE_MOPAC_SCAN, 146 GABEDIT_TYPEFILE_MOPAC_IRC, 147 GABEDIT_TYPEFILE_CUBEGAUSS, 148 GABEDIT_TYPEFILE_CUBEMOLPRO, 149 GABEDIT_TYPEFILE_CUBEADF, 150 GABEDIT_TYPEFILE_MOLCASGRID, 151 GABEDIT_TYPEFILE_CUBEMOLCAS, 152 GABEDIT_TYPEFILE_CUBEQCHEM, 153 GABEDIT_TYPEFILE_CUBEGABEDIT, 154 GABEDIT_TYPEFILE_CUBEDX, 155 GABEDIT_TYPEFILE_TRJ, 156 GABEDIT_TYPEFILE_TXT, 157 GABEDIT_TYPEFILE_NBO_BASIS, 158 GABEDIT_TYPEFILE_NBO, 159 GABEDIT_TYPEFILE_XML, 160 GABEDIT_TYPEFILE_IGVPT2, 161 GABEDIT_TYPEFILE_WFX, 162 GABEDIT_TYPEFILE_UNKNOWN, 163 } GabEditTypeFile; 164 165 typedef enum 166 { 167 GABEDIT_TYPEFILEGEOM_NEW, 168 169 GABEDIT_TYPEFILEGEOM_GABEDIT, 170 GABEDIT_TYPEFILEGEOM_MOLDEN, 171 172 GABEDIT_TYPEFILEGEOM_XYZ, 173 GABEDIT_TYPEFILEGEOM_MOL, 174 GABEDIT_TYPEFILEGEOM_MOL2, 175 GABEDIT_TYPEFILEGEOM_TINKER, 176 GABEDIT_TYPEFILEGEOM_PDB, 177 GABEDIT_TYPEFILEGEOM_HIN, 178 GABEDIT_TYPEFILEGEOM_AIMALL, 179 180 GABEDIT_TYPEFILEGEOM_DALTONIN, 181 GABEDIT_TYPEFILEGEOM_DALTONFIRST, 182 GABEDIT_TYPEFILEGEOM_DALTONLAST, 183 184 GABEDIT_TYPEFILEGEOM_DEMONIN, 185 GABEDIT_TYPEFILEGEOM_DEMONFIRST, 186 GABEDIT_TYPEFILEGEOM_DEMONLAST, 187 188 GABEDIT_TYPEFILEGEOM_GAMESSIN, 189 GABEDIT_TYPEFILEGEOM_GAMESSFIRST, 190 GABEDIT_TYPEFILEGEOM_GAMESSLAST, 191 192 GABEDIT_TYPEFILEGEOM_GAUSSIN, 193 GABEDIT_TYPEFILEGEOM_GAUSSOUTFIRST, 194 GABEDIT_TYPEFILEGEOM_GAUSSOUTLAST, 195 GABEDIT_TYPEFILEGEOM_GAUSSIAN_FCHK, 196 197 GABEDIT_TYPEFILEGEOM_MOLCASIN, 198 GABEDIT_TYPEFILEGEOM_MOLCASOUTFIRST, 199 GABEDIT_TYPEFILEGEOM_MOLCASOUTLAST, 200 201 GABEDIT_TYPEFILEGEOM_MOLPROIN, 202 GABEDIT_TYPEFILEGEOM_MOLPROOUTFIRST, 203 GABEDIT_TYPEFILEGEOM_MOLPROOUTLAST, 204 205 GABEDIT_TYPEFILEGEOM_MPQCIN, 206 GABEDIT_TYPEFILEGEOM_MPQCOUTFIRST, 207 GABEDIT_TYPEFILEGEOM_MPQCOUTLAST, 208 209 GABEDIT_TYPEFILEGEOM_ORCAIN, 210 GABEDIT_TYPEFILEGEOM_ORCAOUTFIRST, 211 GABEDIT_TYPEFILEGEOM_ORCAOUTLAST, 212 213 GABEDIT_TYPEFILEGEOM_VASPIN, 214 GABEDIT_TYPEFILEGEOM_VASPPOSCAR, 215 GABEDIT_TYPEFILEGEOM_VASPOUTFIRST, 216 GABEDIT_TYPEFILEGEOM_VASPOUTLAST, 217 GABEDIT_TYPEFILEGEOM_VASPXMLFIRST, 218 GABEDIT_TYPEFILEGEOM_VASPXMLLAST, 219 220 GABEDIT_TYPEFILEGEOM_CIF, 221 222 GABEDIT_TYPEFILEGEOM_QCHEMIN, 223 GABEDIT_TYPEFILEGEOM_QCHEMOUTFIRST, 224 GABEDIT_TYPEFILEGEOM_QCHEMOUTLAST, 225 226 GABEDIT_TYPEFILEGEOM_NWCHEMIN, 227 GABEDIT_TYPEFILEGEOM_NWCHEMOUTFIRST, 228 GABEDIT_TYPEFILEGEOM_NWCHEMOUTLAST, 229 230 GABEDIT_TYPEFILEGEOM_PSICODEIN, 231 GABEDIT_TYPEFILEGEOM_PSICODEOUTFIRST, 232 GABEDIT_TYPEFILEGEOM_PSICODEOUTLAST, 233 234 235 GABEDIT_TYPEFILEGEOM_MOPACIN, 236 GABEDIT_TYPEFILEGEOM_MOPACOUTFIRST, 237 GABEDIT_TYPEFILEGEOM_MOPACOUTLAST, 238 GABEDIT_TYPEFILEGEOM_MOPACAUX, 239 GABEDIT_TYPEFILEGEOM_MOPACOUTSCAN, 240 241 GABEDIT_TYPEFILEGEOM_FIREFLYIN, 242 GABEDIT_TYPEFILEGEOM_FIREFLYFIRST, 243 GABEDIT_TYPEFILEGEOM_FIREFLYLAST, 244 245 GABEDIT_TYPEFILEGEOM_GAMESSIRC, 246 247 GABEDIT_TYPEFILEGEOM_TURBOMOLEFIRST, 248 GABEDIT_TYPEFILEGEOM_TURBOMOLELAST, 249 250 251 GABEDIT_TYPEFILEGEOM_GAUSSIAN_ZMATRIX, 252 GABEDIT_TYPEFILEGEOM_MOPAC_ZMATRIX, 253 254 GABEDIT_TYPEFILEGEOM_WFX, 255 256 GABEDIT_TYPEFILEGEOM_UNKNOWN 257 } GabEditTypeFileGeom; 258 259 typedef enum 260 { 261 GABEDIT_TYPEGRID_ORBITAL, 262 GABEDIT_TYPEGRID_EDENSITY, 263 GABEDIT_TYPEGRID_DDENSITY, 264 GABEDIT_TYPEGRID_ADENSITY, 265 GABEDIT_TYPEGRID_SDENSITY, 266 GABEDIT_TYPEGRID_ELFBECKE, 267 GABEDIT_TYPEGRID_ELFSAVIN, 268 GABEDIT_TYPEGRID_FEDELECTROPHILIC, 269 GABEDIT_TYPEGRID_FEDNUCLEOPHILIC, 270 GABEDIT_TYPEGRID_FEDRADICAL, 271 GABEDIT_TYPEGRID_NCI, 272 GABEDIT_TYPEGRID_SAS, 273 GABEDIT_TYPEGRID_SASMAP, 274 GABEDIT_TYPEGRID_MEP_CHARGES, 275 GABEDIT_TYPEGRID_MEP_MULTIPOL, 276 GABEDIT_TYPEGRID_MEP_CG, 277 GABEDIT_TYPEGRID_MEP_MG, 278 GABEDIT_TYPEGRID_MEP_EXACT, 279 } GabEditTypeGrid; 280 281 typedef enum 282 { 283 GABEDIT_TYPEGEOM_NO, 284 GABEDIT_TYPEGEOM_BALLSTICK, 285 GABEDIT_TYPEGEOM_STICK, 286 GABEDIT_TYPEGEOM_SPACE, 287 GABEDIT_TYPEGEOM_WIREFRAME 288 } GabEditTypeGeom; 289 290 typedef enum 291 { 292 GABEDIT_SURFSHOW_NO, 293 GABEDIT_SURFSHOW_POSNEG, 294 GABEDIT_SURFSHOW_POSITIVE, 295 GABEDIT_SURFSHOW_NEGATIVE 296 } GabEditTypeSurfShow; 297 298 typedef enum 299 { 300 GABEDIT_BLEND_NO, 301 GABEDIT_BLEND_YES 302 } GabEditTypeBlend; 303 304 typedef enum 305 { 306 GABEDIT_POS_WIREFRAME_NO, 307 GABEDIT_POS_WIREFRAME_YES, 308 GABEDIT_NEG_WIREFRAME_NO, 309 GABEDIT_NEG_WIREFRAME_YES 310 } GabEditTypeWireFrame; 311 312 typedef enum 313 { 314 GABEDIT_PROGORB_UNK, 315 GABEDIT_PROGORB_READGEOM, 316 GABEDIT_PROGORB_SAVEGEOM, 317 GABEDIT_PROGORB_COMPISOSURFACE, 318 GABEDIT_PROGORB_COMPGRID, 319 GABEDIT_PROGORB_COMPINTEG, 320 GABEDIT_PROGORB_SCALEGRID, 321 GABEDIT_PROGORB_SUBSGRID, 322 GABEDIT_PROGORB_READGRID, 323 GABEDIT_PROGORB_SAVEGRID, 324 GABEDIT_PROGORB_MAPGRID, 325 GABEDIT_PROGORB_SCANFILEGRID, 326 GABEDIT_PROGORB_COMPMULTIPOL, 327 GABEDIT_PROGORB_COMPLAPGRID, 328 GABEDIT_PROGORB_COMPGRADGRID, 329 GABEDIT_PROGORB_COMPNCIGRID, 330 GABEDIT_PROGORB_COMPL2GRID, 331 GABEDIT_PROGORB_COMPMEPGRID, 332 } GabEditTypeProgressOrb; 333 334 typedef struct _LXYZ LXYZ; 335 struct _LXYZ 336 { 337 gdouble Coef; 338 gint l[3]; 339 }; 340 341 typedef struct _Zlm Zlm; 342 struct _Zlm 343 { 344 gint l; 345 gint m; 346 gint numberOfCoefficients; 347 LXYZ* lxyz; 348 }; 349 350 typedef struct _GTF 351 { 352 gdouble Ex; 353 gdouble Coef; 354 gint l[3]; 355 gdouble C[3]; 356 }GTF; 357 358 typedef struct _AO 359 { 360 gint L; 361 gint N; 362 gdouble* Ex; 363 gdouble* Coef; 364 }AO; 365 366 typedef struct _TYPE 367 { 368 char* Symb; 369 gint N; /* Number of electrons*/ 370 gint Norb; 371 AO *Ao; 372 }TYPE; 373 374 typedef struct _CGTF 375 { 376 gint numberOfFunctions; 377 gint NumCenter; 378 GTF* Gtf; 379 gint L; /* used if spherical basis*/ 380 gint M; /* used if spherical basis*/ 381 }CGTF; 382 typedef struct _RGBColor 383 { 384 guchar rgb[3]; 385 386 }RGBColor; 387 388 typedef struct _TypeGeomOrb 389 { 390 gchar* Symb; 391 gdouble C[3]; 392 gdouble partialCharge; 393 gdouble nuclearCharge; 394 gboolean variable; 395 SAtomsProp Prop; 396 guint Sphere; 397 gint N; 398 gint NumType; 399 gint NAOrb; 400 gint* NumOrb; 401 gint NOrb; 402 gint NAlphaOrb; 403 gint NBetaOrb; 404 gdouble **CoefAlphaOrbitals; 405 gdouble *OccAlphaOrbitals; 406 gdouble *EnerAlphaOrbitals; 407 gchar **SymAlphaOrbitals; 408 gdouble **CoefBetaOrbitals; 409 gdouble *EnerBetaOrbitals; 410 gdouble *OccBetaOrbitals; 411 gchar **SymBetaOrbitals; 412 }TypeGeomOrb; 413 414 typedef struct _TypeFontsStyle 415 { 416 gchar *fontname; 417 GdkColor BaseColor; 418 GdkColor TextColor; 419 }TypeFontsStyle; 420 typedef gdouble (*Func3d)(gdouble ,gdouble,gdouble,gint); 421 422 typedef struct _STF 423 { 424 gdouble Ex; 425 gdouble Coef; 426 gint l[3]; 427 gdouble C[3]; 428 gint pqn; 429 }STF; 430 431 typedef struct _CSTF 432 { 433 gint N; 434 gint NumCenter; 435 STF* Stf; 436 gint L; /* used if spherical basis*/ 437 gint M; /* used if spherical basis*/ 438 }CSTF; 439 440 typedef struct _OpenGLOptions 441 { 442 gint rgba; 443 gint doubleBuffer; 444 gint alphaSize; 445 gint depthSize; 446 gint numberOfSubdivisionsCylindre; 447 gint numberOfSubdivisionsSphere; 448 gint activateText; 449 }OpenGLOptions; 450 typedef enum 451 { 452 GABEDIT_BONDTYPE_SINGLE = 0, 453 GABEDIT_BONDTYPE_DOUBLE, 454 GABEDIT_BONDTYPE_TRIPLE, 455 GABEDIT_BONDTYPE_HYDROGEN, 456 } GabEditBondType; 457 typedef struct _BondType BondType; 458 struct _BondType 459 { 460 gint n1; 461 gint n2; 462 GabEditBondType bondType; 463 }; 464 typedef struct _DipoleDef 465 { 466 gboolean def; 467 gdouble origin[3]; 468 gdouble value[3]; 469 gdouble radius; 470 gdouble color[3]; 471 }DipoleDef; 472 473 474 #endif /* __GABEDIT_GABEDITTYPE_H__ */ 475 476