| 1591 | } |
| 1592 | |
| 1593 | void Graph::copyInputs() |
| 1594 | { |
| 1595 | for (std::map<UiNodePtr, UiNodePtr>::iterator iter = _copiedNodes.begin(); iter != _copiedNodes.end(); ++iter) |
| 1596 | { |
| 1597 | int count = 0; |
| 1598 | UiNodePtr origNode = iter->first; |
| 1599 | UiNodePtr copyNode = iter->second; |
| 1600 | for (UiPinPtr pin : origNode->getInputPins()) |
| 1601 | { |
| 1602 | if (origNode->getConnectedNode(pin->getName()) && !_ctrlClick) |
| 1603 | { |
| 1604 | // If original node is connected check if connect node is in copied nodes |
| 1605 | if (_copiedNodes.find(origNode->getConnectedNode(pin->getName())) != _copiedNodes.end()) |
| 1606 | { |
| 1607 | // Set copy node connected to the value at this key |
| 1608 | createEdge(_copiedNodes[origNode->getConnectedNode(pin->getName())], copyNode, copyNode->getInputPins()[count]->getInput()); |
| 1609 | UiNodePtr upNode = _copiedNodes[origNode->getConnectedNode(pin->getName())]; |
| 1610 | if (copyNode->getNode() || copyNode->getNodeGraph()) |
| 1611 | { |
| 1612 | mx::InputPtr connectingInput = nullptr; |
| 1613 | copyNode->getInputPins()[count]->getInput()->copyContentFrom(pin->getInput()); |
| 1614 | |
| 1615 | // Update value to be empty |
| 1616 | if (copyNode->getNode() && copyNode->getNode()->getType() == mx::SURFACE_SHADER_TYPE_STRING) |
| 1617 | { |
| 1618 | if (upNode->getOutput()) |
| 1619 | { |
| 1620 | copyNode->getInputPins()[count]->getInput()->setConnectedOutput(upNode->getOutput()); |
| 1621 | } |
| 1622 | else if (upNode->getInput()) |
| 1623 | { |
| 1624 | |
| 1625 | copyNode->getInputPins()[count]->getInput()->setConnectedInterfaceName(upNode->getName()); |
| 1626 | } |
| 1627 | else |
| 1628 | { |
| 1629 | if (upNode->getNodeGraph()) |
| 1630 | { |
| 1631 | ed::PinId outputId = getOutputPin(copyNode, upNode, copyNode->getInputPins()[count]); |
| 1632 | for (UiPinPtr outPin : upNode->getOutputPins()) |
| 1633 | { |
| 1634 | if (outPin->getPinId() == outputId) |
| 1635 | { |
| 1636 | mx::OutputPtr outputs = upNode->getNodeGraph()->getOutput(outPin->getName()); |
| 1637 | copyNode->getInputPins()[count]->getInput()->setConnectedOutput(outputs); |
| 1638 | } |
| 1639 | } |
| 1640 | } |
| 1641 | else |
| 1642 | { |
| 1643 | copyNode->getInputPins()[count]->getInput()->setConnectedNode(upNode->getNode()); |
| 1644 | } |
| 1645 | } |
| 1646 | } |
| 1647 | else |
| 1648 | { |
| 1649 | if (upNode->getInput()) |
| 1650 | { |
nothing calls this directly
no test coverage detected