layer5/TestPyMOL.cpp (421 lines of code) (raw):
/*
A* -------------------------------------------------------------------
B* This file contains source code for the PyMOL computer program
C* Copyright (c) Schrodinger, LLC.
D* -------------------------------------------------------------------
E* It is unlawful to modify or remove this copyright notice.
F* -------------------------------------------------------------------
G* Please see the accompanying LICENSE file for further information.
H* -------------------------------------------------------------------
I* Additional authors of this source file include:
-*
-*
-*
Z* -------------------------------------------------------------------
*/
/* Module for internal C-level PyMOL tests...*/
#include"os_python.h"
#include"os_predef.h"
#include"os_std.h"
#include"Base.h"
#include"MemoryDebug.h"
#include"Feedback.h"
#include"TestPyMOL.h"
#include"ObjectCGO.h"
#include"VFont.h"
#include"ObjectGadget.h"
#include"P.h"
#include"ObjectMap.h"
#include"Executive.h"
#include"ButMode.h"
#include"Control.h"
#include"PyMOL.h"
static int TestPyMOL_00_00(PyMOLGlobals * G)
{
ObjectMap *obj;
ObjectMapDesc _md, *md;
ObjectMapState *ms = NULL;
int a;
md = &_md;
md->mode = cObjectMap_OrthoMinMaxGrid;
for(a = 0; a < 3; a++) {
md->Grid[a] = 0.1F;
md->MinCorner[a] = 0.0F;
md->MaxCorner[a] = a + 1.0F;
}
md->init_mode = -2;
obj = ObjectMapNew(G);
if(obj) {
ms = ObjectMapNewStateFromDesc(G, obj, md, 0, true);
ms->Active = true;
}
if(obj) {
ObjectSetName((CObject *) obj, "00_00");
ExecutiveManageObject(G, (CObject *) obj, -1, false);
}
return (obj != NULL);
}
#define STR_MAX 100
static char *get_st(const char array[][STR_MAX])
{
char *result = NULL;
size_t c = 0, l = 0;
while(array[c][0]) {
l += strlen(array[c]);
c++;
}
result = Alloc(char, l + 1);
l = 0;
c = 0;
while(array[c][0]) {
strcpy(result + l, array[c]);
l += strlen(array[c]);
c++;
}
return result;
}
static const char pdb_01_01[][STR_MAX] = {
"ATOM 1 N ASP E 1 4.868 -17.809 25.188 1.00 34.37 E N\n",
"ATOM 2 CA ASP E 1 3.984 -16.723 25.698 1.00 33.85 E C\n",
"ATOM 3 CB ASP E 1 4.633 -16.020 26.888 1.00 35.91 E C\n",
"ATOM 4 CG ASP E 1 6.016 -15.468 26.567 1.00 39.23 E C\n",
"ATOM 5 OD1 ASP E 1 6.340 -14.367 27.058 1.00 42.40 E O\n",
"ATOM 6 OD2 ASP E 1 6.787 -16.131 25.836 1.00 39.28 E O\n",
"ATOM 7 C ASP E 1 3.789 -15.753 24.546 1.00 33.96 E C\n",
"ATOM 8 O ASP E 1 4.456 -15.889 23.517 1.00 35.44 E O\n",
"ATOM 9 N CYS E 2 2.908 -14.771 24.711 1.00 31.94 E N\n",
"ATOM 10 CA CYS E 2 2.638 -13.825 23.633 1.00 29.67 E C\n",
"ATOM 11 CB CYS E 2 1.198 -13.996 23.132 1.00 28.73 E C\n",
"ATOM 12 SG CYS E 2 0.725 -15.681 22.638 1.00 25.85 E S\n",
"ATOM 13 C CYS E 2 2.842 -12.366 24.012 1.00 30.31 E C\n",
"ATOM 14 O CYS E 2 3.025 -12.039 25.188 1.00 30.74 E O\n",
"ATOM 15 N ALA E 3 2.792 -11.504 22.996 1.00 30.15 E N\n",
"ATOM 16 CA ALA E 3 2.923 -10.056 23.151 1.00 30.15 E C\n",
"ATOM 17 CB ALA E 3 4.226 -9.566 22.552 1.00 30.82 E C\n",
"ATOM 18 C ALA E 3 1.736 -9.418 22.436 1.00 29.90 E C\n",
"ATOM 19 O ALA E 3 1.332 -9.867 21.362 1.00 28.16 E O\n",
"ATOM 20 N TRP E 4 1.173 -8.377 23.038 1.00 31.77 E N\n",
"ATOM 21 CA TRP E 4 0.007 -7.715 22.471 1.00 32.08 E C\n",
"ATOM 22 CB TRP E 4 -1.233 -7.992 23.344 1.00 32.83 E C\n",
"ATOM 23 CG TRP E 4 -1.500 -9.458 23.636 1.00 35.04 E C\n",
"ATOM 24 CD1 TRP E 4 -0.831 -10.264 24.528 1.00 35.36 E C\n",
"ATOM 25 CD2 TRP E 4 -2.507 -10.285 23.037 1.00 35.86 E C\n",
"ATOM 26 CE2 TRP E 4 -2.390 -11.576 23.610 1.00 34.80 E C\n",
"ATOM 27 CE3 TRP E 4 -3.500 -10.059 22.069 1.00 36.66 E C\n",
"ATOM 28 NE1 TRP E 4 -1.360 -11.535 24.514 1.00 33.13 E N\n",
"ATOM 29 CZ2 TRP E 4 -3.228 -12.638 23.249 1.00 36.81 E C\n",
"ATOM 30 CZ3 TRP E 4 -4.338 -11.120 21.706 1.00 37.35 E C\n",
"ATOM 31 CH2 TRP E 4 -4.194 -12.390 22.297 1.00 38.27 E C\n",
"ATOM 32 C TRP E 4 0.231 -6.212 22.372 1.00 32.17 E C\n",
"ATOM 33 O TRP E 4 0.752 -5.592 23.297 1.00 33.32 E O\n",
"ATOM 34 N HIS E 5 -0.135 -5.634 21.235 1.00 32.18 E N\n",
"ATOM 35 CA HIS E 5 -0.006 -4.205 21.043 1.00 32.91 E C\n",
"ATOM 36 CB HIS E 5 0.791 -3.871 19.783 1.00 33.02 E C\n",
"ATOM 37 CG HIS E 5 0.939 -2.396 19.549 1.00 32.86 E C\n",
"ATOM 38 CD2 HIS E 5 0.582 -1.619 18.499 1.00 31.48 E C\n",
"ATOM 39 ND1 HIS E 5 1.470 -1.542 20.495 1.00 29.87 E N\n",
"ATOM 40 CE1 HIS E 5 1.431 -0.303 20.038 1.00 29.68 E C\n",
"ATOM 41 NE2 HIS E 5 0.896 -0.322 18.831 1.00 29.87 E N\n",
"ATOM 42 C HIS E 5 -1.408 -3.636 20.918 1.00 34.58 E C\n",
"ATOM 43 O HIS E 5 -2.092 -3.870 19.914 1.00 35.87 E O\n",
"ATOM 44 N LEU E 6 -1.838 -2.904 21.943 1.00 34.54 E N\n",
"ATOM 45 CA LEU E 6 -3.165 -2.295 21.956 1.00 34.66 E C\n",
"ATOM 46 CB LEU E 6 -3.266 -1.199 20.892 1.00 34.44 E C\n",
"ATOM 47 CG LEU E 6 -2.302 -0.023 21.018 1.00 35.32 E C\n",
"ATOM 48 CD1 LEU E 6 -2.422 0.863 19.781 1.00 34.55 E C\n",
"ATOM 49 CD2 LEU E 6 -2.582 0.753 22.302 1.00 33.68 E C\n",
"ATOM 50 C LEU E 6 -4.242 -3.339 21.698 1.00 36.23 E C\n",
"ATOM 51 O LEU E 6 -5.181 -3.100 20.933 1.00 35.26 E O\n",
"ATOM 52 N GLY E 7 -4.087 -4.506 22.315 1.00 37.53 E N\n",
"ATOM 53 CA GLY E 7 -5.063 -5.564 22.138 1.00 38.95 E C\n",
"ATOM 54 C GLY E 7 -4.781 -6.514 20.988 1.00 39.52 E C\n",
"ATOM 55 O GLY E 7 -5.188 -7.669 21.049 1.00 42.08 E O\n",
"ATOM 56 N GLU E 8 -4.092 -6.046 19.948 1.00 39.31 E N\n",
"ATOM 57 CA GLU E 8 -3.771 -6.883 18.787 1.00 38.11 E C\n",
"ATOM 58 CB GLU E 8 -3.361 -6.012 17.607 1.00 40.57 E C\n",
"ATOM 59 CG GLU E 8 -4.472 -5.586 16.679 1.00 43.48 E C\n",
"ATOM 60 CD GLU E 8 -3.920 -4.806 15.506 1.00 47.43 E C\n",
"ATOM 61 OE1 GLU E 8 -3.572 -5.421 14.467 1.00 44.53 E O\n",
"ATOM 62 OE2 GLU E 8 -3.800 -3.572 15.644 1.00 50.21 E O\n",
"ATOM 63 C GLU E 8 -2.646 -7.877 19.066 1.00 35.96 E C\n",
"ATOM 64 O GLU E 8 -1.643 -7.529 19.691 1.00 37.36 E O\n",
"ATOM 65 N LEU E 9 -2.793 -9.104 18.579 1.00 32.21 E N\n",
"ATOM 66 CA LEU E 9 -1.763 -10.108 18.791 1.00 27.94 E C\n",
"ATOM 67 CB LEU E 9 -2.275 -11.515 18.478 1.00 28.00 E C\n",
"ATOM 68 CG LEU E 9 -1.255 -12.643 18.693 1.00 27.79 E C\n",
"ATOM 69 CD1 LEU E 9 -0.819 -12.720 20.160 1.00 24.02 E C\n",
"ATOM 70 CD2 LEU E 9 -1.848 -13.963 18.233 1.00 26.33 E C\n",
"ATOM 71 C LEU E 9 -0.569 -9.800 17.911 1.00 25.48 E C\n",
"ATOM 72 O LEU E 9 -0.699 -9.660 16.692 1.00 25.09 E O\n",
"ATOM 73 N VAL E 10 0.589 -9.697 18.547 1.00 22.25 E N\n",
"ATOM 74 CA VAL E 10 1.835 -9.417 17.858 1.00 18.77 E C\n",
"ATOM 75 CB VAL E 10 2.797 -8.578 18.759 1.00 17.44 E C\n",
"ATOM 76 CG1 VAL E 10 4.131 -8.351 18.068 1.00 17.34 E C\n",
"ATOM 77 CG2 VAL E 10 2.166 -7.248 19.110 1.00 17.12 E C\n",
"ATOM 78 C VAL E 10 2.537 -10.717 17.473 1.00 19.09 E C\n",
"ATOM 79 O VAL E 10 2.708 -11.019 16.296 1.00 18.92 E O\n",
"ATOM 80 N TRP E 11 2.886 -11.525 18.465 1.00 19.41 E N\n",
"ATOM 81 CA TRP E 11 3.622 -12.742 18.191 1.00 18.86 E C\n",
"ATOM 82 CB TRP E 11 5.059 -12.338 17.887 1.00 14.44 E C\n",
"ATOM 83 CG TRP E 11 5.840 -13.342 17.171 1.00 14.67 E C\n",
"ATOM 84 CD1 TRP E 11 6.700 -14.257 17.709 1.00 11.97 E C\n",
"ATOM 85 CD2 TRP E 11 5.886 -13.519 15.756 1.00 16.13 E C\n",
"ATOM 86 CE2 TRP E 11 6.804 -14.562 15.500 1.00 17.59 E C\n",
"ATOM 87 CE3 TRP E 11 5.250 -12.894 14.676 1.00 18.07 E C\n",
"ATOM 88 NE1 TRP E 11 7.284 -14.992 16.711 1.00 13.12 E N\n",
"ATOM 89 CZ2 TRP E 11 7.101 -14.995 14.196 1.00 16.12 E C\n",
"ATOM 90 CZ3 TRP E 11 5.548 -13.321 13.382 1.00 16.68 E C\n",
"ATOM 91 CH2 TRP E 11 6.466 -14.362 13.157 1.00 17.19 E C\n",
"ATOM 92 C TRP E 11 3.637 -13.609 19.431 1.00 21.88 E C\n",
"ATOM 93 O TRP E 11 3.449 -13.097 20.534 1.00 24.04 E O\n",
"ATOM 94 N CYS E 12 3.878 -14.908 19.252 1.00 24.56 E N\n",
"ATOM 95 CA CYS E 12 3.978 -15.845 20.367 1.00 27.16 E C\n",
"ATOM 96 CB CYS E 12 2.709 -16.674 20.541 1.00 25.57 E C\n",
"ATOM 97 SG CYS E 12 1.146 -15.762 20.653 1.00 29.62 E S\n",
"ATOM 98 C CYS E 12 5.126 -16.810 20.107 1.00 30.17 E C\n",
"ATOM 99 O CYS E 12 5.278 -17.322 18.998 1.00 29.17 E O\n",
"ATOM 100 N THR E 13 5.959 -17.026 21.117 1.00 35.02 E N\n",
"ATOM 101 CA THR E 13 7.053 -17.973 20.984 1.00 39.40 E C\n",
"ATOM 102 CB THR E 13 8.289 -17.578 21.828 1.00 38.42 E C\n",
"ATOM 103 CG2 THR E 13 8.919 -16.310 21.286 1.00 37.78 E C\n",
"ATOM 104 OG1 THR E 13 7.908 -17.397 23.194 1.00 38.69 E O\n",
"ATOM 105 C THR E 13 6.513 -19.322 21.459 1.00 42.05 E C\n",
"ATOM 106 O THR E 13 5.962 -19.432 22.570 1.00 41.54 E O\n",
"ATOM 107 OXT THR E 13 6.606 -20.331 20.602 1.00 43.02 E O\n",
"END\n",
""
};
static const char mol_01_02[][STR_MAX] = {
"MFCD02681585\n",
" ChemPy 3D 0\n",
"\n",
" 36 39 0 0 1 0 0 0 0 0999 V2000\n",
" 52.5122 32.1815 21.0164 O 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 53.1716 32.3766 20.0197 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 54.4517 31.7147 19.8169 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 54.7302 30.3758 20.0244 N 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 56.0228 30.0429 19.7805 N 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 56.5952 31.1894 19.3737 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 55.6544 32.2488 19.3610 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 58.0576 31.2220 18.9914 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 58.8985 30.2129 19.7561 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 58.1952 30.8995 17.4763 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 58.6099 32.6423 19.2418 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 53.8260 29.3227 20.4323 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 54.0916 28.8513 21.8755 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 53.2812 29.2854 22.9295 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 53.4667 28.8569 24.2265 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 52.5554 29.3273 25.3339 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 54.5278 27.9533 24.4780 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 55.3346 27.5330 23.4437 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 55.1252 27.9853 22.1551 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 52.8162 33.2369 18.9768 N 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 51.5459 33.8650 18.8063 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 50.7291 34.3547 19.8196 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 49.4781 34.9470 19.5308 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 48.6170 35.3669 20.6527 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 49.0272 35.8529 21.7164 O 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 47.3132 35.1061 20.3115 O 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 46.3612 35.5386 21.2706 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 49.0388 35.0753 18.1950 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 49.8568 34.5421 17.1857 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 51.0846 33.9564 17.4684 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 47.7773 35.7058 17.8640 N 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 46.9256 35.1276 16.8017 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 45.5301 35.6792 16.9429 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 45.5107 37.1034 16.9789 O 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 46.2587 37.5980 18.0839 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 47.7345 37.1658 17.9831 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 1 2 2 0 0 0 0\n",
" 2 3 1 0 0 0 0\n",
" 2 20 1 0 0 0 0\n",
" 3 4 4 0 0 0 0\n",
" 3 7 4 0 0 0 0\n",
" 4 5 4 0 0 0 0\n",
" 4 12 1 0 0 0 0\n",
" 5 6 4 0 0 0 0\n",
" 6 7 4 0 0 0 0\n",
" 6 8 1 0 0 0 0\n",
" 8 9 1 0 0 0 0\n",
" 8 10 1 0 0 0 0\n",
" 8 11 1 0 0 0 0\n",
" 12 13 1 0 0 0 0\n",
" 13 14 4 0 0 0 0\n",
" 13 19 4 0 0 0 0\n",
" 14 15 4 0 0 0 0\n",
" 15 16 1 0 0 0 0\n",
" 15 17 4 0 0 0 0\n",
" 17 18 4 0 0 0 0\n",
" 18 19 4 0 0 0 0\n",
" 20 21 1 0 0 0 0\n",
" 21 22 4 0 0 0 0\n",
" 21 30 4 0 0 0 0\n",
" 22 23 4 0 0 0 0\n",
" 23 24 1 0 0 0 0\n",
" 23 28 4 0 0 0 0\n",
" 24 25 2 0 0 0 0\n",
" 24 26 1 0 0 0 0\n",
" 26 27 1 0 0 0 0\n",
" 28 29 4 0 0 0 0\n",
" 28 31 1 0 0 0 0\n",
" 29 30 4 0 0 0 0\n",
" 31 32 1 0 0 0 0\n",
" 31 36 1 0 0 0 0\n",
" 32 33 1 0 0 0 0\n",
" 33 34 1 0 0 0 0\n",
" 34 35 1 0 0 0 0\n",
" 35 36 1 0 0 0 0\n",
"M END\n"
};
int TestPyMOLRun(PyMOLGlobals * G, int group, int test)
{
switch (group) {
case 0: /* development tests */
switch (test) {
case 0:
TestPyMOL_00_00(G);
break;
case 1:
PBlock(G);
VFontLoad(G, 1, 0, 0, true);
PUnblock(G);
break;
case 2:
{
CObject *obj = NULL;
float pos[3] = { 0.0, 0.0, 0.0 };
PBlock(G);
obj = (CObject *) ObjectCGONewVFontTest(G, "hello", pos);
PUnblock(G);
if(obj) {
ObjectSetName(obj, "hello");
ExecutiveManageObject(G, obj, -1, false);
}
}
break;
case 3:
{
CObject *obj = NULL;
obj = (CObject *) ObjectGadgetTest(G);
if(obj) {
ObjectSetName(obj, "gadget");
ExecutiveManageObject(G, obj, -1, false);
}
}
break;
case 4:
{
/* try to match G3D */
SettingSetGlobal_b(G, cSetting_ortho, 1);
const float light[3] = { 1.0F, -1.0F, -2.5F };
SettingSet_3fv(G->Setting, cSetting_light, light);
}
break;
}
break;
case 1:
/* set up for test usage as a simple viewer */
PyMOL_SetDefaultMouse(G->PyMOL);
switch (test) {
case 1:
{
char *st = get_st(pdb_01_01);
PyMOL_CmdLoad(G->PyMOL, st, "string", "pdb", "test_01_01", 0, false, true, true,
false, PYMOL_DEFAULT);
ExecutiveSetRepVisib(G, "test_01_01", cRepCyl, 1);
ExecutiveSetRepVisib(G, "test_01_01", cRepLine, 0);
SettingSetGlobal_f(G, cSetting_sweep_speed, 3.0F);
ControlRock(G, 1);
FreeP(st);
break;
}
break;
case 2:
{
char *st = get_st(pdb_01_01);
PyMOL_CmdLoad(G->PyMOL, st, "string", "pdb", "test_01_02", 0, false, true, true,
false, PYMOL_DEFAULT);
ExecutiveSetRepVisib(G, "test_01_02", cRepLine, 0);
ExecutiveSetRepVisib(G, "test_01_02", cRepSurface, 1);
ControlRock(G, 1);
FreeP(st);
break;
}
break;
case 3:
{
char *st = get_st(pdb_01_01);
PyMOL_CmdLoad(G->PyMOL, st, "string", "pdb", "test_01_03", 0, false, true, true,
false, PYMOL_DEFAULT);
ExecutiveSetRepVisib(G, "test_01_03", cRepLine, 0);
ExecutiveSetRepVisib(G, "test_01_03", cRepCartoon, 1);
SettingSetGlobal_f(G, cSetting_sweep_speed, 1.50F);
ControlRock(G, 1);
FreeP(st);
break;
}
break;
case 4:
{
char *st = get_st(pdb_01_01);
PyMOL_CmdLoad(G->PyMOL, st, "string", "pdb", "test_01_04", 0, false, true, true,
false, PYMOL_DEFAULT);
ExecutiveSetRepVisib(G, "test_01_04", cRepLine, 0);
ExecutiveSetRepVisib(G, "test_01_04", cRepDot, 1);
SettingSetGlobal_f(G, cSetting_sweep_speed, 1.50F);
ControlRock(G, 1);
FreeP(st);
break;
}
break;
case 5:
{
char *st = get_st(pdb_01_01);
PyMOL_CmdLoad(G->PyMOL, st, "string", "pdb", "test_01_05", 0, false, true, true,
false, PYMOL_DEFAULT);
ExecutiveSetRepVisib(G, "test_01_05", cRepLine, 0);
ExecutiveSetRepVisib(G, "test_01_05", cRepSphere, 1);
SettingSetGlobal_f(G, cSetting_sweep_speed, 4.50F);
ControlRock(G, 1);
FreeP(st);
break;
}
break;
case 6:
{
char *st = get_st(pdb_01_01);
PyMOL_CmdLoad(G->PyMOL, st, "string", "pdb", "test_01_06", 0, false, true, true,
false, PYMOL_DEFAULT);
SettingSetGlobal_f(G, cSetting_sweep_speed, 4.50F);
ControlRock(G, 1);
FreeP(st);
break;
}
break;
case 7:
{
char *st = get_st(mol_01_02);
ExecutiveLoad(G, st, -1, cLoadTypeMOLStr, "test_01_07", 0, -1, 0, 1, 0, 1,
NULL, 0, NULL);
ExecutiveSetRepVisib(G, "test_01_07", cRepCyl, 1);
ExecutiveSetRepVisib(G, "test_01_07", cRepLine, 0);
SettingSetGlobal_b(G, cSetting_valence, 1);
SettingSetGlobal_f(G, cSetting_sweep_speed, 0.25F);
SettingSetGlobal_f(G, cSetting_sweep_angle, 180.0F);
ControlRock(G, 1);
FreeP(st);
break;
}
break;
case 8:
{
char *st = get_st(mol_01_02);
ExecutiveLoad(G, st, -1, cLoadTypeMOLStr, "test_01_08", 0, -1, 0, 1, 0, 1,
NULL, 0, NULL);
SettingSetGlobal_b(G, cSetting_valence, 1);
ControlRock(G, 1);
FreeP(st);
break;
}
break;
case 9:
{
char *st = get_st(mol_01_02);
ExecutiveLoad(G, st, -1, cLoadTypeMOLStr, "test_01_09", 0, -1, 0, 1, 0, 1,
NULL, 0, NULL);
ExecutiveSetRepVisib(G, "test_01_09", cRepMesh, 1);
ExecutiveSetRepVisib(G, "test_01_09", cRepLine, 0);
SettingSetGlobal_b(G, cSetting_valence, 1);
SettingSetGlobal_f(G, cSetting_sweep_speed, 0.50F);
SettingSetGlobal_f(G, cSetting_sweep_angle, 90.0F);
ControlRock(G, 1);
FreeP(st);
break;
}
break;
}
}
return 1;
}