Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/compositor/intern/COM_NodeOperationBuilder.h')
-rw-r--r--source/blender/compositor/intern/COM_NodeOperationBuilder.h50
1 files changed, 25 insertions, 25 deletions
diff --git a/source/blender/compositor/intern/COM_NodeOperationBuilder.h b/source/blender/compositor/intern/COM_NodeOperationBuilder.h
index 2bb5b94c57f..0eafd27b46a 100644
--- a/source/blender/compositor/intern/COM_NodeOperationBuilder.h
+++ b/source/blender/compositor/intern/COM_NodeOperationBuilder.h
@@ -52,48 +52,48 @@ public:
private:
NodeOperationOutput *m_from;
NodeOperationInput *m_to;
-
+
public:
Link(NodeOperationOutput *from, NodeOperationInput *to) :
m_from(from),
m_to(to)
{}
-
+
NodeOperationOutput *from() const { return m_from; }
NodeOperationInput *to() const { return m_to; }
};
-
+
typedef std::vector<NodeOperation *> Operations;
typedef std::vector<Link> Links;
typedef std::vector<ExecutionGroup *> Groups;
-
+
typedef std::map<NodeOperationInput *, NodeInput *> InputSocketMap;
typedef std::map<NodeOutput *, NodeOperationOutput *> OutputSocketMap;
-
+
typedef std::vector<NodeOperationInput *> OpInputs;
typedef std::map<NodeInput *, OpInputs> OpInputInverseMap;
-
+
private:
const CompositorContext *m_context;
NodeGraph m_graph;
-
+
Operations m_operations;
Links m_links;
Groups m_groups;
-
+
/** Maps operation inputs to node inputs */
InputSocketMap m_input_map;
/** Maps node outputs to operation outputs */
OutputSocketMap m_output_map;
-
+
Node *m_current_node;
-
+
/** Operation that will be writing to the viewer image
* Only one operation can occupy this place at a time,
* to avoid race conditions
*/
ViewerOperation *m_active_viewer;
-
+
public:
NodeOperationBuilder(const CompositorContext *context, bNodeTree *b_nodetree);
~NodeOperationBuilder();
@@ -103,43 +103,43 @@ public:
void convertToOperations(ExecutionSystem *system);
void addOperation(NodeOperation *operation);
-
+
/** Map input socket of the current node to an operation socket */
void mapInputSocket(NodeInput *node_socket, NodeOperationInput *operation_socket);
/** Map output socket of the current node to an operation socket */
void mapOutputSocket(NodeOutput *node_socket, NodeOperationOutput *operation_socket);
-
+
void addLink(NodeOperationOutput *from, NodeOperationInput *to);
void removeInputLink(NodeOperationInput *to);
-
+
/** Add a preview operation for a operation output */
void addPreview(NodeOperationOutput *output);
/** Add a preview operation for a node input */
void addNodeInputPreview(NodeInput *input);
-
+
/** Define a viewer operation as the active output, if possible */
void registerViewer(ViewerOperation *viewer);
/** The currently active viewer output operation */
ViewerOperation *active_viewer() const { return m_active_viewer; }
-
+
protected:
static NodeInput *find_node_input(const InputSocketMap &map, NodeOperationInput *op_input);
static const OpInputs &find_operation_inputs(const OpInputInverseMap &map, NodeInput *node_input);
static NodeOperationOutput *find_operation_output(const OutputSocketMap &map, NodeOutput *node_output);
-
+
/** Add datatype conversion where needed */
void add_datatype_conversions();
-
+
/** Construct a constant value operation for every unconnected input */
void add_operation_input_constants();
void add_input_constant_value(NodeOperationInput *input, NodeInput *node_input);
-
+
/** Replace proxy operations with direct links */
void resolve_proxies();
-
+
/** Calculate resolution for each operation */
void determineResolutions();
-
+
/** Helper function to store connected inputs for replacement */
OpInputs cache_output_links(NodeOperationOutput *output) const;
/** Find a connected write buffer operation to an OpOutput */
@@ -148,17 +148,17 @@ protected:
void add_complex_operation_buffers();
void add_input_buffers(NodeOperation *operation, NodeOperationInput *input);
void add_output_buffers(NodeOperation *operation, NodeOperationOutput *output);
-
+
/** Remove unreachable operations */
void prune_operations();
-
+
/** Sort operations by link dependencies */
void sort_operations();
-
+
/** Create execution groups */
void group_operations();
ExecutionGroup *make_group(NodeOperation *op);
-
+
private:
PreviewOperation *make_preview_operation() const;