Blender  V2.93
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)
 
const CompositorContextcontext () const
 
void convertToOperations (ExecutionSystem *system)
 
void addOperation (NodeOperation *operation)
 
void mapInputSocket (NodeInput *node_socket, NodeOperationInput *operation_socket)
 
void mapOutputSocket (NodeOutput *node_socket, NodeOperationOutput *operation_socket)
 
void addLink (NodeOperationOutput *from, NodeOperationInput *to)
 
void removeInputLink (NodeOperationInput *to)
 
void addPreview (NodeOperationOutput *output)
 
void addNodeInputPreview (NodeInput *input)
 
void registerViewer (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 determineResolutions ()
 
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 45 of file COM_NodeOperationBuilder.h.

Constructor & Destructor Documentation

◆ NodeOperationBuilder()

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

Member Function Documentation

◆ active_viewer()

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

The currently active viewer output operation

Definition at line 116 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_operation_input_constants()

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

Construct a constant value operation for every unconnected input

Definition at line 280 of file COM_NodeOperationBuilder.cc.

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

Referenced by convertToOperations().

◆ add_output_buffers()

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

◆ addLink()

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

◆ addNodeInputPreview()

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

◆ addOperation()

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

◆ addPreview()

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

Add a preview operation for a operation output

Definition at line 209 of file COM_NodeOperationBuilder.cc.

References addLink(), addOperation(), blender::compositor::NodeOperation::getInputSocket(), and output.

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

◆ 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 419 of file COM_NodeOperationBuilder.cc.

References inputs, and output.

Referenced by add_output_buffers().

◆ context()

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

Definition at line 91 of file COM_NodeOperationBuilder.h.

Referenced by NodeOperationBuilder().

◆ convertToOperations()

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

◆ determineResolutions()

void blender::compositor::NodeOperationBuilder::determineResolutions ( )
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 431 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 126 of file COM_NodeOperationBuilder.h.

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

◆ get_operations()

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

Definition at line 121 of file COM_NodeOperationBuilder.h.

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

◆ group_operations()

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

◆ make_group()

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

◆ mapInputSocket()

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

◆ mapOutputSocket()

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

◆ prune_operations()

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

◆ registerViewer()

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

◆ removeInputLink()

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

◆ resolve_proxies()

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

Replace proxy operations with direct links

Definition at line 351 of file COM_NodeOperationBuilder.cc.

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

Referenced by convertToOperations().

◆ sort_operations()

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

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