ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libBASS/MemberStamp.cpp
Revision: 988
Committed: Tue Jan 27 19:37:48 2004 UTC (20 years, 5 months ago) by gezelter
File size: 1644 byte(s)
Log Message:
More BASS changes to do new rigidBody scheme

File Contents

# Content
1 #include <stdlib.h>
2 #include <stdio.h>
3 #include <string.h>
4 #include <iostream>
5
6 #include "MemberStamp.hpp"
7
8 char MemberStamp::errMsg[500];
9
10 MemberStamp::MemberStamp(){
11
12 atomAssigned = 0;
13
14 unhandled = NULL;
15 have_extras = 0;
16 }
17
18 MemberStamp::~MemberStamp(){
19
20 if( unhandled != NULL ) delete unhandled;
21 }
22
23 char* MemberStamp::assignString( char* lhs, char* rhs ){
24
25 if( unhandled == NULL ) unhandled = new LinkedAssign( lhs, rhs );
26 else unhandled->add( lhs, rhs );
27 have_extras = 1;
28
29 return NULL;
30 }
31
32 char* MemberStamp::assignDouble( char* lhs, double rhs ){
33
34 if( !strcmp( lhs, "atom" ) ){
35
36 myAtom = (int)rhs;
37
38 if( atomAssigned ){
39 sprintf( errMsg,
40 "MemberStamp error, atom already assigned "
41 " for this Member.\n");
42 return strdup( errMsg );
43 }
44 atomAssigned = 1;
45 }
46 else {
47 if( unhandled == NULL ) unhandled = new LinkedAssign( lhs, rhs );
48 else unhandled->add( lhs, rhs );
49 have_extras = 1;
50 }
51 return NULL;
52 }
53
54 char* MemberStamp::assignInt( char* lhs, int rhs ){
55 if( !strcmp( lhs, "atom" ) ){
56
57 myAtom = (int)rhs;
58
59 if( atomAssigned ){
60 sprintf( errMsg,
61 "MemberStamp error, atom already assigned "
62 " for this Member.\n");
63 return strdup( errMsg );
64 }
65 atomAssigned = 1;
66 }
67 else {
68 if( unhandled == NULL ) unhandled = new LinkedAssign( lhs, rhs );
69 else unhandled->add( lhs, rhs );
70 have_extras = 1;
71 }
72 return NULL;
73 }
74
75 char* MemberStamp::checkMe(){
76
77 if( !atomAssigned ){
78 return strdup( "MemberStamp error. No atom was assigned to this Member" );
79 }
80
81 return NULL;
82 }