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

Comparing trunk/OOPSE/libBASS/MakeStamps.cpp (file contents):
Revision 747 by gezelter, Fri Sep 5 21:28:52 2003 UTC vs.
Revision 993 by gezelter, Tue Jan 27 20:34:11 2004 UTC

# Line 1 | Line 1
1 < #include <cstdlib>
2 < #include <cstdio>
1 > #include <stdlib.h>
2 > #include <stdio.h>
3 > #include <string.h>
4  
5   #include "MakeStamps.hpp"
6   #include "MoleculeStamp.hpp"
7 + #include "RigidBodyStamp.hpp"
8   #include "simError.h"
9   #ifdef IS_MPI
10   #include "mpiBASS.h"
# Line 211 | Line 213 | int MakeStamps::moleculeEnd( event* the_event ){
213    return 1;
214   }
215  
216 + int MakeStamps::newRigidBody( event* the_event ){
217 +  
218 +  current_rigidbody = new RigidBodyStamp;
219 +  
220 +  the_event->err_msg = current_mol->addRigidBody( current_rigidbody,
221 +                                                  the_event->evt.blk_index );
222 +  if( the_event->err_msg != NULL ) return 0;
223 +  return 1;
224 + }
225 +
226 + int MakeStamps::rigidBodyAssign( event* the_event ){
227 +
228 +  switch( the_event->evt.asmt.asmt_type ){
229 +    
230 +  case STRING:
231 +    the_event->err_msg =
232 +      current_rigidbody->assignString( the_event->evt.asmt.lhs,
233 +                                       the_event->evt.asmt.rhs.sval );
234 +    if( the_event->err_msg != NULL ) return 0;
235 +    return 1;
236 +    break;
237 +    
238 +  case DOUBLE:
239 +    the_event->err_msg =
240 +      current_rigidbody->assignDouble( the_event->evt.asmt.lhs,
241 +                                       the_event->evt.asmt.rhs.dval );
242 +    if( the_event->err_msg != NULL ) return 0;
243 +    return 1;    
244 +    break;
245 +
246 +  case INT:
247 +    the_event->err_msg =
248 +      current_rigidbody->assignInt( the_event->evt.asmt.lhs,
249 +                                    the_event->evt.asmt.rhs.ival );
250 +    if( the_event->err_msg != NULL ) return 0;
251 +    return 1;
252 +    break;
253 +    
254 +  default:
255 +    the_event->err_msg = strdup( "MakeStamp error. Invalid rigidBody"
256 +                                 " assignment type" );
257 +    return 0;
258 +    break;
259 +  }
260 +  return 0;
261 + }
262 +
263 + int MakeStamps::rigidBodyEnd( event* the_event ){
264 +
265 +  the_event->err_msg = current_rigidbody->checkMe();
266 +  if( the_event->err_msg != NULL ) return 0;
267 +  
268 +  return 1;
269 + }
270 +
271   int MakeStamps::newAtom( event* the_event ){
272    
273    current_atom = new AtomStamp;
274    
275    the_event->err_msg = current_mol->addAtom( current_atom,
276                                               the_event->evt.blk_index );
277 +  
278    if( the_event->err_msg != NULL ) return 0;
279    return 1;
280   }
# Line 325 | Line 383 | int MakeStamps::bondAssign( event* the_event ){
383    return 0;
384   }
385  
386 < int MakeStamps::bondMember( event* the_event ){
386 > int MakeStamps::bondMembers( event* the_event ){
387  
388 <  current_bond->members( the_event->evt.mbr.a,
389 <                         the_event->evt.mbr.b );
388 >  current_bond->members( the_event->evt.mbrs.a,
389 >                         the_event->evt.mbrs.b );
390    return 1;
391   }
392  
# Line 388 | Line 446 | int MakeStamps::bendAssign( event* the_event ){
446    return 0;
447   }
448  
449 < int MakeStamps::bendMember( event* the_event ){
449 > int MakeStamps::bendMembers( event* the_event ){
450  
451 <  current_bend->members( the_event->evt.mbr.a,
452 <                         the_event->evt.mbr.b,
453 <                         the_event->evt.mbr.c );
451 >  current_bend->members( the_event->evt.mbrs.a,
452 >                         the_event->evt.mbrs.b,
453 >                         the_event->evt.mbrs.c );
454    return 1;
455   }
456  
# Line 452 | Line 510 | int MakeStamps::torsionAssign( event* the_event ){
510    return 0;
511   }
512  
513 < int MakeStamps::torsionMember( event* the_event ){
513 > int MakeStamps::torsionMembers( event* the_event ){
514  
515 <  current_torsion->members( the_event->evt.mbr.a,
516 <                            the_event->evt.mbr.b,
517 <                            the_event->evt.mbr.c,
518 <                            the_event->evt.mbr.d );
515 >  current_torsion->members( the_event->evt.mbrs.a,
516 >                            the_event->evt.mbrs.b,
517 >                            the_event->evt.mbrs.c,
518 >                            the_event->evt.mbrs.d );
519    return 1;
520   }
521  
# Line 474 | Line 532 | int MakeStamps::torsionEnd( event* the_event ){
532    
533    return 1;
534   }
535 +
536 + int MakeStamps::newMember( event* the_event ){
537 +  
538 +  current_member = new MemberStamp;
539 +  
540 +  the_event->err_msg = current_rigidbody->addMember( current_member,
541 +                                                     the_event->evt.blk_index );
542 +  if( the_event->err_msg != NULL ) return 0;
543 +  
544 +  return 1;
545 + }
546 +
547 + int MakeStamps::memberAssign( event* the_event ){
548 +  
549 +  switch( the_event->evt.asmt.asmt_type ){
550 +    
551 +  case STRING:
552 +    current_member->assignString( the_event->evt.asmt.lhs,
553 +                                  the_event->evt.asmt.rhs.sval );
554 +    return 1;
555 +    break;
556 +    
557 +  case DOUBLE:
558 +    current_member->assignDouble( the_event->evt.asmt.lhs,
559 +                                  the_event->evt.asmt.rhs.dval );
560 +    return 1;
561 +    break;
562 +    
563 +  case INT:
564 +    current_member->assignInt( the_event->evt.asmt.lhs,
565 +                               the_event->evt.asmt.rhs.ival );
566 +    return 1;
567 +    break;
568 +    
569 +  default:
570 +    the_event->err_msg = strdup( "MakeStamp error. Invalid member"
571 +                                 " assignment type" );
572 +    return 0;
573 +    break;
574 +  }
575 +  return 0;
576 + }
577 +
578 + int MakeStamps::memberEnd( event* the_event ){
579 +  
580 +  the_event->err_msg = current_member->checkMe();
581 +  if( the_event->err_msg != NULL ) return 0;
582 +  
583 +  return 1;
584 + }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines