ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libBASS/MoleculeStamp.cpp
(Generate patch)

Comparing trunk/OOPSE/libBASS/MoleculeStamp.cpp (file contents):
Revision 988 by gezelter, Tue Jan 27 19:37:48 2004 UTC vs.
Revision 1103 by gezelter, Tue Apr 13 16:25:13 2004 UTC

# Line 14 | Line 14 | MoleculeStamp::MoleculeStamp(){
14    n_bends = 0;
15    n_torsions = 0;
16    n_rigidbodies = 0;
17 +  n_integrable = 0;
18  
19    unhandled = NULL;
20    atoms = NULL;
# Line 246 | Line 247 | char* MoleculeStamp::addAtom( AtomStamp* the_atom, int
247   char* MoleculeStamp::addAtom( AtomStamp* the_atom, int atomIndex ){
248    
249    if( have_atoms && atomIndex < n_atoms ) atoms[atomIndex] = the_atom;
250 <  else{
250 >  else {
251      if( have_atoms ){
252        sprintf( errMsg, "MoleculeStamp error, %d out of nAtoms range",
253                 atomIndex );
# Line 264 | Line 265 | char* MoleculeStamp::addRigidBody( RigidBodyStamp* the
265    
266    if( have_rigidbodies && rigidBodyIndex < n_rigidbodies )
267      rigidBodies[rigidBodyIndex] = the_rigidbody;
268 <  else{
268 >  else {
269      if( have_rigidbodies ){
270        sprintf( errMsg, "MoleculeStamp error, %d out of nRigidBodies range",
271                 rigidBodyIndex );
# Line 365 | Line 366 | char* MoleculeStamp::checkMe( void ){
366      return strdup( errMsg );
367    }
368  
369 +
370 +  n_integrable = n_atoms;
371 +  for (i = 0; i < n_rigidbodies; i++)
372 +    n_integrable -= rigidBodies[i]->getNMembers();
373 +  
374 +  if (n_integrable <= 0 || n_integrable > n_atoms) {
375 +    sprintf( errMsg,
376 +             "MoleculeStamp error. n_integrable is either <= 0 or"
377 +             " greater than n_atoms in molecule \"%s\".\n", name );
378 +    return strdup( errMsg );
379 +  }
380 +
381    return NULL;
382   }  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines