[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