ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-2.0/src/types/RigidBodyStamp.cpp
(Generate patch)

Comparing trunk/OOPSE-2.0/src/types/RigidBodyStamp.cpp (file contents):
Revision 2204 by gezelter, Fri Apr 15 22:04:00 2005 UTC vs.
Revision 2469 by tim, Fri Dec 2 15:38:03 2005 UTC

# Line 45 | Line 45
45   #include <iostream>
46  
47   #include "types/RigidBodyStamp.hpp"
48 + namespace oopse {
49  
50 < char RigidBodyStamp::errMsg[500];
51 <
51 < RigidBodyStamp::RigidBodyStamp(){
52 <  
53 <  unhandled = NULL;
54 <  have_members = 0;
55 <  have_extras = 0;
56 <  n_members = 0;
57 <  which = 0;
58 <
50 > RigidBodyStamp::RigidBodyStamp(int index) : index_(index){
51 >    deprecatedKeywords_.insert("nMembers");  
52   }
53  
54 < RigidBodyStamp::~RigidBodyStamp(){
55 <  int i;
63 <  
64 <  if( unhandled != NULL ) delete unhandled;
65 <  
66 <  free(members);
67 <
54 > void RigidBodyStamp::validate() {
55 >    DataHolder::validate();
56   }
57 <
70 < char* RigidBodyStamp::assignString( char* lhs, char* rhs ){
71 <
72 <  if( unhandled == NULL ) unhandled = new LinkedAssign( lhs, rhs );
73 <  else unhandled->add( lhs, rhs );
74 <  have_extras = 1;
75 <  return NULL;
76 <
77 < }
78 <
79 < char* RigidBodyStamp::assignDouble( char* lhs, double rhs ){
80 <  int i;
81 <
82 <  if( !strcmp( lhs, "nMembers" ) ){
83 <    n_members = (int)rhs;
84 <    
85 <    if( have_members ){
86 <      sprintf( errMsg,
87 <               "RigidBodyStamp error, nMembers already declared"
88 <               " for this RigidBody.\n");
89 <      return strdup( errMsg );
90 <    }
91 <    have_members = 1;
92 <    members = (int *) calloc(n_members, sizeof(int));    
93 <  }
94 <  else {
95 <    if( unhandled == NULL ) unhandled = new LinkedAssign( lhs, rhs );
96 <    else unhandled->add( lhs, rhs );
97 <    have_extras = 1;
98 <  }
99 <  return NULL;
100 < }
101 <
102 < char* RigidBodyStamp::assignInt( char* lhs, int rhs ){
103 <  int i;
104 <
105 <  if( !strcmp( lhs, "nMembers" ) ){
106 <    n_members = rhs;
107 <
108 <    if( have_members ){
109 <      sprintf( errMsg,
110 <               "RigidBodyStamp error, nMembers already declared for"
111 <               " this RigidBody.\n");
112 <      return strdup( errMsg );
113 <    }
114 <    have_members = 1;
115 <    members = (int *) calloc(n_members, sizeof(int));    
116 <  }
117 <  else {  
118 <    if( unhandled == NULL ) unhandled = new LinkedAssign( lhs, rhs );
119 <    else unhandled->add( lhs, rhs );
120 <    have_extras = 1;
121 <  }
122 <  return NULL;
123 < }
124 <
125 < char* RigidBodyStamp::addMember( int atomIndex ){
126 <
127 <  if( have_members && which < n_members ) {
128 <    members[which] = atomIndex;
129 <    which++;
130 <  } else {
131 <    if( have_members ){
132 <      sprintf( errMsg, "RigidBodyStamp error, %d out of nMembers range",
133 <               which );
134 <      return strdup( errMsg );
135 <    }
136 <    else return strdup("RigidBodyStamp error, nMembers not given before"
137 <                       " member list declaration." );
138 <  }
139 <  return NULL;
140 < }
141 <
142 < char* RigidBodyStamp::checkMe( void ){
143 <
144 <  int i;
145 <  short int no_member;
146 <  
147 <  if( !have_members ){
148 <    return strdup( "RigidBodyStamp error. RigidBody contains no members." );
149 <  }
150 <
151 <  if (which < n_members) {
152 <    sprintf( errMsg,
153 <             "RigidBodyStamp error. Not all of the members were"
154 <             " declared for this RigidBody.");
155 <    return strdup( errMsg );
156 <  }
157 <  
158 <  return NULL;
159 <  
160 < }
57 > }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines