| 418 | |
| 419 | |
| 420 | int |
| 421 | ZeroLengthSection::sendSelf(int commitTag, Channel &theChannel) |
| 422 | { |
| 423 | int res = 0; |
| 424 | |
| 425 | // note: we don't check for dataTag == 0 for Element |
| 426 | // objects as that is taken care of in a commit by the Domain |
| 427 | // object - don't want to have to do the check if sending data |
| 428 | int dataTag = this->getDbTag(); |
| 429 | |
| 430 | // ZeroLengthSection packs its data into an ID and sends this to theChannel |
| 431 | // along with its dbTag and the commitTag passed in the arguments |
| 432 | static ID idData(9); |
| 433 | |
| 434 | idData(0) = this->getTag(); |
| 435 | idData(1) = dimension; |
| 436 | idData(2) = numDOF; |
| 437 | idData(3) = order; |
| 438 | idData(4) = connectedExternalNodes(0); |
| 439 | idData(5) = connectedExternalNodes(1); |
| 440 | idData(6) = theSection->getClassTag(); |
| 441 | |
| 442 | int secDbTag = theSection->getDbTag(); |
| 443 | if (secDbTag == 0) { |
| 444 | secDbTag = theChannel.getDbTag(); |
| 445 | if (secDbTag != 0) |
| 446 | theSection->setDbTag(secDbTag); |
| 447 | } |
| 448 | idData(7) = secDbTag; |
| 449 | idData(8) = useRayleighDamping; |
| 450 | |
| 451 | |
| 452 | res += theChannel.sendID(dataTag, commitTag, idData); |
| 453 | if (res < 0) { |
| 454 | opserr << "ZeroLengthSection::sendSelf -- failed to send ID data\n"; |
| 455 | |
| 456 | return res; |
| 457 | } |
| 458 | |
| 459 | // Send the 3x3 direction cosine matrix, have to send it since it is only set |
| 460 | // in the constructor and not setDomain() |
| 461 | res += theChannel.sendMatrix(dataTag, commitTag, transformation); |
| 462 | if (res < 0) { |
| 463 | opserr << "ZeroLengthSection::sendSelf -- failed to send transformation Matrix\n"; |
| 464 | return res; |
| 465 | } |
| 466 | |
| 467 | // Send the section |
| 468 | res += theSection->sendSelf(commitTag, theChannel); |
| 469 | if (res < 0) { |
| 470 | opserr << "ZeroLengthSection::sendSelf -- failed to send Section\n"; |
| 471 | return res; |
| 472 | } |
| 473 | |
| 474 | return res; |
| 475 | } |
| 476 | |
| 477 | int |
nothing calls this directly
no test coverage detected