| 168 | } |
| 169 | |
| 170 | int DRMLoadPatternWrapper::recvSelf(int commitTag, Channel& theChannel, FEM_ObjectBroker& theBroker) |
| 171 | { |
| 172 | |
| 173 | int dbTag = this->getDbTag(); |
| 174 | |
| 175 | static ID i_Data(22); |
| 176 | if (theChannel.recvID(dbTag, commitTag, i_Data) < 0) { |
| 177 | opserr << "DRMLoadPatternWrapper::recvSelf L.176 failed to recvID \n"; |
| 178 | return -1; |
| 179 | } |
| 180 | |
| 181 | |
| 182 | this->setTag(i_Data(0)); |
| 183 | |
| 184 | this->fileData_size = i_Data(1); |
| 185 | |
| 186 | this->file_data = new int[this->fileData_size]; |
| 187 | for (int i=0; i<this->fileData_size; i++) |
| 188 | file_data[i] = i_Data(2+i); |
| 189 | this->files = i_Data(17); |
| 190 | this->num_steps = i_Data(18); |
| 191 | this->nd1 = i_Data(19); |
| 192 | this->nd2 = i_Data(20); |
| 193 | this->steps_to_cache = i_Data(21); |
| 194 | |
| 195 | this->myPattern = 0; |
| 196 | this->initialized = false; |
| 197 | |
| 198 | static Vector d_Data(11); |
| 199 | |
| 200 | if (theChannel.recvVector(dbTag, commitTag, d_Data) < 0) { |
| 201 | opserr << "DRMLoadPatternWrapper::recvSelf L.200 failed to recvVector \n"; |
| 202 | return -1; |
| 203 | } |
| 204 | |
| 205 | |
| 206 | this->dt = d_Data(0); |
| 207 | this->drm_box_crds = new double[6]; |
| 208 | for (int i=0; i<6; i++) |
| 209 | this->drm_box_crds[i] = d_Data(1+i); |
| 210 | this->eleD = new double[3]; |
| 211 | for (int i=0; i<3; i++) |
| 212 | this->eleD[i] = d_Data(7+i); |
| 213 | |
| 214 | this->factor = d_Data(10); |
| 215 | |
| 216 | static ID c_Data_sz(this->files+1); |
| 217 | if (theChannel.recvID(dbTag, commitTag, c_Data_sz) < 0) { |
| 218 | opserr << "DRMLoadPatternWrapper::recvSelf L.217 failed to recvID2 \n"; |
| 219 | return -1; |
| 220 | } |
| 221 | |
| 222 | |
| 223 | int ssz = c_Data_sz(this->files); |
| 224 | char *stor = new char[ssz]; |
| 225 | Message c_Data(stor, ssz); |
| 226 | |
| 227 | if (theChannel.recvMsg(dbTag, commitTag, c_Data) < 0) { |