| 390 | |
| 391 | |
| 392 | int |
| 393 | MP_Constraint::recvSelf(int cTag, Channel &theChannel, |
| 394 | FEM_ObjectBroker &theBroker) |
| 395 | { |
| 396 | int dataTag = this->getDbTag(); |
| 397 | static ID data(10); |
| 398 | int result = theChannel.recvID(dataTag, cTag, data); |
| 399 | if (result < 0) { |
| 400 | opserr << "WARNING MP_Constraint::recvSelf - error receiving ID data\n"; |
| 401 | return result; |
| 402 | } |
| 403 | |
| 404 | this->setTag(data(0)); |
| 405 | nodeRetained = data(1); |
| 406 | nodeConstrained = data(2); |
| 407 | int numRows = data(3); |
| 408 | int numCols = data(4); |
| 409 | dbTag1 = data(7); |
| 410 | dbTag2 = data(8); |
| 411 | nextTag = data(9); |
| 412 | |
| 413 | if (numRows != 0 && numCols != 0) { |
| 414 | constraint = new Matrix(numRows,numCols); |
| 415 | |
| 416 | int result = theChannel.recvMatrix(dataTag, cTag, *constraint); |
| 417 | if (result < 0) { |
| 418 | opserr << "WARNING MP_Constraint::recvSelf "; |
| 419 | opserr << "- error receiving Matrix data\n"; |
| 420 | return result; |
| 421 | } |
| 422 | } |
| 423 | int size = data(5); |
| 424 | if (size != 0) { |
| 425 | constrDOF = new ID(size); |
| 426 | int result = theChannel.recvID(dbTag1, cTag, *constrDOF); |
| 427 | if (result < 0) { |
| 428 | opserr << "WARNING MP_Constraint::recvSelf "; |
| 429 | opserr << "- error receiving constrained data\n"; |
| 430 | return result; |
| 431 | } |
| 432 | } |
| 433 | |
| 434 | size = data(6); |
| 435 | if (size != 0) { |
| 436 | retainDOF = new ID(size); |
| 437 | int result = theChannel.recvID(dbTag2, cTag, *retainDOF); |
| 438 | if (result < 0) { |
| 439 | opserr << "WARNING MP_Retainaint::recvSelf "; |
| 440 | opserr << "- error receiving retained data\n"; |
| 441 | return result; |
| 442 | } |
| 443 | } |
| 444 | |
| 445 | return 0; |
| 446 | } |
| 447 | |
| 448 | |
| 449 |
nothing calls this directly
no test coverage detected