Blender  V3.3
Classes | Public Member Functions | Protected Member Functions | List of all members
blender::compositor::NodeOperationBuilder Class Reference

#include <COM_NodeOperationBuilder.h>

Classes

class  Link
 

Public Member Functions

 NodeOperationBuilder (const CompositorContext *context, bNodeTree *b_nodetree, ExecutionSystem *system)
 
const CompositorContextcontext () const
 
void convert_to_operations (ExecutionSystem *system)
 
void add_operation (NodeOperation *operation)
 
void replace_operation_with_constant (NodeOperation *operation, ConstantOperation *constant_operation)
 
void map_input_socket (NodeInput *node_socket, NodeOperationInput *operation_socket)
 
void map_output_socket (NodeOutput *node_socket, NodeOperationOutput *operation_socket)
 
void add_link (NodeOperationOutput *from, NodeOperationInput *to)
 
void remove_input_link (NodeOperationInput *to)
 
void add_preview (NodeOperationOutput *output)
 
void add_node_input_preview (NodeInput *input)
 
void register_viewer (ViewerOperation *viewer)
 
ViewerOperationactive_viewer () const
 
const Vector< NodeOperation * > & get_operations () const
 
const Vector< Link > & get_links () const
 

Protected Member Functions

void add_datatype_conversions ()
 
void add_operation_input_constants ()
 
void add_input_constant_value (NodeOperationInput *input, const NodeInput *node_input)
 
void resolve_proxies ()
 
void determine_canvases ()
 
Vector< NodeOperationInput * > cache_output_links (NodeOperationOutput *output) const
 
WriteBufferOperationfind_attached_write_buffer_operation (NodeOperationOutput *output) const
 
void add_complex_operation_buffers ()
 
void add_input_buffers (NodeOperation *operation, NodeOperationInput *input)
 
void add_output_buffers (NodeOperation *operation, NodeOperationOutput *output)
 
void prune_operations ()
 
void sort_operations ()
 
void group_operations ()
 
ExecutionGroupmake_group (NodeOperation *op)
 

Detailed Description

Definition at line 30 of file COM_NodeOperationBuilder.h.

Constructor & Destructor Documentation

◆ NodeOperationBuilder()

blender::compositor::NodeOperationBuilder::NodeOperationBuilder ( const CompositorContext context,
bNodeTree b_nodetree,
ExecutionSystem system 
)

Member Function Documentation

◆ active_viewer()

ViewerOperation* blender::compositor::NodeOperationBuilder::active_viewer ( ) const
inline

The currently active viewer output operation

Definition at line 106 of file COM_NodeOperationBuilder.h.

Referenced by blender::compositor::NodeConverter::active_viewer().

◆ add_complex_operation_buffers()

void blender::compositor::NodeOperationBuilder::add_complex_operation_buffers ( )
protected

◆ add_datatype_conversions()

void blender::compositor::NodeOperationBuilder::add_datatype_conversions ( )
protected

◆ add_input_buffers()

void blender::compositor::NodeOperationBuilder::add_input_buffers ( NodeOperation operation,
NodeOperationInput input 
)
protected

◆ add_input_constant_value()

void blender::compositor::NodeOperationBuilder::add_input_constant_value ( NodeOperationInput input,
const NodeInput node_input 
)
protected

◆ add_link()

void blender::compositor::NodeOperationBuilder::add_link ( NodeOperationOutput from,
NodeOperationInput to 
)

◆ add_node_input_preview()

void blender::compositor::NodeOperationBuilder::add_node_input_preview ( NodeInput input)

◆ add_operation()

void blender::compositor::NodeOperationBuilder::add_operation ( NodeOperation operation)

◆ add_operation_input_constants()

void blender::compositor::NodeOperationBuilder::add_operation_input_constants ( )
protected

Construct a constant value operation for every unconnected input

Definition at line 308 of file COM_NodeOperationBuilder.cc.

References add_input_constant_value(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), and input.

Referenced by convert_to_operations().

◆ add_output_buffers()

void blender::compositor::NodeOperationBuilder::add_output_buffers ( NodeOperation operation,
NodeOperationOutput output 
)
protected

◆ add_preview()

void blender::compositor::NodeOperationBuilder::add_preview ( NodeOperationOutput output)

Add a preview operation for a operation output

Definition at line 237 of file COM_NodeOperationBuilder.cc.

References add_link(), add_operation(), blender::compositor::NodeOperation::get_input_socket(), and output.

Referenced by blender::compositor::NodeConverter::add_preview().

◆ cache_output_links()

Vector< NodeOperationInput * > blender::compositor::NodeOperationBuilder::cache_output_links ( NodeOperationOutput output) const
protected

Helper function to store connected inputs for replacement

Definition at line 501 of file COM_NodeOperationBuilder.cc.

References inputs, and output.

Referenced by add_output_buffers().

◆ context()

const CompositorContext& blender::compositor::NodeOperationBuilder::context ( ) const
inline

◆ convert_to_operations()

void blender::compositor::NodeOperationBuilder::convert_to_operations ( ExecutionSystem system)

◆ determine_canvases()

void blender::compositor::NodeOperationBuilder::determine_canvases ( )
protected

◆ find_attached_write_buffer_operation()

WriteBufferOperation * blender::compositor::NodeOperationBuilder::find_attached_write_buffer_operation ( NodeOperationOutput output) const
protected

Find a connected write buffer operation to an OpOutput

Definition at line 513 of file COM_NodeOperationBuilder.cc.

References blender::compositor::NodeOperation::get_flags(), blender::compositor::NodeOperationFlags::is_write_buffer_operation, and output.

Referenced by add_input_buffers().

◆ get_links()

const Vector<Link>& blender::compositor::NodeOperationBuilder::get_links ( ) const
inline

Definition at line 116 of file COM_NodeOperationBuilder.h.

Referenced by blender::compositor::operator<<().

◆ get_operations()

const Vector<NodeOperation *>& blender::compositor::NodeOperationBuilder::get_operations ( ) const
inline

◆ group_operations()

void blender::compositor::NodeOperationBuilder::group_operations ( )
protected

◆ make_group()

ExecutionGroup * blender::compositor::NodeOperationBuilder::make_group ( NodeOperation op)
protected

◆ map_input_socket()

void blender::compositor::NodeOperationBuilder::map_input_socket ( NodeInput node_socket,
NodeOperationInput operation_socket 
)

◆ map_output_socket()

void blender::compositor::NodeOperationBuilder::map_output_socket ( NodeOutput node_socket,
NodeOperationOutput operation_socket 
)

◆ prune_operations()

void blender::compositor::NodeOperationBuilder::prune_operations ( )
protected

◆ register_viewer()

void blender::compositor::NodeOperationBuilder::register_viewer ( ViewerOperation viewer)

◆ remove_input_link()

void blender::compositor::NodeOperationBuilder::remove_input_link ( NodeOperationInput to)

◆ replace_operation_with_constant()

void blender::compositor::NodeOperationBuilder::replace_operation_with_constant ( NodeOperation operation,
ConstantOperation constant_operation 
)

◆ resolve_proxies()

void blender::compositor::NodeOperationBuilder::resolve_proxies ( )
protected

Replace proxy operations with direct links

Definition at line 379 of file COM_NodeOperationBuilder.cc.

References add_link(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), from, and remove_input_link().

Referenced by convert_to_operations().

◆ sort_operations()

void blender::compositor::NodeOperationBuilder::sort_operations ( )
protected

The documentation for this class was generated from the following files: