ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libBASS/MemberStamp.cpp
Revision: 993
Committed: Tue Jan 27 20:34:11 2004 UTC (20 years, 7 months ago) by gezelter
File size: 1663 byte(s)
Log Message:
Fix to new RigidBody stuff

File Contents

# User Rev Content
1 gezelter 988 #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 gezelter 993 memberAssigned = 0;
13 gezelter 988
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 gezelter 993 if( !strcmp( lhs, "index" ) ){
35 gezelter 988
36 gezelter 993 myIndex = (int)rhs;
37 gezelter 988
38 gezelter 993 if( memberAssigned ){
39 gezelter 988 sprintf( errMsg,
40 gezelter 993 "MemberStamp error, index already assigned "
41 gezelter 988 " for this Member.\n");
42     return strdup( errMsg );
43     }
44 gezelter 993 memberAssigned = 1;
45 gezelter 988 }
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 gezelter 993 if( !strcmp( lhs, "index" ) ){
56 gezelter 988
57 gezelter 993 myIndex = (int)rhs;
58 gezelter 988
59 gezelter 993 if( memberAssigned ){
60 gezelter 988 sprintf( errMsg,
61 gezelter 993 "MemberStamp error, index already assigned "
62 gezelter 988 " for this Member.\n");
63     return strdup( errMsg );
64     }
65 gezelter 993 memberAssigned = 1;
66 gezelter 988 }
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 gezelter 993 if( !memberAssigned ){
78     return strdup( "MemberStamp error. No index was assigned to this Member" );
79 gezelter 988 }
80    
81     return NULL;
82     }