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" |
210 |
|
if( the_event->err_msg != NULL ) return 0; |
211 |
|
|
212 |
|
addMolStamp( current_mol ); |
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::rigidBodyMember( event* the_event ){ |
264 |
+ |
|
265 |
+ |
current_member = new MemberStamp; |
266 |
+ |
|
267 |
+ |
the_event->err_msg = current_rigidbody->addMember( current_member, |
268 |
+ |
the_event->evt.blk_index ); |
269 |
+ |
|
270 |
+ |
if( the_event->err_msg != NULL ) return 0; |
271 |
|
return 1; |
272 |
+ |
|
273 |
|
} |
274 |
|
|
275 |
+ |
int MakeStamps::rigidBodyEnd( event* the_event ){ |
276 |
+ |
|
277 |
+ |
the_event->err_msg = current_rigidbody->checkMe(); |
278 |
+ |
if( the_event->err_msg != NULL ) return 0; |
279 |
+ |
|
280 |
+ |
return 1; |
281 |
+ |
} |
282 |
+ |
|
283 |
|
int MakeStamps::newAtom( event* the_event ){ |
284 |
|
|
285 |
|
current_atom = new AtomStamp; |
286 |
|
|
287 |
|
the_event->err_msg = current_mol->addAtom( current_atom, |
288 |
|
the_event->evt.blk_index ); |
289 |
+ |
|
290 |
|
if( the_event->err_msg != NULL ) return 0; |
291 |
|
return 1; |
292 |
|
} |
395 |
|
return 0; |
396 |
|
} |
397 |
|
|
398 |
< |
int MakeStamps::bondMember( event* the_event ){ |
398 |
> |
int MakeStamps::bondMembers( event* the_event ){ |
399 |
|
|
400 |
< |
current_bond->members( the_event->evt.mbr.a, |
401 |
< |
the_event->evt.mbr.b ); |
400 |
> |
current_bond->members( the_event->evt.mbrs.a, |
401 |
> |
the_event->evt.mbrs.b ); |
402 |
|
return 1; |
403 |
|
} |
404 |
|
|
458 |
|
return 0; |
459 |
|
} |
460 |
|
|
461 |
< |
int MakeStamps::bendMember( event* the_event ){ |
461 |
> |
int MakeStamps::bendMembers( event* the_event ){ |
462 |
|
|
463 |
< |
current_bend->members( the_event->evt.mbr.a, |
464 |
< |
the_event->evt.mbr.b, |
465 |
< |
the_event->evt.mbr.c ); |
463 |
> |
current_bend->members( the_event->evt.mbrs.a, |
464 |
> |
the_event->evt.mbrs.b, |
465 |
> |
the_event->evt.mbrs.c ); |
466 |
|
return 1; |
467 |
|
} |
468 |
|
|
522 |
|
return 0; |
523 |
|
} |
524 |
|
|
525 |
< |
int MakeStamps::torsionMember( event* the_event ){ |
525 |
> |
int MakeStamps::torsionMembers( event* the_event ){ |
526 |
|
|
527 |
< |
current_torsion->members( the_event->evt.mbr.a, |
528 |
< |
the_event->evt.mbr.b, |
529 |
< |
the_event->evt.mbr.c, |
530 |
< |
the_event->evt.mbr.d ); |
527 |
> |
current_torsion->members( the_event->evt.mbrs.a, |
528 |
> |
the_event->evt.mbrs.b, |
529 |
> |
the_event->evt.mbrs.c, |
530 |
> |
the_event->evt.mbrs.d ); |
531 |
|
return 1; |
532 |
|
} |
533 |
|
|
544 |
|
|
545 |
|
return 1; |
546 |
|
} |
547 |
+ |
|
548 |
+ |
int MakeStamps::newMember( event* the_event ){ |
549 |
+ |
|
550 |
+ |
current_member = new MemberStamp; |
551 |
+ |
|
552 |
+ |
the_event->err_msg = current_rigidbody->addMember( current_member, |
553 |
+ |
the_event->evt.blk_index ); |
554 |
+ |
if( the_event->err_msg != NULL ) return 0; |
555 |
+ |
|
556 |
+ |
return 1; |
557 |
+ |
} |
558 |
+ |
|
559 |
+ |
int MakeStamps::memberAssign( event* the_event ){ |
560 |
+ |
|
561 |
+ |
switch( the_event->evt.asmt.asmt_type ){ |
562 |
+ |
|
563 |
+ |
case STRING: |
564 |
+ |
current_member->assignString( the_event->evt.asmt.lhs, |
565 |
+ |
the_event->evt.asmt.rhs.sval ); |
566 |
+ |
return 1; |
567 |
+ |
break; |
568 |
+ |
|
569 |
+ |
case DOUBLE: |
570 |
+ |
current_member->assignDouble( the_event->evt.asmt.lhs, |
571 |
+ |
the_event->evt.asmt.rhs.dval ); |
572 |
+ |
return 1; |
573 |
+ |
break; |
574 |
+ |
|
575 |
+ |
case INT: |
576 |
+ |
current_member->assignInt( the_event->evt.asmt.lhs, |
577 |
+ |
the_event->evt.asmt.rhs.ival ); |
578 |
+ |
return 1; |
579 |
+ |
break; |
580 |
+ |
|
581 |
+ |
default: |
582 |
+ |
the_event->err_msg = strdup( "MakeStamp error. Invalid member" |
583 |
+ |
" assignment type" ); |
584 |
+ |
return 0; |
585 |
+ |
break; |
586 |
+ |
} |
587 |
+ |
return 0; |
588 |
+ |
} |
589 |
+ |
|
590 |
+ |
int MakeStamps::memberEnd( event* the_event ){ |
591 |
+ |
|
592 |
+ |
the_event->err_msg = current_member->checkMe(); |
593 |
+ |
if( the_event->err_msg != NULL ) return 0; |
594 |
+ |
|
595 |
+ |
return 1; |
596 |
+ |
} |