diff options
Diffstat (limited to 'source/blender/compositor/nodes/COM_IDMaskNode.cpp')
-rw-r--r-- | source/blender/compositor/nodes/COM_IDMaskNode.cpp | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/source/blender/compositor/nodes/COM_IDMaskNode.cpp b/source/blender/compositor/nodes/COM_IDMaskNode.cpp index 12a508c75f5..2c16616dc59 100644 --- a/source/blender/compositor/nodes/COM_IDMaskNode.cpp +++ b/source/blender/compositor/nodes/COM_IDMaskNode.cpp @@ -29,23 +29,24 @@ IDMaskNode::IDMaskNode(bNode *editorNode) : Node(editorNode) { /* pass */ } -void IDMaskNode::convertToOperations(ExecutionSystem *graph, CompositorContext *context) +void IDMaskNode::convertToOperations(NodeConverter &converter, const CompositorContext &context) const { bNode *bnode = this->getbNode(); + IDMaskOperation *operation; operation = new IDMaskOperation(); operation->setObjectIndex(bnode->custom1); + converter.addOperation(operation); - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph); - if (bnode->custom2 == 0 || context->getRenderData()->scemode & R_FULL_SAMPLE) { - this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0)); + converter.mapInputSocket(getInputSocket(0), operation->getInputSocket(0)); + if (bnode->custom2 == 0 || context.getRenderData()->scemode & R_FULL_SAMPLE) { + converter.mapOutputSocket(getOutputSocket(0), operation->getOutputSocket(0)); } else { AntiAliasOperation *antiAliasOperation = new AntiAliasOperation(); - addLink(graph, operation->getOutputSocket(), antiAliasOperation->getInputSocket(0)); - this->getOutputSocket(0)->relinkConnections(antiAliasOperation->getOutputSocket(0)); - graph->addOperation(antiAliasOperation); + converter.addOperation(antiAliasOperation); + + converter.addLink(operation->getOutputSocket(), antiAliasOperation->getInputSocket(0)); + converter.mapOutputSocket(getOutputSocket(0), antiAliasOperation->getOutputSocket(0)); } - graph->addOperation(operation); - } |