Tie compositor will now update render result when changing node setup
[blender.git] / source / blender / compositor / operations / COM_CompositorOperation.h
index 41d43f896bb265dc752b67f508a82e3f93236858..51a31105d5c016b6e31cfbb7e743bdd94947846d 100644 (file)
@@ -15,8 +15,8 @@
  * 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 
+ * Contributor:
+ *             Jeroen Bakker
  *             Monique Dewanchand
  */
 
 #include "BLI_rect.h"
 
 /**
 * @brief Compositor output operation
 */
+ * @brief Compositor output operation
+ */
 class CompositorOperation : public NodeOperation {
 private:
+       const Scene *m_scene;
+
        /**
-         * @brief local reference to the scene
-         */
-       const Scene *scene;
-       
+        * @brief local reference to the scene
+        */
+       const RenderData *m_rd;
+
        /**
-         * @brief local reference to the node tree
-         */
-       const bNodeTree *tree;
-       
+        * @brief reference to the output float buffer
+        */
+       float *m_outputBuffer;
+
        /**
-         * @brief reference to the output float buffer
-         */
-       float *outputBuffer;
-       
+        * @brief reference to the output depth float buffer
+        */
+       float *m_depthBuffer;
+
+       /**
+        * @brief local reference to the input image operation
+        */
+       SocketReader *m_imageInput;
+
        /**
-         * @brief local reference to the input image operation
-         */
-       SocketReader *imageInput;
+        * @brief local reference to the input alpha operation
+        */
+       SocketReader *m_alphaInput;
 
        /**
-         * @brief local reference to the input alpha operation
-         */
-       SocketReader *alphaInput;
+        * @brief local reference to the depth operation
+        */
+       SocketReader *m_depthInput;
 public:
        CompositorOperation();
-       void executeRegion(rcti *rect, unsigned int tileNumber, MemoryBuffer** memoryBuffers);
-       void setScene(const Scene *scene) {this->scene = scene;}
-       void setbNodeTree(const bNodeTree *tree) {this->tree = tree;}
-       bool isOutputOperation(bool rendering) const {return true;}
+       void executeRegion(rcti *rect, unsigned int tileNumber);
+       void setScene(const Scene *scene) { this->m_scene = scene; }
+       void setRenderData(const RenderData *rd) { this->m_rd = rd; }
+       bool isOutputOperation(bool rendering) const { return true; }
        void initExecution();
        void deinitExecution();
-       const int getRenderPriority() const {return 7;}
+       const CompositorPriority getRenderPriority() const { return COM_PRIORITY_MEDIUM; }
        void determineResolution(unsigned int resolution[], unsigned int preferredResolution[]);
 };
 #endif