| 98 |
|
break; |
| 99 |
|
|
| 100 |
|
case ATOM_HEAD: |
| 101 |
< |
if( the_namespc.type != MOLECULE_HEAD && the_namespc.type != RIGIDBODY_HEAD ){ |
| 101 |
> |
if( the_namespc.type != MOLECULE_HEAD ){ |
| 102 |
|
print_tree_error( the_node, |
| 103 |
< |
"The atom block is not in a molecule or rigidBody namespace" ); |
| 103 |
> |
"The atom block is not in a molecule namespace" ); |
| 104 |
|
} |
| 105 |
|
else{ |
| 106 |
|
init_atom( the_node->index ); |
| 113 |
|
case RIGIDBODY_HEAD: |
| 114 |
|
if( the_namespc.type != MOLECULE_HEAD ){ |
| 115 |
|
print_tree_error( the_node, |
| 116 |
< |
"The rigid body block is not in a molecule namespace" ); |
| 116 |
> |
"The RigidBody block is not in a Molecule namespace" ); |
| 117 |
|
} |
| 118 |
|
else{ |
| 119 |
|
init_rigidbody( the_node->index ); |
| 122 |
|
walk_down( the_node->stmt_list, current_namespc ); |
| 123 |
|
} |
| 124 |
|
break; |
| 125 |
+ |
|
| 126 |
+ |
case CUTOFFGROUP_HEAD: |
| 127 |
+ |
if( the_namespc.type != CUTOFFGROUP_HEAD ){ |
| 128 |
+ |
print_tree_error( the_node, |
| 129 |
+ |
"The CutoffGroup block is not in a Molecule namespace" ); |
| 130 |
+ |
} |
| 131 |
+ |
else{ |
| 132 |
+ |
init_cutoffgroup( the_node->index ); |
| 133 |
+ |
current_namespc.index = the_node->index; |
| 134 |
+ |
current_namespc.type = the_node->type; |
| 135 |
+ |
walk_down( the_node->stmt_list, current_namespc ); |
| 136 |
+ |
} |
| 137 |
+ |
break; |
| 138 |
|
|
| 139 |
|
case BOND_HEAD: |
| 140 |
|
if( the_namespc.type != MOLECULE_HEAD ){ |
| 205 |
|
switch( the_namespc.type ){ |
| 206 |
|
case BOND_HEAD: // fall through |
| 207 |
|
case BEND_HEAD: // fall through |
| 208 |
< |
case TORSION_HEAD: // same for the first three |
| 208 |
> |
case TORSION_HEAD: |
| 209 |
|
case RIGIDBODY_HEAD: |
| 210 |
+ |
case CUTOFFGROUP_HEAD: // same for the first four |
| 211 |
|
init_members( the_node, the_namespc ); |
| 212 |
|
break; |
| 213 |
|
|
| 214 |
|
default: |
| 215 |
|
print_tree_error( the_node, |
| 216 |
|
"Members statement not in a bond, bend, " |
| 217 |
< |
"torsion, or rigidBody." ); |
| 217 |
> |
"torsion, RigidBody, or CutoffGroup" ); |
| 218 |
|
break; |
| 219 |
|
} |
| 220 |
|
break; |
| 240 |
|
break; |
| 241 |
|
|
| 242 |
|
case POSITION_STMT: |
| 243 |
< |
if( the_namespc.type != ATOM_HEAD && the_namespc.type != RIGIDBODY_HEAD){ |
| 243 |
> |
if( the_namespc.type != ATOM_HEAD ){ |
| 244 |
|
print_tree_error( the_node, |
| 245 |
|
"position statement is not located in an " |
| 246 |
< |
"atom or rigidBody block" ); |
| 246 |
> |
"atom block" ); |
| 247 |
|
} |
| 248 |
|
|
| 249 |
|
init_position( the_node, the_namespc ); |
| 250 |
|
break; |
| 251 |
|
|
| 252 |
|
case ORIENTATION_STMT: |
| 253 |
< |
if( the_namespc.type != ATOM_HEAD && the_namespc.type != RIGIDBODY_HEAD){ |
| 253 |
> |
if( the_namespc.type != ATOM_HEAD ){ |
| 254 |
|
print_tree_error( the_node, |
| 255 |
|
"orientation statement is not located in an " |
| 256 |
< |
"atom or rigidBody block" ); |
| 256 |
> |
"atom block" ); |
| 257 |
|
} |
| 258 |
|
|
| 259 |
|
init_orientation( the_node, the_namespc ); |
| 310 |
|
"Parse tree error: rigidBody head node error -> %s\n", |
| 311 |
|
err_msg ); |
| 312 |
|
break; |
| 313 |
+ |
|
| 314 |
+ |
case CUTOFFGROUP_HEAD: |
| 315 |
+ |
sprintf( painCave.errMsg, |
| 316 |
+ |
"Parse tree error: CutoffGroup head node error -> %s\n", |
| 317 |
+ |
err_msg ); |
| 318 |
+ |
break; |
| 319 |
|
|
| 320 |
|
case ATOM_HEAD: |
| 321 |
|
sprintf( painCave.errMsg, |