cleanup relink code

This commit is contained in:
Jeroen Bakker 2012-05-23 12:45:07 +00:00
parent 487fa055de
commit 9b45f607c9
62 changed files with 192 additions and 198 deletions

@ -127,60 +127,8 @@ void InputSocket::fireActualDataTypeSet()
this->getNode()->notifyActualDataTypeSet(this, this->getActualDataType());
}
void InputSocket::relinkConnections(InputSocket *relinkToSocket)
{
this->relinkConnections(relinkToSocket, false, -1, NULL);
}
void InputSocket::relinkConnections(InputSocket *relinkToSocket, bool autoconnect, int editorNodeInputSocketIndex, bool duplicate, ExecutionSystem *graph)
{
if (!duplicate) {
this->relinkConnections(relinkToSocket, autoconnect, editorNodeInputSocketIndex, graph);
}
else {
if (!this->isConnected() && autoconnect) {
Node *node = (Node*)this->getNode();
switch (this->getActualDataType()) {
case COM_DT_UNKNOWN:
case COM_DT_COLOR:
node->addSetColorOperation(graph, relinkToSocket, editorNodeInputSocketIndex);
break;
case COM_DT_VECTOR:
node->addSetVectorOperation(graph, relinkToSocket, editorNodeInputSocketIndex);
break;
case COM_DT_VALUE:
node->addSetValueOperation(graph, relinkToSocket, editorNodeInputSocketIndex);
break;
}
return;
}
SocketConnection * newConnection = new SocketConnection();
OutputSocket * fromSocket = this->getConnection()->getFromSocket();
newConnection->setToSocket(relinkToSocket);
newConnection->setFromSocket(fromSocket);
relinkToSocket->setConnection(newConnection);
fromSocket->addConnection(newConnection);
graph->addSocketConnection(newConnection);
}
}
void InputSocket::relinkConnections(InputSocket *relinkToSocket, bool autoconnect, int editorNodeInputSocketIndex, ExecutionSystem *graph)
{
if (!isConnected()) {
if (autoconnect) {
Node *node = (Node*)this->getNode();
switch (this->getActualDataType()) {
case COM_DT_UNKNOWN:
case COM_DT_COLOR:
node->addSetColorOperation(graph, relinkToSocket, editorNodeInputSocketIndex);
break;
case COM_DT_VECTOR:
node->addSetVectorOperation(graph, relinkToSocket, editorNodeInputSocketIndex);
break;
case COM_DT_VALUE:
node->addSetValueOperation(graph, relinkToSocket, editorNodeInputSocketIndex);
break;
}
}
return;
}
SocketConnection *connection = this->getConnection();
@ -189,6 +137,54 @@ void InputSocket::relinkConnections(InputSocket *relinkToSocket, bool autoconnec
this->setConnection(NULL);
}
void InputSocket::relinkConnectionsDuplicate(InputSocket *relinkToSocket, int editorNodeInputSocketIndex, ExecutionSystem *graph)
{
if (!this->isConnected()) {
Node *node = (Node*)this->getNode();
switch (this->getActualDataType()) {
case COM_DT_UNKNOWN:
case COM_DT_COLOR:
node->addSetColorOperation(graph, relinkToSocket, editorNodeInputSocketIndex);
break;
case COM_DT_VECTOR:
node->addSetVectorOperation(graph, relinkToSocket, editorNodeInputSocketIndex);
break;
case COM_DT_VALUE:
node->addSetValueOperation(graph, relinkToSocket, editorNodeInputSocketIndex);
break;
}
return;
}
SocketConnection * newConnection = new SocketConnection();
OutputSocket * fromSocket = this->getConnection()->getFromSocket();
newConnection->setToSocket(relinkToSocket);
newConnection->setFromSocket(fromSocket);
relinkToSocket->setConnection(newConnection);
fromSocket->addConnection(newConnection);
graph->addSocketConnection(newConnection);
}
void InputSocket::relinkConnections(InputSocket *relinkToSocket, int editorNodeInputSocketIndex, ExecutionSystem *graph)
{
if (isConnected()) {
relinkConnections(relinkToSocket);
} else {
Node *node = (Node*)this->getNode();
switch (this->getActualDataType()) {
case COM_DT_UNKNOWN:
case COM_DT_COLOR:
node->addSetColorOperation(graph, relinkToSocket, editorNodeInputSocketIndex);
break;
case COM_DT_VECTOR:
node->addSetVectorOperation(graph, relinkToSocket, editorNodeInputSocketIndex);
break;
case COM_DT_VALUE:
node->addSetValueOperation(graph, relinkToSocket, editorNodeInputSocketIndex);
break;
}
}
}
const ChannelInfo *InputSocket::getChannelInfo(const int channelnumber)
{
if (this->isConnected() && this->connection->getFromSocket()) {

@ -126,17 +126,15 @@ public:
* @param editorNodeInputSocketIndex index of the socket number of the bNode (used to retrieve the value for autoconnection)
* @param system ExecutionSystem to update to
*/
void relinkConnections(InputSocket *relinkToSocket, bool autoconnect, int editorNodeInputSocketIndex, ExecutionSystem *system);
void relinkConnections(InputSocket *relinkToSocket, int editorNodeInputSocketIndex, ExecutionSystem *system);
/**
* @brief move all connections of this input socket to another socket
* @param relinkToSocket the socket to move to connections to
* @param autoconnect will a set operation be added when no connections exist
* @param editorNodeInputSocketIndex index of the socket number of the bNode (used to retrieve the value for autoconnection)
* @param duplicate instead of move do a copy of the connection.
* @param system ExecutionSystem to update to
*/
void relinkConnections(InputSocket *relinkToSocket, bool autoconnect, int editorNodeInputSocketIndex, bool duplicate, ExecutionSystem *system);
void relinkConnectionsDuplicate(InputSocket *relinkToSocket, int editorNodeInputSocketIndex, ExecutionSystem *system);
/**
* @brief set the resize mode

@ -64,9 +64,9 @@ void AlphaOverNode::convertToOperations(ExecutionSystem *graph, CompositorContex
else {
convertProg->setResolutionInputSocketIndex(0);
}
valueSocket->relinkConnections(convertProg->getInputSocket(0), true, 0, graph);
color1Socket->relinkConnections(convertProg->getInputSocket(1), true, 1, graph);
color2Socket->relinkConnections(convertProg->getInputSocket(2), true, 2, graph);
valueSocket->relinkConnections(convertProg->getInputSocket(0), 0, graph);
color1Socket->relinkConnections(convertProg->getInputSocket(1), 1, graph);
color2Socket->relinkConnections(convertProg->getInputSocket(2), 2, graph);
outputSocket->relinkConnections(convertProg->getOutputSocket(0));
graph->addOperation(convertProg);
}

@ -36,8 +36,8 @@ void BilateralBlurNode::convertToOperations(ExecutionSystem *graph, CompositorCo
BilateralBlurOperation *operation = new BilateralBlurOperation();
operation->setQuality(context->getQuality());
operation->setData(data);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, graph);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, graph);
this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket());
graph->addOperation(operation);
}

@ -50,8 +50,8 @@ void BlurNode::convertToOperations(ExecutionSystem *graph, CompositorContext * c
if (data->filtertype == R_FILTER_FAST_GAUSS) {
FastGaussianBlurOperation *operationfgb = new FastGaussianBlurOperation();
operationfgb->setData(data);
this->getInputSocket(0)->relinkConnections(operationfgb->getInputSocket(0), true, 0, graph);
this->getInputSocket(1)->relinkConnections(operationfgb->getInputSocket(1), true, 1, graph);
this->getInputSocket(0)->relinkConnections(operationfgb->getInputSocket(0), 0, graph);
this->getInputSocket(1)->relinkConnections(operationfgb->getInputSocket(1), 1, graph);
this->getOutputSocket(0)->relinkConnections(operationfgb->getOutputSocket(0));
graph->addOperation(operationfgb);
addPreviewOperation(graph, operationfgb->getOutputSocket(), 5);
@ -60,8 +60,8 @@ void BlurNode::convertToOperations(ExecutionSystem *graph, CompositorContext * c
GaussianXBlurOperation *operationx = new GaussianXBlurOperation();
operationx->setData(data);
operationx->setQuality(quality);
this->getInputSocket(0)->relinkConnections(operationx->getInputSocket(0), true, 0, graph);
this->getInputSocket(1)->relinkConnections(operationx->getInputSocket(1), true, 1, graph);
this->getInputSocket(0)->relinkConnections(operationx->getInputSocket(0), 0, graph);
this->getInputSocket(1)->relinkConnections(operationx->getInputSocket(1), 1, graph);
graph->addOperation(operationx);
GaussianYBlurOperation *operationy = new GaussianYBlurOperation();
operationy->setData(data);
@ -75,8 +75,8 @@ void BlurNode::convertToOperations(ExecutionSystem *graph, CompositorContext * c
else {
GaussianBokehBlurOperation *operation = new GaussianBokehBlurOperation();
operation->setData(data);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, graph);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, graph);
operation->setQuality(quality);
graph->addOperation(operation);
this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket());

@ -45,9 +45,9 @@ void BokehBlurNode::convertToOperations(ExecutionSystem *graph, CompositorContex
converter->setCameraObject(camob);
operation->setMaxBlur(16);
operation->setQuality(context->getQuality());
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, graph);
this->getInputSocket(2)->relinkConnections(converter->getInputSocket(0), true, 2, graph);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, graph);
this->getInputSocket(2)->relinkConnections(converter->getInputSocket(0), 2, graph);
addLink(graph, converter->getOutputSocket(), operation->getInputSocket(2));
graph->addOperation(operation);
graph->addOperation(converter);
@ -55,9 +55,9 @@ void BokehBlurNode::convertToOperations(ExecutionSystem *graph, CompositorContex
}
else {
BokehBlurOperation *operation = new BokehBlurOperation();
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, graph);
this->getInputSocket(3)->relinkConnections(operation->getInputSocket(2), true, 3, graph);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, graph);
this->getInputSocket(3)->relinkConnections(operation->getInputSocket(2), 3, graph);
operation->setSize(((bNodeSocketValueFloat*)this->getInputSocket(2)->getbNodeSocket()->default_value)->value);
operation->setQuality(context->getQuality());
graph->addOperation(operation);

@ -34,8 +34,8 @@ void BoxMaskNode::convertToOperations(ExecutionSystem *graph, CompositorContext
BoxMaskOperation *operation;
operation = new BoxMaskOperation();
operation->setData((NodeBoxMask*)this->getbNode()->storage);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, graph);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, graph);
this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0));
operation->setMaskType(this->getbNode()->custom1);

@ -32,9 +32,9 @@ BrightnessNode::BrightnessNode(bNode *editorNode): Node(editorNode)
void BrightnessNode::convertToOperations(ExecutionSystem *graph, CompositorContext * context)
{
BrightnessOperation *operation = new BrightnessOperation();
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0),true, 0, graph);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1),true, 1, graph);
this->getInputSocket(2)->relinkConnections(operation->getInputSocket(2),true, 2, graph);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, graph);
this->getInputSocket(2)->relinkConnections(operation->getInputSocket(2), 2, graph);
this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0));
graph->addOperation(operation);
}

@ -64,13 +64,13 @@ void ChannelMatteNode::convertToOperations(ExecutionSystem *graph, CompositorCon
SetAlphaOperation *operationAlpha = new SetAlphaOperation();
if (convert) {
inputSocketImage->relinkConnections(convert->getInputSocket(0), true, 0, graph);
inputSocketImage->relinkConnections(convert->getInputSocket(0), 0, graph);
addLink(graph, convert->getOutputSocket(), operation->getInputSocket(0));
addLink(graph, convert->getInputSocket(0)->getConnection()->getFromSocket(), operationAlpha->getInputSocket(0));
graph->addOperation(convert);
}
else {
inputSocketImage->relinkConnections(operation->getInputSocket(0), true, 0, graph);
inputSocketImage->relinkConnections(operation->getInputSocket(0), 0, graph);
addLink(graph, operation->getInputSocket(0)->getConnection()->getFromSocket(), operationAlpha->getInputSocket(0));
}

@ -44,8 +44,8 @@ void ChromaMatteNode::convertToOperations(ExecutionSystem *graph, CompositorCont
bNode *editorsnode = getbNode();
operation->setSettings((NodeChroma*)editorsnode->storage);
inputSocketImage->relinkConnections(operationRGBToYCC_Image->getInputSocket(0), true, 0, graph);
inputSocketKey->relinkConnections(operationRGBToYCC_Key->getInputSocket(0), true, 0, graph);
inputSocketImage->relinkConnections(operationRGBToYCC_Image->getInputSocket(0), 0, graph);
inputSocketKey->relinkConnections(operationRGBToYCC_Key->getInputSocket(0), 0, graph);
addLink(graph, operationRGBToYCC_Image->getOutputSocket(), operation->getInputSocket(0));
addLink(graph, operationRGBToYCC_Key->getOutputSocket(), operation->getInputSocket(1));

@ -63,8 +63,8 @@ void ColorBalanceNode::convertToOperations(ExecutionSystem *graph, CompositorCon
operation = operationCDL;
}
inputSocket->relinkConnections(operation->getInputSocket(0), true, 0, graph);
inputImageSocket->relinkConnections(operation->getInputSocket(1), true, 0, graph);
inputSocket->relinkConnections(operation->getInputSocket(0), 0, graph);
inputImageSocket->relinkConnections(operation->getInputSocket(1), 0, graph);
outputSocket->relinkConnections(operation->getOutputSocket(0));
graph->addOperation(operation);
}

@ -33,8 +33,8 @@ void ColorCorrectionNode::convertToOperations(ExecutionSystem *graph, Compositor
{
ColorCorrectionOperation *operation = new ColorCorrectionOperation();
bNode *editorNode = getbNode();
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0),true, 0, graph);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1),true, 1, graph);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, graph);
this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0));
operation->setData((NodeColorCorrection*)editorNode->storage);
operation->setRedChannelEnabled((editorNode->custom1&1)>0);

@ -33,10 +33,10 @@ void ColorCurveNode::convertToOperations(ExecutionSystem *graph, CompositorConte
{
ColorCurveOperation *operation = new ColorCurveOperation();
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, graph);
this->getInputSocket(2)->relinkConnections(operation->getInputSocket(2), true, 2, graph);
this->getInputSocket(3)->relinkConnections(operation->getInputSocket(3), true, 3, graph);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, graph);
this->getInputSocket(2)->relinkConnections(operation->getInputSocket(2), 2, graph);
this->getInputSocket(3)->relinkConnections(operation->getInputSocket(3), 3, graph);
this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket());

@ -42,8 +42,8 @@ void ColorMatteNode::convertToOperations(ExecutionSystem *graph, CompositorConte
bNode *editorsnode = getbNode();
operation->setSettings((NodeChroma*)editorsnode->storage);
inputSocketImage->relinkConnections(operationRGBToHSV_Image->getInputSocket(0), true, 0, graph);
inputSocketKey->relinkConnections(operationRGBToHSV_Key->getInputSocket(0), true, 1, graph);
inputSocketImage->relinkConnections(operationRGBToHSV_Image->getInputSocket(0), 0, graph);
inputSocketKey->relinkConnections(operationRGBToHSV_Key->getInputSocket(0), 1, graph);
addLink(graph, operationRGBToHSV_Image->getOutputSocket(), operation->getInputSocket(0));
addLink(graph, operationRGBToHSV_Key->getOutputSocket(), operation->getInputSocket(1));

@ -47,6 +47,6 @@ void ColorRampNode::convertToOperations(ExecutionSystem *graph, CompositorContex
graph->addOperation(operation2);
}
operation->setColorBand((ColorBand*)editorNode->storage);
inputSocket->relinkConnections(operation->getInputSocket(0), true, 0, graph);
inputSocket->relinkConnections(operation->getInputSocket(0), 0, graph);
graph->addOperation(operation);
}

@ -49,8 +49,8 @@ void ColorSpillNode::convertToOperations(ExecutionSystem *graph, CompositorConte
operation->setSpillChannel(editorsnode->custom1-1); // Channel for spilling
inputSocketImage->relinkConnections(operation->getInputSocket(0), true, 0, graph);
inputSocketFac->relinkConnections(operation->getInputSocket(1), true, 1, graph);
inputSocketImage->relinkConnections(operation->getInputSocket(0), 0, graph);
inputSocketFac->relinkConnections(operation->getInputSocket(1), 1, graph);
outputSocketImage->relinkConnections(operation->getOutputSocket());
graph->addOperation(operation);

@ -35,7 +35,7 @@ void ColourToBWNode::convertToOperations(ExecutionSystem *graph, CompositorConte
OutputSocket *valueSocket = this->getOutputSocket(0);
ConvertColorToBWOperation *convertProg = new ConvertColorToBWOperation();
colourSocket->relinkConnections(convertProg->getInputSocket(0), true, 0, graph);
colourSocket->relinkConnections(convertProg->getInputSocket(0), 0, graph);
valueSocket->relinkConnections(convertProg->getOutputSocket(0));
graph->addOperation(convertProg);
}

@ -55,10 +55,10 @@ void CombineRGBANode::convertToOperations(ExecutionSystem *graph, CompositorCont
else {
operation->setResolutionInputSocketIndex(3);
}
inputRSocket->relinkConnections(operation->getInputSocket(0), true, 0, graph);
inputGSocket->relinkConnections(operation->getInputSocket(1), true, 1, graph);
inputBSocket->relinkConnections(operation->getInputSocket(2), true, 2, graph);
inputASocket->relinkConnections(operation->getInputSocket(3), true, 3, graph);
inputRSocket->relinkConnections(operation->getInputSocket(0), 0, graph);
inputGSocket->relinkConnections(operation->getInputSocket(1), 1, graph);
inputBSocket->relinkConnections(operation->getInputSocket(2), 2, graph);
inputASocket->relinkConnections(operation->getInputSocket(3), 3, graph);
outputSocket->relinkConnections(operation->getOutputSocket(0));
graph->addOperation(operation);
}

@ -37,7 +37,7 @@ void ConvertAlphaNode::convertToOperations(ExecutionSystem *graph, CompositorCon
operation = new ConvertKeyToPremulOperation();
}
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph);
this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket());
graph->addOperation(operation);

@ -43,7 +43,7 @@ void CropNode::convertToOperations(ExecutionSystem *graph, CompositorContext * c
}
operation->setCropSettings(cropSettings);
operation->setRelative(relative);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph);
this->getOutputSocket()->relinkConnections(operation->getOutputSocket());
graph->addOperation(operation);
}

@ -52,7 +52,7 @@ void DefocusNode::convertToOperations(ExecutionSystem *graph, CompositorContext
SetValueOperation *maxRadius = new SetValueOperation();
maxRadius->setValue(data->maxblur);
MathMinimumOperation *minimize = new MathMinimumOperation();
this->getInputSocket(1)->relinkConnections(multiply->getInputSocket(0), true, 1, graph);
this->getInputSocket(1)->relinkConnections(multiply->getInputSocket(0), 1, graph);
addLink(graph, multiplier->getOutputSocket(), multiply->getInputSocket(1));
addLink(graph, maxRadius->getOutputSocket(), minimize->getInputSocket(1));
addLink(graph, multiply->getOutputSocket(), minimize->getInputSocket(0));
@ -68,7 +68,7 @@ void DefocusNode::convertToOperations(ExecutionSystem *graph, CompositorContext
converter->setCameraObject(camob);
converter->setfStop(data->fstop);
converter->setMaxRadius(data->maxblur);
this->getInputSocket(1)->relinkConnections(converter->getInputSocket(0), true, 1, graph);
this->getInputSocket(1)->relinkConnections(converter->getInputSocket(0), 1, graph);
graph->addOperation(converter);
radiusOperation = converter;
}
@ -98,7 +98,7 @@ void DefocusNode::convertToOperations(ExecutionSystem *graph, CompositorContext
if (data->gamco) {
GammaCorrectOperation * correct = new GammaCorrectOperation();
GammaUncorrectOperation * inverse = new GammaUncorrectOperation();
this->getInputSocket(0)->relinkConnections(correct->getInputSocket(0), 0, true, graph);
this->getInputSocket(0)->relinkConnections(correct->getInputSocket(0), 0, graph);
addLink(graph, correct->getOutputSocket(), operation->getInputSocket(0));
addLink(graph, operation->getOutputSocket(), inverse->getInputSocket(0));
this->getOutputSocket()->relinkConnections(inverse->getOutputSocket());
@ -106,7 +106,7 @@ void DefocusNode::convertToOperations(ExecutionSystem *graph, CompositorContext
graph->addOperation(inverse);
}
else {
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, true, graph);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph);
this->getOutputSocket()->relinkConnections(operation->getOutputSocket());
}

@ -38,8 +38,8 @@ void DifferenceMatteNode::convertToOperations(ExecutionSystem *graph, Compositor
DifferenceMatteOperation * operationSet = new DifferenceMatteOperation();
operationSet->setSettings((NodeChroma*)editorNode->storage);
inputSocket->relinkConnections(operationSet->getInputSocket(0), true, 0, graph);
inputSocket2->relinkConnections(operationSet->getInputSocket(1), true, 1, graph);
inputSocket->relinkConnections(operationSet->getInputSocket(0), 0, graph);
inputSocket2->relinkConnections(operationSet->getInputSocket(1), 1, graph);
outputSocketMatte->relinkConnections(operationSet->getOutputSocket(0));
graph->addOperation(operationSet);

@ -40,7 +40,7 @@ void DilateErodeNode::convertToOperations(ExecutionSystem *graph, CompositorCont
operation->setDistance(editorNode->custom2);
operation->setInset(editorNode->custom3);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0));
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph);
if (editorNode->custom3 < 2.0f) {
AntiAliasOperation * antiAlias = new AntiAliasOperation();
@ -57,14 +57,14 @@ void DilateErodeNode::convertToOperations(ExecutionSystem *graph, CompositorCont
if (editorNode->custom2 > 0) {
DilateStepOperation * operation = new DilateStepOperation();
operation->setIterations(editorNode->custom2);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0));
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph);
this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0));
graph->addOperation(operation);
}
else {
ErodeStepOperation * operation = new ErodeStepOperation();
operation->setIterations(-editorNode->custom2);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0));
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph);
this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0));
graph->addOperation(operation);
}

@ -36,7 +36,7 @@ void DirectionalBlurNode::convertToOperations(ExecutionSystem *graph, Compositor
DirectionalBlurOperation *operation = new DirectionalBlurOperation();
operation->setQuality(context->getQuality());
operation->setData(data);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph);
this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket());
graph->addOperation(operation);
}

@ -36,10 +36,10 @@ void DisplaceNode::convertToOperations(ExecutionSystem *graph, CompositorContext
else
operation = new DisplaceOperation();
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, graph);
this->getInputSocket(2)->relinkConnections(operation->getInputSocket(2), true, 2, graph);
this->getInputSocket(3)->relinkConnections(operation->getInputSocket(3), true, 3, graph);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, graph);
this->getInputSocket(2)->relinkConnections(operation->getInputSocket(2), 2, graph);
this->getInputSocket(3)->relinkConnections(operation->getInputSocket(3), 3, graph);
this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket());
graph->addOperation(operation);

@ -38,8 +38,8 @@ void DistanceMatteNode::convertToOperations(ExecutionSystem *graph, CompositorCo
bNode *editorsnode = getbNode();
operation->setSettings((NodeChroma*)editorsnode->storage);
inputSocketImage->relinkConnections(operation->getInputSocket(0), true, 0, graph);
inputSocketKey->relinkConnections(operation->getInputSocket(1), true, 1, graph);
inputSocketImage->relinkConnections(operation->getInputSocket(0), 0, graph);
inputSocketKey->relinkConnections(operation->getInputSocket(1), 1, graph);
if (outputSocketMatte->isConnected()) {
outputSocketMatte->relinkConnections(operation->getOutputSocket());

@ -38,8 +38,8 @@ void DoubleEdgeMaskNode::convertToOperations(ExecutionSystem *system, Compositor
operation->setAdjecentOnly(bnode->custom1);
operation->setKeepInside(bnode->custom2);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, system);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, system);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, system);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, system);
this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0));
system->addOperation(operation);
}

@ -34,8 +34,8 @@ void EllipseMaskNode::convertToOperations(ExecutionSystem *graph, CompositorCont
EllipseMaskOperation *operation;
operation = new EllipseMaskOperation();
operation->setData((NodeEllipseMask*)this->getbNode()->storage);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, graph);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, graph);
this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0));
operation->setMaskType(this->getbNode()->custom1);

@ -73,8 +73,8 @@ void FilterNode::convertToOperations(ExecutionSystem *graph, CompositorContext *
break;
}
inputImageSocket->relinkConnections(operation->getInputSocket(0), true, 1, graph);
inputSocket->relinkConnections(operation->getInputSocket(1), true, 0, graph);
inputImageSocket->relinkConnections(operation->getInputSocket(0), 1, graph);
inputSocket->relinkConnections(operation->getInputSocket(1), 0, graph);
outputSocket->relinkConnections(operation->getOutputSocket());
addPreviewOperation(graph, operation->getOutputSocket(0), 5);

@ -49,7 +49,7 @@ void FlipNode::convertToOperations(ExecutionSystem *graph, CompositorContext * c
break;
}
inputSocket->relinkConnections(operation->getInputSocket(0), true, 0, graph);
inputSocket->relinkConnections(operation->getInputSocket(0), 0, graph);
outputSocket->relinkConnections(operation->getOutputSocket(0));
graph->addOperation(operation);
}

@ -33,8 +33,8 @@ void GammaNode::convertToOperations(ExecutionSystem *graph, CompositorContext *
{
GammaOperation *operation = new GammaOperation();
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, graph);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, graph);
this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0));
graph->addOperation(operation);
}

@ -49,7 +49,7 @@ void GlareNode::convertToOperations(ExecutionSystem *system, CompositorContext *
SetValueOperation * mixvalueoperation = new SetValueOperation();
MixBlendOperation * mixoperation = new MixBlendOperation();
this->getInputSocket(0)->relinkConnections(thresholdOperation->getInputSocket(0), true, 0, system);
this->getInputSocket(0)->relinkConnections(thresholdOperation->getInputSocket(0), 0, system);
addLink(system, thresholdOperation->getOutputSocket(), glareoperation->getInputSocket(0));
addLink(system, mixvalueoperation->getOutputSocket(), mixoperation->getInputSocket(0));
addLink(system, glareoperation->getOutputSocket(), mixoperation->getInputSocket(2));
@ -75,7 +75,7 @@ void GlareNode::convertToOperations(ExecutionSystem *system, CompositorContext *
SetValueOperation * mixvalueoperation = new SetValueOperation();
MixBlendOperation * mixoperation = new MixBlendOperation();
mixoperation->setResolutionInputSocketIndex(1);
this->getInputSocket(0)->relinkConnections(thresholdOperation->getInputSocket(0), true, 0, system);
this->getInputSocket(0)->relinkConnections(thresholdOperation->getInputSocket(0), 0, system);
addLink(system, thresholdOperation->getOutputSocket(), bluroperation->getInputSocket(0));
addLink(system, valueoperation->getOutputSocket(), bluroperation->getInputSocket(1));
addLink(system, mixvalueoperation->getOutputSocket(), mixoperation->getInputSocket(0));
@ -109,7 +109,7 @@ void GlareNode::convertToOperations(ExecutionSystem *system, CompositorContext *
SetValueOperation * mixvalueoperation = new SetValueOperation();
MixBlendOperation * mixoperation = new MixBlendOperation();
this->getInputSocket(0)->relinkConnections(thresholdOperation->getInputSocket(0), true, 0, system);
this->getInputSocket(0)->relinkConnections(thresholdOperation->getInputSocket(0), 0, system);
addLink(system, thresholdOperation->getOutputSocket(), glareoperation->getInputSocket(0));
addLink(system, mixvalueoperation->getOutputSocket(), mixoperation->getInputSocket(0));
addLink(system, glareoperation->getOutputSocket(), mixoperation->getInputSocket(2));

@ -47,12 +47,12 @@ void GroupNode::ungroup(ExecutionSystem &system)
if (editorInput->groupsock) {
if (inputSocket->isConnected()) {
SocketProxyNode * proxy = new SocketProxyNode(this->getbNode(), editorInput, editorInput->groupsock);
inputSocket->relinkConnections(proxy->getInputSocket(0), true, index, &system);
inputSocket->relinkConnections(proxy->getInputSocket(0), index, &system);
ExecutionSystemHelper::addNode(system.getNodes(), proxy);
}
else {
OutputSocketProxyNode * proxy = new OutputSocketProxyNode(this->getbNode(), editorInput, editorInput->groupsock);
inputSocket->relinkConnections(proxy->getInputSocket(0), true, index, &system);
inputSocket->relinkConnections(proxy->getInputSocket(0), index, &system);
ExecutionSystemHelper::addNode(system.getNodes(), proxy);
}
}

@ -51,12 +51,12 @@ void HueSaturationValueCorrectNode::convertToOperations(ExecutionSystem *graph,
HueSaturationValueCorrectOperation *changeHSV = new HueSaturationValueCorrectOperation();
MixBlendOperation * blend = new MixBlendOperation();
colourSocket->relinkConnections(rgbToHSV->getInputSocket(0), true, 0, graph);
colourSocket->relinkConnections(rgbToHSV->getInputSocket(0), 1, graph);
addLink(graph, rgbToHSV->getOutputSocket(), changeHSV->getInputSocket(0));
addLink(graph, changeHSV->getOutputSocket(), hsvToRGB->getInputSocket(0));
addLink(graph, hsvToRGB->getOutputSocket(), blend->getInputSocket(2));
addLink(graph, rgbToHSV->getInputSocket(0)->getConnection()->getFromSocket(), blend->getInputSocket(1));
valueSocket->relinkConnections(blend->getInputSocket(0), true, 0, graph);
valueSocket->relinkConnections(blend->getInputSocket(0), 0, graph);
outputSocket->relinkConnections(blend->getOutputSocket());
changeHSV->setCurveMapping(storage);

@ -49,12 +49,12 @@ void HueSaturationValueNode::convertToOperations(ExecutionSystem *graph, Composi
ChangeHSVOperation *changeHSV = new ChangeHSVOperation();
MixBlendOperation * blend = new MixBlendOperation();
colourSocket->relinkConnections(rgbToHSV->getInputSocket(0), true, 0, graph);
colourSocket->relinkConnections(rgbToHSV->getInputSocket(0), 0, graph);
addLink(graph, rgbToHSV->getOutputSocket(), changeHSV->getInputSocket(0));
addLink(graph, changeHSV->getOutputSocket(), hsvToRGB->getInputSocket(0));
addLink(graph, hsvToRGB->getOutputSocket(), blend->getInputSocket(2));
addLink(graph, rgbToHSV->getInputSocket(0)->getConnection()->getFromSocket(), blend->getInputSocket(1));
valueSocket->relinkConnections(blend->getInputSocket(0), true, 0, graph);
valueSocket->relinkConnections(blend->getInputSocket(0), 0, graph);
outputSocket->relinkConnections(blend->getOutputSocket());
changeHSV->setHue(storage->hue);

@ -36,7 +36,7 @@ void IDMaskNode::convertToOperations(ExecutionSystem *graph, CompositorContext *
operation = new IDMaskOperation();
operation->setObjectIndex(bnode->custom1);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0));
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph);
if (bnode->custom2==0 || context->getScene()->r.scemode & R_FULL_SAMPLE) {
this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0));
}

@ -37,8 +37,8 @@ void InvertNode::convertToOperations(ExecutionSystem *graph, CompositorContext *
operation->setColor(node->custom1 & CMP_CHAN_RGB);
operation->setAlpha(node->custom1 & CMP_CHAN_A);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0),true, 0, graph);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1),true, 1, graph);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, graph);
this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0));
graph->addOperation(operation);
}

@ -37,7 +37,7 @@ void LensDistortionNode::convertToOperations(ExecutionSystem *graph, CompositorC
if (data->proj) {
ProjectorLensDistortionOperation *operation = new ProjectorLensDistortionOperation();
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph);
operation->setDispertion(this->getInputSocket(2)->getStaticValues()[0]);
this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0));
@ -48,7 +48,7 @@ void LensDistortionNode::convertToOperations(ExecutionSystem *graph, CompositorC
else {
ScreenLensDistortionOperation *operation = new ScreenLensDistortionOperation();
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph);
operation->setDistortion(this->getInputSocket(1)->getStaticValues()[0]);
operation->setDispertion(this->getInputSocket(2)->getStaticValues()[0]);
this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0));

@ -39,7 +39,7 @@ void LuminanceMatteNode::convertToOperations(ExecutionSystem *graph, CompositorC
bNode *editorsnode = getbNode();
operationSet->setSettings((NodeChroma*)editorsnode->storage);
inputSocket->relinkConnections(rgbToYUV->getInputSocket(0), true, 0, graph);
inputSocket->relinkConnections(rgbToYUV->getInputSocket(0), 0, graph);
addLink(graph, rgbToYUV->getOutputSocket(), operationSet->getInputSocket(0));
if (outputSocketMatte->isConnected()) {

@ -31,8 +31,8 @@ void MapUVNode::convertToOperations(ExecutionSystem *graph, CompositorContext *
{
MapUVOperation *operation = new MapUVOperation();
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, graph);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, graph);
this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket());
bNode *node = this->getbNode();

@ -36,7 +36,7 @@ void MapValueNode::convertToOperations(ExecutionSystem *graph, CompositorContext
TexMapping *storage = (TexMapping*)this->getbNode()->storage;
MapValueOperation *convertProg = new MapValueOperation();
convertProg->setSettings(storage);
colourSocket->relinkConnections(convertProg->getInputSocket(0), true, 0, graph);
colourSocket->relinkConnections(convertProg->getInputSocket(0), 0, graph);
valueSocket->relinkConnections(convertProg->getOutputSocket(0));
graph->addOperation(convertProg);
}

@ -84,8 +84,8 @@ void MathNode::convertToOperations(ExecutionSystem *graph, CompositorContext * c
}
if (operation != NULL) {
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, graph);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, graph);
this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket());
graph->addOperation(operation);

@ -121,9 +121,9 @@ void MixNode::convertToOperations(ExecutionSystem *graph, CompositorContext * co
}
convertProg->setUseValueAlphaMultiply(this->getbNode()->custom2);
valueSocket->relinkConnections(convertProg->getInputSocket(0), true, 0, graph);
color1Socket->relinkConnections(convertProg->getInputSocket(1), true, 1, graph);
color2Socket->relinkConnections(convertProg->getInputSocket(2), true, 2, graph);
valueSocket->relinkConnections(convertProg->getInputSocket(0), 0, graph);
color1Socket->relinkConnections(convertProg->getInputSocket(1), 1, graph);
color2Socket->relinkConnections(convertProg->getInputSocket(2), 2, graph);
outputSocket->relinkConnections(convertProg->getOutputSocket(0));
addPreviewOperation(graph, convertProg->getOutputSocket(0), 5);

@ -41,7 +41,7 @@ void MovieDistortionNode::convertToOperations(ExecutionSystem *system, Composito
operation->setMovieClip(clip);
operation->setFramenumber(context->getFramenumber());
inputSocket->relinkConnections(operation->getInputSocket(0), true, 0, system);
inputSocket->relinkConnections(operation->getInputSocket(0), 0, system);
outputSocket->relinkConnections(operation->getOutputSocket(0));
system->addOperation(operation);
}

@ -50,7 +50,7 @@ void NormalNode::convertToOperations(ExecutionSystem *graph, CompositorContext *
if (outputSocketDotproduct->isConnected()) {
DotproductOperation *operation = new DotproductOperation();
outputSocketDotproduct->relinkConnections(operation->getOutputSocket(0));
inputSocket->relinkConnections(operation->getInputSocket(0), true, 0, graph);
inputSocket->relinkConnections(operation->getInputSocket(0), 0, graph);
addLink(graph, operationSet->getOutputSocket(0), operation->getInputSocket(1));
graph->addOperation(operation);
}

@ -31,7 +31,7 @@ void NormalizeNode::convertToOperations(ExecutionSystem *graph, CompositorContex
{
NormalizeOperation *operation = new NormalizeOperation();
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph);
this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0));
graph->addOperation(operation);

@ -53,8 +53,8 @@ void RotateNode::convertToOperations(ExecutionSystem *system, CompositorContext
addLink(system, sampler->getOutputSocket(), operation->getInputSocket(0));
inputSocket->relinkConnections(sampler->getInputSocket(0), true, 0, system);
inputDegreeSocket->relinkConnections(operation->getInputSocket(1), true, 1, system);
inputSocket->relinkConnections(sampler->getInputSocket(0), 0, system);
inputDegreeSocket->relinkConnections(operation->getInputSocket(1), 1, system);
outputSocket->relinkConnections(operation->getOutputSocket(0));
system->addOperation(sampler);
system->addOperation(operation);

@ -42,9 +42,9 @@ void ScaleNode::convertToOperations(ExecutionSystem *graph, CompositorContext *
case CMP_SCALE_RELATIVE: {
ScaleOperation *operation = new ScaleOperation();
inputSocket->relinkConnections(operation->getInputSocket(0), true, 0, graph);
inputXSocket->relinkConnections(operation->getInputSocket(1), true, 1, graph);
inputYSocket->relinkConnections(operation->getInputSocket(2), true, 2, graph);
inputSocket->relinkConnections(operation->getInputSocket(0), 0, graph);
inputXSocket->relinkConnections(operation->getInputSocket(1), 1, graph);
inputYSocket->relinkConnections(operation->getInputSocket(2), 2, graph);
outputSocket->relinkConnections(operation->getOutputSocket(0));
graph->addOperation(operation);
}
@ -53,7 +53,7 @@ void ScaleNode::convertToOperations(ExecutionSystem *graph, CompositorContext *
SetValueOperation * scaleFactorOperation = new SetValueOperation();
scaleFactorOperation->setValue(context->getScene()->r.size/100.0f);
ScaleOperation * operation = new ScaleOperation();
inputSocket->relinkConnections(operation->getInputSocket(0), true, 0, graph);
inputSocket->relinkConnections(operation->getInputSocket(0), 0, graph);
addLink(graph, scaleFactorOperation->getOutputSocket(), operation->getInputSocket(1));
addLink(graph, scaleFactorOperation->getOutputSocket(), operation->getInputSocket(2));
outputSocket->relinkConnections(operation->getOutputSocket(0));
@ -67,7 +67,7 @@ void ScaleNode::convertToOperations(ExecutionSystem *graph, CompositorContext *
ScaleFixedSizeOperation * operation = new ScaleFixedSizeOperation();
operation->setNewWidth(data->xsch*data->size/100.0f);
operation->setNewHeight(data->ysch*data->size/100.0f);
inputSocket->relinkConnections(operation->getInputSocket(0), true, 0, graph);
inputSocket->relinkConnections(operation->getInputSocket(0), 0, graph);
outputSocket->relinkConnections(operation->getOutputSocket(0));
operation->getInputSocket(0)->getConnection()->setIgnoreResizeCheck(true);
graph->addOperation(operation);
@ -77,9 +77,9 @@ void ScaleNode::convertToOperations(ExecutionSystem *graph, CompositorContext *
case CMP_SCALE_ABSOLUTE: {
ScaleAbsoluteOperation *operation = new ScaleAbsoluteOperation(); // TODO: what is the use of this one.... perhaps some issues when the ui was updated....
inputSocket->relinkConnections(operation->getInputSocket(0), true, 0, graph);
inputXSocket->relinkConnections(operation->getInputSocket(1), true, 1, graph);
inputYSocket->relinkConnections(operation->getInputSocket(2), true, 2, graph);
inputSocket->relinkConnections(operation->getInputSocket(0), 0, graph);
inputXSocket->relinkConnections(operation->getInputSocket(1), 1, graph);
inputYSocket->relinkConnections(operation->getInputSocket(2), 2, graph);
outputSocket->relinkConnections(operation->getOutputSocket(0));
graph->addOperation(operation);
}

@ -44,28 +44,28 @@ void SeparateRGBANode::convertToOperations(ExecutionSystem *graph, CompositorCon
if (outputRSocket->isConnected()) {
SeparateChannelOperation *operation = new SeparateChannelOperation();
operation->setChannel(0);
imageSocket->relinkConnections(operation->getInputSocket(0), true, 0, true, graph);
imageSocket->relinkConnectionsDuplicate(operation->getInputSocket(0), 0, graph);
outputRSocket->relinkConnections(operation->getOutputSocket(0));
graph->addOperation(operation);
}
if (outputGSocket->isConnected()) {
SeparateChannelOperation *operation = new SeparateChannelOperation();
operation->setChannel(1);
imageSocket->relinkConnections(operation->getInputSocket(0), true, 0, true, graph);
imageSocket->relinkConnectionsDuplicate(operation->getInputSocket(0), 0, graph);
outputGSocket->relinkConnections(operation->getOutputSocket(0));
graph->addOperation(operation);
}
if (outputBSocket->isConnected()) {
SeparateChannelOperation *operation = new SeparateChannelOperation();
operation->setChannel(2);
imageSocket->relinkConnections(operation->getInputSocket(0), true, 0, true, graph);
imageSocket->relinkConnectionsDuplicate(operation->getInputSocket(0), 0, graph);
outputBSocket->relinkConnections(operation->getOutputSocket(0));
graph->addOperation(operation);
}
if (outputASocket->isConnected()) {
SeparateChannelOperation *operation = new SeparateChannelOperation();
operation->setChannel(3);
imageSocket->relinkConnections(operation->getInputSocket(0), true, 0, true, graph);
imageSocket->relinkConnectionsDuplicate(operation->getInputSocket(0), 0, graph);
outputASocket->relinkConnections(operation->getOutputSocket(0));
graph->addOperation(operation);
}

@ -28,8 +28,8 @@ void SetAlphaNode::convertToOperations(ExecutionSystem *graph, CompositorContext
{
SetAlphaOperation *operation = new SetAlphaOperation();
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 0, graph);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, graph);
this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket());
graph->addOperation(operation);

@ -43,8 +43,8 @@ void SplitViewerNode::convertToOperations(ExecutionSystem *graph, CompositorCont
splitViewerOperation->setActive(this->getbNode()->flag & NODE_DO_OUTPUT);
splitViewerOperation->setSplitPercentage(this->getbNode()->custom1);
splitViewerOperation->setXSplit(!this->getbNode()->custom2);
image1Socket->relinkConnections(splitViewerOperation->getInputSocket(0), true, 1, graph);
image2Socket->relinkConnections(splitViewerOperation->getInputSocket(1), true, 1, graph);
image1Socket->relinkConnections(splitViewerOperation->getInputSocket(0), 0, graph);
image2Socket->relinkConnections(splitViewerOperation->getInputSocket(1), 1, graph);
addPreviewOperation(graph, splitViewerOperation->getInputSocket(0), 0);
graph->addOperation(splitViewerOperation);
}

@ -65,7 +65,7 @@ void Stabilize2dNode::convertToOperations(ExecutionSystem *graph, CompositorCont
yAttribute->setFramenumber(context->getFramenumber());
yAttribute->setMovieClip(clip);
imageInput->relinkConnections(scaleOperation->getInputSocket(0), true, 0, graph);
imageInput->relinkConnections(scaleOperation->getInputSocket(0), 0, graph);
addLink(graph, scaleAttribute->getOutputSocket(), scaleOperation->getInputSocket(1));
addLink(graph, scaleAttribute->getOutputSocket(), scaleOperation->getInputSocket(2));

@ -35,10 +35,10 @@ void SwitchNode::convertToOperations(ExecutionSystem *graph, CompositorContext *
int switchFrame = this->getbNode()->custom1;
if (!switchFrame) {
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph);
}
else {
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(0), true, 1, graph);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(0), 1, graph);
}
this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket());

@ -34,8 +34,8 @@ void TextureNode::convertToOperations(ExecutionSystem *system, CompositorContext
Tex *texture = (Tex*)editorNode->id;
TextureOperation *operation = new TextureOperation();
this->getOutputSocket(1)->relinkConnections(operation->getOutputSocket());
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, system);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, system);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, system);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, system);
operation->setTexture(texture);
operation->setScene(context->getScene());
system->addOperation(operation);

@ -35,7 +35,7 @@ void TonemapNode::convertToOperations(ExecutionSystem *system, CompositorContext
TonemapOperation *operation = data->type==1?new PhotoreceptorTonemapOperation():new TonemapOperation();
operation->setData(data);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, system);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, system);
this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0));
system->addOperation(operation);
}

@ -57,18 +57,18 @@ void TransformNode::convertToOperations(ExecutionSystem *graph, CompositorContex
break;
}
imageInput->relinkConnections(sampler->getInputSocket(0), true, 0, graph);
imageInput->relinkConnections(sampler->getInputSocket(0), 0, graph);
addLink(graph, sampler->getOutputSocket(), scaleOperation->getInputSocket(0));
scaleInput->relinkConnections(scaleOperation->getInputSocket(1), true, 4, graph);
scaleInput->relinkConnections(scaleOperation->getInputSocket(1), 4, graph);
addLink(graph, scaleOperation->getInputSocket(1)->getConnection()->getFromSocket(), scaleOperation->getInputSocket(2)); // xscale = yscale
addLink(graph, scaleOperation->getOutputSocket(), rotateOperation->getInputSocket(0));
rotateOperation->setDoDegree2RadConversion(false);
angleInput->relinkConnections(rotateOperation->getInputSocket(1), true, 3, graph);
angleInput->relinkConnections(rotateOperation->getInputSocket(1), 3, graph);
addLink(graph, rotateOperation->getOutputSocket(), translateOperation->getInputSocket(0));
xInput->relinkConnections(translateOperation->getInputSocket(1), true, 1, graph);
yInput->relinkConnections(translateOperation->getInputSocket(2), true, 2, graph);
xInput->relinkConnections(translateOperation->getInputSocket(1), 1, graph);
yInput->relinkConnections(translateOperation->getInputSocket(2), 2, graph);
this->getOutputSocket()->relinkConnections(translateOperation->getOutputSocket());

@ -37,9 +37,9 @@ void TranslateNode::convertToOperations(ExecutionSystem *graph, CompositorContex
OutputSocket *outputSocket = this->getOutputSocket(0);
TranslateOperation *operation = new TranslateOperation();
inputSocket->relinkConnections(operation->getInputSocket(0), true, 0, graph);
inputXSocket->relinkConnections(operation->getInputSocket(1), true, 1, graph);
inputYSocket->relinkConnections(operation->getInputSocket(2), true, 2, graph);
inputSocket->relinkConnections(operation->getInputSocket(0), 0, graph);
inputXSocket->relinkConnections(operation->getInputSocket(1), 1, graph);
inputYSocket->relinkConnections(operation->getInputSocket(2), 2, graph);
outputSocket->relinkConnections(operation->getOutputSocket(0));
graph->addOperation(operation);
}

@ -39,9 +39,9 @@ void VectorBlurNode::convertToOperations(ExecutionSystem *system, CompositorCont
VectorBlurOperation *operation = new VectorBlurOperation();
operation->setVectorBlurSettings(vectorBlurSettings);
operation->setQuality(context->getQuality());
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, system);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, system);
this->getInputSocket(2)->relinkConnections(operation->getInputSocket(2), true, 2, system);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, system);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, system);
this->getInputSocket(2)->relinkConnections(operation->getInputSocket(2), 2, system);
this->getOutputSocket()->relinkConnections(operation->getOutputSocket());
system->addOperation(operation);
}

@ -33,7 +33,7 @@ void VectorCurveNode::convertToOperations(ExecutionSystem *graph, CompositorCont
{
VectorCurveOperation *operation = new VectorCurveOperation();
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph);
this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket());
operation->setCurveMapping((CurveMapping*)this->getbNode()->storage);

@ -41,7 +41,7 @@ void ViewLevelsNode::convertToOperations(ExecutionSystem *graph, CompositorConte
if (socket->isConnected()) {
// calculate mean operation
CalculateMeanOperation * operation = new CalculateMeanOperation();
input->relinkConnections(operation->getInputSocket(0), true, 0, graph);
input->relinkConnections(operation->getInputSocket(0), 0, graph);
firstOperationConnected = true;
operation->setSetting(this->getbNode()->custom1);
socket->relinkConnections(operation->getOutputSocket());
@ -56,7 +56,7 @@ void ViewLevelsNode::convertToOperations(ExecutionSystem *graph, CompositorConte
addLink(graph, inputSocket, operation->getInputSocket(0));
}
else {
input->relinkConnections(operation->getInputSocket(0), true, 0, graph);
input->relinkConnections(operation->getInputSocket(0), 0, graph);
}
operation->setSetting(this->getbNode()->custom1);
socket->relinkConnections(operation->getOutputSocket());

@ -48,7 +48,7 @@ void ViewerNode::convertToOperations(ExecutionSystem *graph, CompositorContext *
viewerOperation->setChunkOrder((OrderOfChunks)editorNode->custom1);
viewerOperation->setCenterX(editorNode->custom3);
viewerOperation->setCenterY(editorNode->custom4);
imageSocket->relinkConnections(viewerOperation->getInputSocket(0), true, 0, graph);
imageSocket->relinkConnections(viewerOperation->getInputSocket(0), 0, graph);
alphaSocket->relinkConnections(viewerOperation->getInputSocket(1));
graph->addOperation(viewerOperation);
addPreviewOperation(graph, viewerOperation->getInputSocket(0), 0);

@ -41,10 +41,10 @@ void ZCombineNode::convertToOperations(ExecutionSystem *system, CompositorContex
operation = new ZCombineOperation();
}
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, system);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, system);
this->getInputSocket(2)->relinkConnections(operation->getInputSocket(2), true, 2, system);
this->getInputSocket(3)->relinkConnections(operation->getInputSocket(3), true, 3, system);
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, system);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, system);
this->getInputSocket(2)->relinkConnections(operation->getInputSocket(2), 2, system);
this->getInputSocket(3)->relinkConnections(operation->getInputSocket(3), 3, system);
this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket());
system->addOperation(operation);
if (this->getOutputSocket(1)->isConnected()) {
@ -58,8 +58,8 @@ void ZCombineNode::convertToOperations(ExecutionSystem *system, CompositorContex
else {
if (this->getOutputSocket(1)->isConnected()) {
MathMinimumOperation * zoperation = new MathMinimumOperation();
this->getInputSocket(1)->relinkConnections(zoperation->getInputSocket(0), true, 1, system);
this->getInputSocket(3)->relinkConnections(zoperation->getInputSocket(1), true, 3, system);
this->getInputSocket(1)->relinkConnections(zoperation->getInputSocket(0), 1, system);
this->getInputSocket(3)->relinkConnections(zoperation->getInputSocket(1), 3, system);
this->getOutputSocket(1)->relinkConnections(zoperation->getOutputSocket());
system->addOperation(zoperation);
}