Revision: 48583
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48583
Author:   jbakker
Date:     2012-07-04 10:01:45 +0000 (Wed, 04 Jul 2012)
Log Message:
-----------
Highlight nodes that are being processed

Modified Paths:
--------------
    trunk/blender/release/scripts/startup/bl_ui/space_node.py
    trunk/blender/source/blender/compositor/intern/COM_ExecutionGroup.cpp
    trunk/blender/source/blender/compositor/intern/COM_Node.cpp
    trunk/blender/source/blender/compositor/intern/COM_Node.h
    trunk/blender/source/blender/compositor/intern/COM_NodeBase.cpp
    trunk/blender/source/blender/compositor/intern/COM_NodeBase.h
    trunk/blender/source/blender/compositor/intern/COM_NodeOperation.cpp
    trunk/blender/source/blender/compositor/nodes/COM_BlurNode.cpp
    trunk/blender/source/blender/compositor/nodes/COM_BokehBlurNode.cpp
    trunk/blender/source/blender/compositor/nodes/COM_DefocusNode.cpp
    trunk/blender/source/blender/compositor/nodes/COM_DilateErodeNode.cpp
    trunk/blender/source/blender/compositor/nodes/COM_DoubleEdgeMaskNode.cpp
    trunk/blender/source/blender/compositor/nodes/COM_FilterNode.cpp
    trunk/blender/source/blender/compositor/nodes/COM_GlareNode.cpp
    trunk/blender/source/blender/compositor/nodes/COM_KeyingNode.cpp
    trunk/blender/source/blender/compositor/nodes/COM_KeyingScreenNode.cpp
    trunk/blender/source/blender/compositor/nodes/COM_LensDistortionNode.cpp
    trunk/blender/source/blender/compositor/nodes/COM_MaskNode.cpp
    trunk/blender/source/blender/compositor/nodes/COM_TonemapNode.cpp
    trunk/blender/source/blender/compositor/nodes/COM_VectorBlurNode.cpp
    
trunk/blender/source/blender/compositor/operations/COM_VariableSizeBokehBlurOperation.cpp
    
trunk/blender/source/blender/compositor/operations/COM_VariableSizeBokehBlurOperation.h
    
trunk/blender/source/blender/compositor/operations/COM_WriteBufferOperation.cpp
    trunk/blender/source/blender/editors/space_node/node_draw.c
    trunk/blender/source/blender/makesdna/DNA_node_types.h
    trunk/blender/source/blender/makesdna/DNA_space_types.h
    trunk/blender/source/blender/makesrna/intern/rna_space.c
    trunk/blender/source/blender/nodes/composite/node_composite_tree.c

Modified: trunk/blender/release/scripts/startup/bl_ui/space_node.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_ui/space_node.py   2012-07-04 
09:41:57 UTC (rev 48582)
+++ trunk/blender/release/scripts/startup/bl_ui/space_node.py   2012-07-04 
10:01:45 UTC (rev 48583)
@@ -217,7 +217,7 @@
 class NODE_PT_quality(bpy.types.Panel):
     bl_space_type = 'NODE_EDITOR'
     bl_region_type = 'UI'
-    bl_label = "Quality"
+    bl_label = "Performance"
 
     @classmethod
     def poll(cls, context):
@@ -233,6 +233,7 @@
         layout.prop(tree, "edit_quality", text="Edit")
         layout.prop(tree, "chunk_size")
         layout.prop(tree, "use_opencl")
+        layout.prop(snode, "show_highlight")
 
 
 class NODE_MT_node_color_presets(Menu):

Modified: trunk/blender/source/blender/compositor/intern/COM_ExecutionGroup.cpp
===================================================================
--- trunk/blender/source/blender/compositor/intern/COM_ExecutionGroup.cpp       
2012-07-04 09:41:57 UTC (rev 48582)
+++ trunk/blender/source/blender/compositor/intern/COM_ExecutionGroup.cpp       
2012-07-04 10:01:45 UTC (rev 48583)
@@ -27,6 +27,8 @@
 
 #include "BLI_math.h"
 #include "PIL_time.h"
+#include "WM_api.h"
+#include "WM_types.h"
 
 #include "COM_ExecutionGroup.h"
 #include "COM_InputSocket.h"
@@ -347,6 +349,8 @@
                                finished = false;
                                startEvaluated = true;
                                numberEvaluated++;
+
+                               WM_main_add_notifier(NC_WINDOW | ND_DRAW, NULL);
                        }
                        else if (state == COM_ES_SCHEDULED) {
                                finished = false;

Modified: trunk/blender/source/blender/compositor/intern/COM_Node.cpp
===================================================================
--- trunk/blender/source/blender/compositor/intern/COM_Node.cpp 2012-07-04 
09:41:57 UTC (rev 48582)
+++ trunk/blender/source/blender/compositor/intern/COM_Node.cpp 2012-07-04 
10:01:45 UTC (rev 48583)
@@ -39,9 +39,9 @@
 //#include <stdio.h>
 #include "COM_defines.h"
 
-Node::Node(bNode *editorNode, bool create_sockets)
+Node::Node(bNode *editorNode, bool create_sockets): NodeBase()
 {
-       this->m_editorNode = editorNode;
+       setbNode(editorNode);
        
        if (create_sockets) {
                bNodeSocket *input = (bNodeSocket *)editorNode->inputs.first;
@@ -64,16 +64,7 @@
                }
        }
 }
-Node::Node()
-{
-       this->m_editorNode = NULL;
-}
 
-bNode *Node::getbNode()
-{
-       return this->m_editorNode;
-}
-
 void Node::addSetValueOperation(ExecutionSystem *graph, InputSocket 
*inputsocket, int editorNodeInputSocketIndex)
 {
        bNodeSocket *bSock = (bNodeSocket 
*)this->getEditorInputSocket(editorNodeInputSocketIndex);

Modified: trunk/blender/source/blender/compositor/intern/COM_Node.h
===================================================================
--- trunk/blender/source/blender/compositor/intern/COM_Node.h   2012-07-04 
09:41:57 UTC (rev 48582)
+++ trunk/blender/source/blender/compositor/intern/COM_Node.h   2012-07-04 
10:01:45 UTC (rev 48583)
@@ -48,10 +48,6 @@
  */
 class Node : public NodeBase {
 private:
-       /**
-        * @brief stores the reference to the SDNA bNode struct
-        */
-       bNode *m_editorNode;
 
        /**
         * @brief Is this node part of the active group
@@ -60,13 +56,8 @@
 
 public:
        Node(bNode *editorNode, bool create_sockets = true);
-       
+
        /**
-        * @brief get the reference to the SDNA bNode struct
-        */
-       bNode *getbNode();
-       
-       /**
         * @brief Is this node in the active group (the group that is being 
edited)
         * @param isInActiveGroup
         */
@@ -137,9 +128,6 @@
         */
        OutputSocket *findOutputSocketBybNodeSocket(bNodeSocket *socket);
 protected:
-       
-       Node();
-       
        void addPreviewOperation(ExecutionSystem *system, InputSocket 
*inputSocket);
        void addPreviewOperation(ExecutionSystem *system, OutputSocket 
*outputSocket);
        

Modified: trunk/blender/source/blender/compositor/intern/COM_NodeBase.cpp
===================================================================
--- trunk/blender/source/blender/compositor/intern/COM_NodeBase.cpp     
2012-07-04 09:41:57 UTC (rev 48582)
+++ trunk/blender/source/blender/compositor/intern/COM_NodeBase.cpp     
2012-07-04 10:01:45 UTC (rev 48583)
@@ -33,7 +33,7 @@
 
 NodeBase::NodeBase()
 {
-       /* pass */
+       this->m_editorNode = NULL;
 }
 
 

Modified: trunk/blender/source/blender/compositor/intern/COM_NodeBase.h
===================================================================
--- trunk/blender/source/blender/compositor/intern/COM_NodeBase.h       
2012-07-04 09:41:57 UTC (rev 48582)
+++ trunk/blender/source/blender/compositor/intern/COM_NodeBase.h       
2012-07-04 10:01:45 UTC (rev 48583)
@@ -54,6 +54,11 @@
         */
        vector<OutputSocket *> m_outputsockets;
 
+       /**
+        * @brief stores the reference to the SDNA bNode struct
+        */
+       bNode *m_editorNode;
+
 protected:
        /**
         * @brief get access to the vector of input sockets
@@ -74,6 +79,18 @@
        virtual ~NodeBase();
        
        /**
+        * @brief get the reference to the SDNA bNode struct
+        */
+       bNode *getbNode() {return m_editorNode;}
+       
+       /**
+        * @brief set the reference to the bNode
+        * @note used in Node instances to receive the storage/settings and 
complex node for highlight during execution
+        * @param bNode
+        */
+       void setbNode(bNode *bNode) {this->m_editorNode = bNode;}
+       
+       /**
         * @brief is this node an operation?
         * This is true when the instance is of the subclass NodeOperation.
         * @return [true:false]

Modified: trunk/blender/source/blender/compositor/intern/COM_NodeOperation.cpp
===================================================================
--- trunk/blender/source/blender/compositor/intern/COM_NodeOperation.cpp        
2012-07-04 09:41:57 UTC (rev 48582)
+++ trunk/blender/source/blender/compositor/intern/COM_NodeOperation.cpp        
2012-07-04 10:01:45 UTC (rev 48583)
@@ -28,7 +28,7 @@
 #include "COM_SocketConnection.h"
 #include "COM_defines.h"
 
-NodeOperation::NodeOperation()
+NodeOperation::NodeOperation() : NodeBase()
 {
        this->m_resolutionInputSocketIndex = 0;
        this->m_complex = false;

Modified: trunk/blender/source/blender/compositor/nodes/COM_BlurNode.cpp
===================================================================
--- trunk/blender/source/blender/compositor/nodes/COM_BlurNode.cpp      
2012-07-04 09:41:57 UTC (rev 48582)
+++ trunk/blender/source/blender/compositor/nodes/COM_BlurNode.cpp      
2012-07-04 10:01:45 UTC (rev 48583)
@@ -49,6 +49,7 @@
        if (data->filtertype == R_FILTER_FAST_GAUSS) {
                FastGaussianBlurOperation *operationfgb = new 
FastGaussianBlurOperation();
                operationfgb->setData(data);
+               operationfgb->setbNode(editorNode);
                
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));
@@ -58,12 +59,14 @@
        else if (!data->bokeh) {
                GaussianXBlurOperation *operationx = new 
GaussianXBlurOperation();
                operationx->setData(data);
+               operationx->setbNode(editorNode);
                operationx->setQuality(quality);
                
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);
+               operationy->setbNode(editorNode);
                operationy->setQuality(quality);
                
this->getOutputSocket(0)->relinkConnections(operationy->getOutputSocket());
                graph->addOperation(operationy);
@@ -79,6 +82,7 @@
        else {
                GaussianBokehBlurOperation *operation = new 
GaussianBokehBlurOperation();
                operation->setData(data);
+               operation->setbNode(editorNode);
                
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, 
graph);
                
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, 
graph);
                operation->setQuality(quality);

Modified: trunk/blender/source/blender/compositor/nodes/COM_BokehBlurNode.cpp
===================================================================
--- trunk/blender/source/blender/compositor/nodes/COM_BokehBlurNode.cpp 
2012-07-04 09:41:57 UTC (rev 48582)
+++ trunk/blender/source/blender/compositor/nodes/COM_BokehBlurNode.cpp 
2012-07-04 10:01:45 UTC (rev 48583)
@@ -61,6 +61,7 @@
                
this->getInputSocket(3)->relinkConnections(operation->getInputSocket(2), 3, 
graph);
                operation->setSize(((bNodeSocketValueFloat 
*)this->getInputSocket(2)->getbNodeSocket()->default_value)->value);
                operation->setQuality(context->getQuality());
+               operation->setbNode(this->getbNode());
                graph->addOperation(operation);
                
this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket());
 //     }

Modified: trunk/blender/source/blender/compositor/nodes/COM_DefocusNode.cpp
===================================================================
--- trunk/blender/source/blender/compositor/nodes/COM_DefocusNode.cpp   
2012-07-04 09:41:57 UTC (rev 48582)
+++ trunk/blender/source/blender/compositor/nodes/COM_DefocusNode.cpp   
2012-07-04 10:01:45 UTC (rev 48583)
@@ -46,6 +46,7 @@
        NodeDefocus *data = (NodeDefocus *)node->storage;
 
        NodeOperation *radiusOperation;
+       OutputSocket * depthOperation;
        if (data->no_zbuf) {
                MathMultiplyOperation *multiply = new MathMultiplyOperation();
                SetValueOperation *multiplier = new SetValueOperation();
@@ -63,6 +64,7 @@
                graph->addOperation(maxRadius);
                graph->addOperation(minimize);
                radiusOperation = minimize;
+               depthOperation = minimize->getOutputSocket(0);
        }
        else {
                ConvertDepthToRadiusOperation *converter = new 
ConvertDepthToRadiusOperation();
@@ -72,6 +74,7 @@
                
this->getInputSocket(1)->relinkConnections(converter->getInputSocket(0), 1, 
graph);
                graph->addOperation(converter);
                radiusOperation = converter;
+               depthOperation = 
converter->getInputSocket(0)->getConnection()->getFromSocket();
        }
        
        BokehImageOperation *bokeh = new BokehImageOperation();
@@ -89,7 +92,15 @@
        bokeh->setData(bokehdata);
        bokeh->deleteDataOnFinish();
        graph->addOperation(bokeh);
-       
+
+#ifdef COM_DEFOCUS_SEARCH      
+       InverseSearchRadiusOperation *search = new 
InverseSearchRadiusOperation();
+       addLink(graph, radiusOperation->getOutputSocket(0), 
search->getInputSocket(0));
+       addLink(graph, depthOperation, search->getInputSocket(1));
+       search->setMaxBlur(data->maxblur);
+       search->setThreshold(data->bthresh);
+       graph->addOperation(search);
+#endif
        VariableSizeBokehBlurOperation *operation = new 
VariableSizeBokehBlurOperation();
        if (data->preview) {
                operation->setQuality(COM_QUALITY_LOW);
@@ -97,10 +108,14 @@

@@ Diff output truncated at 10240 characters. @@
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to