[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49390] branches/soc-2011-tomato: Merging r49386 through r49389 from trunk into soc-2011-tomato
Sergey Sharybin
sergey.vfx at gmail.com
Mon Jul 30 11:47:39 CEST 2012
Revision: 49390
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49390
Author: nazgul
Date: 2012-07-30 09:47:39 +0000 (Mon, 30 Jul 2012)
Log Message:
-----------
Merging r49386 through r49389 from trunk into soc-2011-tomato
Revision Links:
--------------
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49386
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49389
Modified Paths:
--------------
branches/soc-2011-tomato/source/blender/compositor/nodes/COM_MuteNode.cpp
branches/soc-2011-tomato/source/blender/compositor/nodes/COM_MuteNode.h
Property Changed:
----------------
branches/soc-2011-tomato/
branches/soc-2011-tomato/source/blender/editors/interface/interface.c
branches/soc-2011-tomato/source/blender/editors/space_outliner/
Property changes on: branches/soc-2011-tomato
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/ge_harmony:42255,42279-42282,42286,42302,42338,42349,42616,42620,42698-42699,42739,42753,42773-42774,42832,44568,44597-44598,44793-44794
/branches/soc-2011-cucumber:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/vgroup_modifiers:38694-39989
/trunk/blender:36831-49385
+ /branches/ge_harmony:42255,42279-42282,42286,42302,42338,42349,42616,42620,42698-42699,42739,42753,42773-42774,42832,44568,44597-44598,44793-44794
/branches/soc-2011-cucumber:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/vgroup_modifiers:38694-39989
/trunk/blender:36831-49389
Modified: branches/soc-2011-tomato/source/blender/compositor/nodes/COM_MuteNode.cpp
===================================================================
--- branches/soc-2011-tomato/source/blender/compositor/nodes/COM_MuteNode.cpp 2012-07-30 09:46:14 UTC (rev 49389)
+++ branches/soc-2011-tomato/source/blender/compositor/nodes/COM_MuteNode.cpp 2012-07-30 09:47:39 UTC (rev 49390)
@@ -20,14 +20,16 @@
* Monique Dewanchand
*/
-#include <stdio.h>
-
#include "COM_MuteNode.h"
#include "COM_SocketConnection.h"
#include "COM_SetValueOperation.h"
#include "COM_SetVectorOperation.h"
#include "COM_SetColorOperation.h"
+extern "C" {
+ #include "BLI_listbase.h"
+}
+
MuteNode::MuteNode(bNode *editorNode) : Node(editorNode)
{
/* pass */
@@ -84,14 +86,49 @@
output->clearConnections();
}
+template<class SocketType> void MuteNode::fillSocketMap(vector<SocketType *> &sockets, SocketMap &socketMap)
+{
+ for (typename vector<SocketType *>::iterator it = sockets.begin(); it != sockets.end(); it++) {
+ Socket *socket = (Socket *) *it;
+
+ socketMap.insert(std::pair<bNodeSocket *, Socket *>(socket->getbNodeSocket(), socket));
+ }
+}
+
void MuteNode::convertToOperations(ExecutionSystem *graph, CompositorContext *context)
{
+ bNode *editorNode = this->getbNode();
vector<OutputSocket *> &outputsockets = this->getOutputSockets();
- for (unsigned int index = 0; index < outputsockets.size(); index++) {
- OutputSocket *output = outputsockets[index];
- if (output->isConnected()) {
- reconnect(graph, output);
+ if (editorNode->typeinfo->internal_connect) {
+ vector<InputSocket *> &inputsockets = this->getInputSockets();
+ bNodeTree *editorTree = (bNodeTree *) context->getbNodeTree();
+ SocketMap socketMap;
+ ListBase intlinks;
+ bNodeLink *link;
+
+ intlinks = editorNode->typeinfo->internal_connect(editorTree, editorNode);
+
+ this->fillSocketMap<OutputSocket>(outputsockets, socketMap);
+ this->fillSocketMap<InputSocket>(inputsockets, socketMap);
+
+ for (link = (bNodeLink *) intlinks.first; link; link = link->next) {
+ if (link->fromnode == editorNode) {
+ InputSocket *fromSocket = (InputSocket *) socketMap.find(link->fromsock)->second;
+ OutputSocket *toSocket = (OutputSocket *) socketMap.find(link->tosock)->second;
+
+ toSocket->relinkConnections(fromSocket->getConnection()->getFromSocket(), false);
+ }
}
+
+ BLI_freelistN(&intlinks);
}
+ else {
+ for (unsigned int index = 0; index < outputsockets.size(); index++) {
+ OutputSocket *output = outputsockets[index];
+ if (output->isConnected()) {
+ reconnect(graph, output);
+ }
+ }
+ }
}
Modified: branches/soc-2011-tomato/source/blender/compositor/nodes/COM_MuteNode.h
===================================================================
--- branches/soc-2011-tomato/source/blender/compositor/nodes/COM_MuteNode.h 2012-07-30 09:46:14 UTC (rev 49389)
+++ branches/soc-2011-tomato/source/blender/compositor/nodes/COM_MuteNode.h 2012-07-30 09:47:39 UTC (rev 49390)
@@ -23,8 +23,14 @@
#ifndef _COM_MuteNode_h_
#define _COM_MuteNode_h_
+#include <map>
+
#include "COM_Node.h"
+extern "C" {
+ #include "BKE_node.h"
+}
+
/**
* @brief MuteNode
* @ingroup Node
@@ -34,7 +40,11 @@
MuteNode(bNode *editorNode);
void convertToOperations(ExecutionSystem *graph, CompositorContext *context);
private:
+ typedef std::map<bNodeSocket *, Socket *> SocketMap;
+
void reconnect(ExecutionSystem *graph, OutputSocket *output);
+
+ template<class SocketType> void fillSocketMap(vector<SocketType *> &sockets, SocketMap &socketMap);
};
#endif
Property changes on: branches/soc-2011-tomato/source/blender/editors/interface/interface.c
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/ge_candy/source/blender/editors/interface/interface.c:45070-46163
/branches/ge_harmony/source/blender/editors/interface/interface.c:42255,42279-42282,42286,42302,42338,42349,42616,42620,42698-42699,42739,42753,42773-42774,42832,44568,44597-44598,44793-44794
/branches/soc-2011-cucumber/source/blender/editors/interface/interface.c:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/vgroup_modifiers/source/blender/editors/interface/interface.c:38694-39989
/trunk/blender/source/blender/editors/interface/interface.c:36831-49385
+ /branches/ge_candy/source/blender/editors/interface/interface.c:45070-46163
/branches/ge_harmony/source/blender/editors/interface/interface.c:42255,42279-42282,42286,42302,42338,42349,42616,42620,42698-42699,42739,42753,42773-42774,42832,44568,44597-44598,44793-44794
/branches/soc-2011-cucumber/source/blender/editors/interface/interface.c:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/vgroup_modifiers/source/blender/editors/interface/interface.c:38694-39989
/trunk/blender/source/blender/editors/interface/interface.c:36831-49389
Property changes on: branches/soc-2011-tomato/source/blender/editors/space_outliner
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/soc-2011-cucumber/source/blender/editors/space_outliner:38968,38970,38973,39045,40845
/branches/soc-2011-pepper/source/blender/editors/space_outliner:36831-38987
/trunk/blender/source/blender/editors/space_outliner:36831-49385
+ /branches/soc-2011-cucumber/source/blender/editors/space_outliner:38968,38970,38973,39045,40845
/branches/soc-2011-pepper/source/blender/editors/space_outliner:36831-38987
/trunk/blender/source/blender/editors/space_outliner:36831-49389
More information about the Bf-blender-cvs
mailing list