ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/freemol/branches/sync4pymol12/src/mengine/src/kopend.c
(Generate patch)
# Line 14 | Line 14
14  
15   void numeral(int,char *,int);
16   EXTERN int Missing_constants;
17 EXTERN FILE *errfile;
17  
18   void kopbend()
19   {
20     int i, j, ia,ib,ic,id, jj, ierr;
21     int ita,itb, itc,itd, itd_class;
22     int it, it1;
24   long mask5, mask6, mask8;
23     char pa[4],pb[4],pc[4],pd[4],pdc[4],pt[13],pt1[13],pt2[13];
24  
27   mask5 = 1L << SATMET_MASK;
28   mask6 = 1L << GT18e_MASK;
29   mask8 = 1L << SQPLAN_MASK;
30
25     if (ooplane_k.nopbend <= 0)
26     {
27         pot.use_opbend = FALSE;
# Line 106 | Line 100
100               }
101        }
102     }
109 //  look for sq planar metals
110   for (i=1; i <= natom; i++)
111   {
112       if (atom[i].type >= 300)
113       {
114           jj = 0;
115           for (j=0; j < MAXIAT; j++)
116           {
117               if (atom[i].iat[j] != 0)
118                jj++;
119           }
120           if (jj == 4)
121           {
122               strcpy(pt1,"  0"); strcat(pt1,"300"); strcat(pt1,"  0"); strcat(pt1,"  0");
123               if ( (atom[i].flags & mask5) && (atom[i].flags & mask6) && (atom[i].flags & mask8) )
124               {
125                  for (j=0; j < ooplane_k.nopbend; j++)
126                  {
127                     if (strcmp(pt,ooplane_k.iopb[j]) == 0 || strcmp(pt1,ooplane_k.iopb[j]) == 0)
128                     {
129                        angles.i13[angles.nang][0] = atom[i].iat[0];
130                        angles.i13[angles.nang][1] = i;
131                        angles.i13[angles.nang][2] = atom[i].iat[1];                        
132                        angles.i13[angles.nang][3] = atom[i].iat[2];                        
133                        angles.copb[angles.nang] = ooplane_k.copb[j];
134                        angles.angin[angles.nang] = TRUE;
135                        angles.nang++;
136                        angles.nopb++;
137                        angles.i13[angles.nang][0] = atom[i].iat[0];
138                        angles.i13[angles.nang][1] = i;
139                        angles.i13[angles.nang][2] = atom[i].iat[2];                        
140                        angles.i13[angles.nang][3] = atom[i].iat[1];                        
141                        angles.copb[angles.nang] = ooplane_k.copb[j];
142                        angles.angin[angles.nang] = TRUE;
143                        angles.nang++;
144                        angles.nopb++;
145                        angles.i13[angles.nang][0] = atom[i].iat[0];
146                        angles.i13[angles.nang][1] = i;
147                        angles.i13[angles.nang][2] = atom[i].iat[3];                        
148                        angles.i13[angles.nang][3] = atom[i].iat[1];                        
149                        angles.copb[angles.nang] = ooplane_k.copb[j];
150                        angles.angin[angles.nang] = TRUE;
151                        angles.nang++;
152                        angles.nopb++;
153
154                        angles.i13[angles.nang][0] = atom[i].iat[1];
155                        angles.i13[angles.nang][1] = i;
156                        angles.i13[angles.nang][2] = atom[i].iat[2];                        
157                        angles.i13[angles.nang][3] = atom[i].iat[0];                        
158                        angles.copb[angles.nang] = ooplane_k.copb[j];
159                        angles.angin[angles.nang] = TRUE;
160                        angles.nang++;
161                        angles.nopb++;
162                        angles.i13[angles.nang][0] = atom[i].iat[1];
163                        angles.i13[angles.nang][1] = i;
164                        angles.i13[angles.nang][2] = atom[i].iat[3];                        
165                        angles.i13[angles.nang][3] = atom[i].iat[0];                        
166                        angles.copb[angles.nang] = ooplane_k.copb[j];
167                        angles.angin[angles.nang] = TRUE;
168                        angles.nang++;
169                        angles.nopb++;
170                        
171                        angles.i13[angles.nang][0] = atom[i].iat[2];
172                        angles.i13[angles.nang][1] = i;
173                        angles.i13[angles.nang][2] = atom[i].iat[3];                        
174                        angles.i13[angles.nang][3] = atom[i].iat[0];                        
175                        angles.copb[angles.nang] = ooplane_k.copb[j];
176                        angles.angin[angles.nang] = TRUE;
177                        angles.nang++;
178                        angles.nopb++;
179                        break;
180                     }
181                  }
182               }
183           }
184       }
185   }
103   //
104     if (angles.nopb == 0)
105       pot.use_opbend = FALSE;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines