| 552 | } |
| 553 | |
| 554 | Node * |
| 555 | ShadowSubdomain::removeNode(int tag) |
| 556 | { |
| 557 | int loc = theNodes.removeValue(tag); |
| 558 | if (loc < 0) |
| 559 | return 0; |
| 560 | else { // the node is there, go get it |
| 561 | // send a message to actor requesting node |
| 562 | msgData(0) = ShadowActorSubdomain_removeNode; |
| 563 | msgData(1) = tag; |
| 564 | this->sendID(msgData); |
| 565 | |
| 566 | |
| 567 | numNodes--; |
| 568 | // this->Domain::domainChange(); |
| 569 | // remove from external as well |
| 570 | loc = theExternalNodes.removeValue(tag); |
| 571 | if (loc >= 0) |
| 572 | numExternalNodes--; |
| 573 | |
| 574 | // receive the node from the actor |
| 575 | this->recvID(msgData); |
| 576 | int theType = msgData(0); |
| 577 | |
| 578 | if (theType == -1) |
| 579 | return 0; |
| 580 | |
| 581 | Node *theNode = theObjectBroker->getNewNode(theType); |
| 582 | if (theNode != 0) { |
| 583 | this->recvObject(*theNode); |
| 584 | if (loc >= 0) |
| 585 | numDOF -= theNode->getNumberDOF(); |
| 586 | } |
| 587 | return theNode; |
| 588 | } |
| 589 | } |
| 590 | |
| 591 | SP_Constraint * |
| 592 | ShadowSubdomain::removeSP_Constraint(int tag) |
nothing calls this directly
no test coverage detected