| 1491 | |
| 1492 | |
| 1493 | int |
| 1494 | Node::sendSelf(int cTag, Channel &theChannel) |
| 1495 | { |
| 1496 | int dataTag = this->getDbTag(); |
| 1497 | |
| 1498 | ID data(14); |
| 1499 | data(0) = this->getTag(); |
| 1500 | data(1) = numberDOF; |
| 1501 | |
| 1502 | // indicate whether vector quantaties have been formed |
| 1503 | if (disp == 0) data(2) = 1; else data(2) = 0; |
| 1504 | if (vel == 0) data(3) = 1; else data(3) = 0; |
| 1505 | if (accel == 0) data(4) = 1; else data(4) = 0; |
| 1506 | if (mass == 0) data(5) = 1; else data(5) = 0; |
| 1507 | if (unbalLoad == 0) data(6) = 1; else data(6) = 0; |
| 1508 | if (R == 0) |
| 1509 | data(12) = 1; |
| 1510 | else { |
| 1511 | data(12) = 0; |
| 1512 | data(13) = R->noCols(); |
| 1513 | } |
| 1514 | |
| 1515 | data(7) = Crd->Size(); |
| 1516 | |
| 1517 | if (dbTag1 == 0) |
| 1518 | dbTag1 = theChannel.getDbTag(); |
| 1519 | if (dbTag2 == 0) |
| 1520 | dbTag2 = theChannel.getDbTag(); |
| 1521 | if (dbTag3 == 0) |
| 1522 | dbTag3 = theChannel.getDbTag(); |
| 1523 | if (dbTag4 == 0) |
| 1524 | dbTag4 = theChannel.getDbTag(); |
| 1525 | |
| 1526 | data(8) = dbTag1; |
| 1527 | data(9) = dbTag2; |
| 1528 | data(10) = dbTag3; |
| 1529 | data(11) = dbTag4; |
| 1530 | |
| 1531 | int res = 0; |
| 1532 | |
| 1533 | res = theChannel.sendID(dataTag, cTag, data); |
| 1534 | if (res < 0) { |
| 1535 | opserr << " Node::sendSelf() - failed to send ID data\n"; |
| 1536 | return res; |
| 1537 | } |
| 1538 | |
| 1539 | res = theChannel.sendVector(dataTag, cTag, *Crd); |
| 1540 | if (res < 0) { |
| 1541 | opserr << " Node::sendSelf() - failed to send Vecor data\n"; |
| 1542 | return res; |
| 1543 | } |
| 1544 | |
| 1545 | if (commitDisp != 0) { |
| 1546 | res = theChannel.sendVector(dbTag1, cTag, *commitDisp); |
| 1547 | if (res < 0) { |
| 1548 | opserr << " Node::sendSelf() - failed to send Disp data\n"; |
| 1549 | return res; |
| 1550 | } |
no test coverage detected