Cleanup: comment line length (editors)
[blender.git] / source / blender / compositor / nodes / COM_ViewerNode.cpp
index 09a3cea2da187cb4a4898a7d871778bcfc19a085..773476f588afc318813169dad6e214df0ed63ea7 100644 (file)
  * along with this program; if not, write to the Free Software Foundation,
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  *
- * Contributor: 
- *             Jeroen Bakker 
- *             Monique Dewanchand
+ * Contributor:
+ *      Jeroen Bakker
+ *      Monique Dewanchand
  */
 
 #include "COM_ViewerNode.h"
 #include "BKE_global.h"
+#include "BKE_image.h"
+#include "BLI_listbase.h"
+#include "BKE_scene.h"
 
 #include "COM_ViewerOperation.h"
 #include "COM_ExecutionSystem.h"
@@ -34,9 +37,8 @@ ViewerNode::ViewerNode(bNode *editorNode) : Node(editorNode)
 void ViewerNode::convertToOperations(NodeConverter &converter, const CompositorContext &context) const
 {
        bNode *editorNode = this->getbNode();
-       bool is_active = (editorNode->flag & NODE_DO_OUTPUT_RECALC || context.isRendering()) &&
-                        ((editorNode->flag & NODE_DO_OUTPUT) && this->isInActiveGroup());
-       bool ignore_alpha = editorNode->custom2 & CMP_NODE_OUTPUT_IGNORE_ALPHA;
+       bool do_output = (editorNode->flag & NODE_DO_OUTPUT_RECALC || context.isRendering()) && (editorNode->flag & NODE_DO_OUTPUT);
+       bool ignore_alpha = (editorNode->custom2 & CMP_NODE_OUTPUT_IGNORE_ALPHA) != 0;
 
        NodeInput *imageSocket = this->getInputSocket(0);
        NodeInput *alphaSocket = this->getInputSocket(1);
@@ -47,12 +49,13 @@ void ViewerNode::convertToOperations(NodeConverter &converter, const CompositorC
        viewerOperation->setbNodeTree(context.getbNodeTree());
        viewerOperation->setImage(image);
        viewerOperation->setImageUser(imageUser);
-       viewerOperation->setActive(is_active);
        viewerOperation->setChunkOrder((OrderOfChunks)editorNode->custom1);
        viewerOperation->setCenterX(editorNode->custom3);
        viewerOperation->setCenterY(editorNode->custom4);
        /* alpha socket gives either 1 or a custom alpha value if "use alpha" is enabled */
        viewerOperation->setUseAlphaInput(ignore_alpha || alphaSocket->isLinked());
+       viewerOperation->setRenderData(context.getRenderData());
+       viewerOperation->setViewName(context.getViewName());
 
        viewerOperation->setViewSettings(context.getViewSettings());
        viewerOperation->setDisplaySettings(context.getDisplaySettings());
@@ -74,4 +77,7 @@ void ViewerNode::convertToOperations(NodeConverter &converter, const CompositorC
        converter.mapInputSocket(depthSocket, viewerOperation->getInputSocket(2));
 
        converter.addNodeInputPreview(imageSocket);
+
+       if (do_output)
+               converter.registerViewer(viewerOperation);
 }