| 598 | } // PrecompNodePrivate::createReadNode |
| 599 | |
| 600 | void |
| 601 | PrecompNodePrivate::refreshOutputNode() |
| 602 | { |
| 603 | bool usePreRender = enablePreRenderKnob.lock()->getValue(); |
| 604 | NodePtr outputnode; |
| 605 | |
| 606 | if (!usePreRender) { |
| 607 | boost::shared_ptr<KnobString> outputNodeKnob = outputNodeNameKnob.lock(); |
| 608 | std::string outputNodeName = outputNodeKnob->getValue(); |
| 609 | |
| 610 | outputnode = app.lock()->getProject()->getNodeByFullySpecifiedName(outputNodeName); |
| 611 | } |
| 612 | |
| 613 | //Clear any persistent message set |
| 614 | _publicInterface->clearPersistentMessage(false); |
| 615 | |
| 616 | { |
| 617 | QMutexLocker k(&dataMutex); |
| 618 | outputNode = outputnode; |
| 619 | } |
| 620 | |
| 621 | ///Notify outputs that the node has changed |
| 622 | std::map<NodePtr, int> outputs; |
| 623 | NodePtr thisNode = _publicInterface->getNode(); |
| 624 | thisNode->getOutputsConnectedToThisNode(&outputs); |
| 625 | |
| 626 | for (std::map<NodePtr, int>::iterator it = outputs.begin(); it != outputs.end(); ++it) { |
| 627 | it->first->onInputChanged(it->second); |
| 628 | } |
| 629 | } |
| 630 | |
| 631 | void |
| 632 | PrecompNodePrivate::setFirstAndLastFrame() |
no test coverage detected