Blender V4.3
blender::compositor::NodeConverter Class Reference

#include <COM_NodeConverter.h>

Public Member Functions

 NodeConverter (NodeOperationBuilder *builder)
 
void add_operation (NodeOperation *operation)
 
void map_input_socket (NodeInput *node_socket, NodeOperationInput *operation_socket)
 
void map_output_socket (NodeOutput *node_socket, NodeOperationOutput *operation_socket)
 
NodeOperationOutputadd_input_proxy (NodeInput *input, bool use_conversion)
 
NodeOperationInputadd_output_proxy (NodeOutput *output, bool use_conversion)
 
void add_input_value (NodeOperationInput *input, float value)
 
void add_input_color (NodeOperationInput *input, const float value[4])
 
void add_input_vector (NodeOperationInput *input, const float value[3])
 
void add_output_value (NodeOutput *output, float value)
 
void add_output_color (NodeOutput *output, const float value[4])
 
void add_output_vector (NodeOutput *output, const float value[3])
 
void add_link (NodeOperationOutput *from, NodeOperationInput *to)
 
void add_preview (NodeOperationOutput *output)
 
void add_node_input_preview (NodeInput *input)
 
NodeOperationset_invalid_output (NodeOutput *output)
 
void register_viewer (ViewerOperation *viewer)
 
ViewerOperationactive_viewer () const
 

Detailed Description

Interface type for converting a Node into NodeOperation. This is passed to Node::convert_to_operation methods and allows them to register any number of operations, create links between them, and map original node sockets to their inputs or outputs.

Definition at line 29 of file COM_NodeConverter.h.

Constructor & Destructor Documentation

◆ NodeConverter()

blender::compositor::NodeConverter::NodeConverter ( NodeOperationBuilder * builder)

Definition at line 18 of file COM_NodeConverter.cc.

Member Function Documentation

◆ active_viewer()

ViewerOperation * blender::compositor::NodeConverter::active_viewer ( ) const

The currently active viewer output operation

Definition at line 144 of file COM_NodeConverter.cc.

References blender::compositor::NodeOperationBuilder::active_viewer().

◆ add_input_color()

◆ add_input_proxy()

◆ add_input_value()

◆ add_input_vector()

◆ add_link()

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

Add an explicit link between two operations.

Definition at line 36 of file COM_NodeConverter.cc.

References blender::compositor::NodeOperationBuilder::add_link().

Referenced by blender::compositor::BlurNode::convert_to_operations(), blender::compositor::BoxMaskNode::convert_to_operations(), blender::compositor::ChannelMatteNode::convert_to_operations(), blender::compositor::ChromaMatteNode::convert_to_operations(), blender::compositor::ColorMatteNode::convert_to_operations(), blender::compositor::ColorRampNode::convert_to_operations(), blender::compositor::CombineColorNode::convert_to_operations(), blender::compositor::CombineColorNodeLegacy::convert_to_operations(), blender::compositor::CornerPinNode::convert_to_operations(), blender::compositor::CryptomatteBaseNode::convert_to_operations(), blender::compositor::DefocusNode::convert_to_operations(), blender::compositor::DenoiseNode::convert_to_operations(), blender::compositor::DifferenceMatteNode::convert_to_operations(), blender::compositor::DilateErodeNode::convert_to_operations(), blender::compositor::DistanceMatteNode::convert_to_operations(), blender::compositor::EllipseMaskNode::convert_to_operations(), blender::compositor::GlareNode::convert_to_operations(), blender::compositor::HueSaturationValueCorrectNode::convert_to_operations(), blender::compositor::HueSaturationValueNode::convert_to_operations(), blender::compositor::IDMaskNode::convert_to_operations(), blender::compositor::ImageNode::convert_to_operations(), blender::compositor::KeyingNode::convert_to_operations(), blender::compositor::KuwaharaNode::convert_to_operations(), blender::compositor::LuminanceMatteNode::convert_to_operations(), blender::compositor::MaskNode::convert_to_operations(), blender::compositor::NormalNode::convert_to_operations(), blender::compositor::PlaneTrackDeformNode::convert_to_operations(), blender::compositor::ScaleNode::convert_to_operations(), blender::compositor::SeparateColorNode::convert_to_operations(), blender::compositor::SeparateColorNodeLegacy::convert_to_operations(), blender::compositor::Stabilize2dNode::convert_to_operations(), blender::compositor::TrackPositionNode::convert_to_operations(), blender::compositor::TransformNode::convert_to_operations(), blender::compositor::ZCombineNode::convert_to_operations(), blender::compositor::CryptomatteNode::create_cryptomatte_operation(), blender::compositor::KeyingNode::setup_clip(), blender::compositor::KeyingNode::setup_despill(), blender::compositor::KeyingNode::setup_dilate_erode(), blender::compositor::KeyingNode::setup_feather(), blender::compositor::KeyingNode::setup_post_blur(), and blender::compositor::KeyingNode::setup_pre_blur().

◆ add_node_input_preview()

void blender::compositor::NodeConverter::add_node_input_preview ( NodeInput * input)

◆ add_operation()

void blender::compositor::NodeConverter::add_operation ( NodeOperation * operation)

Insert a new operation into the operations graph. The operation must be created by the node.

Definition at line 20 of file COM_NodeConverter.cc.

References blender::compositor::NodeOperationBuilder::add_operation().

Referenced by blender::compositor::AlphaOverNode::convert_to_operations(), blender::compositor::AntiAliasingNode::convert_to_operations(), blender::compositor::BilateralBlurNode::convert_to_operations(), blender::compositor::BlurNode::convert_to_operations(), blender::compositor::BokehBlurNode::convert_to_operations(), blender::compositor::BokehImageNode::convert_to_operations(), blender::compositor::BoxMaskNode::convert_to_operations(), blender::compositor::BrightnessNode::convert_to_operations(), blender::compositor::ChannelMatteNode::convert_to_operations(), blender::compositor::ChromaMatteNode::convert_to_operations(), blender::compositor::ColorBalanceNode::convert_to_operations(), blender::compositor::ColorCorrectionNode::convert_to_operations(), blender::compositor::ColorCurveNode::convert_to_operations(), blender::compositor::ColorMatteNode::convert_to_operations(), blender::compositor::ColorNode::convert_to_operations(), blender::compositor::ColorRampNode::convert_to_operations(), blender::compositor::ColorSpillNode::convert_to_operations(), blender::compositor::ColorToBWNode::convert_to_operations(), blender::compositor::CombineColorNode::convert_to_operations(), blender::compositor::CombineColorNodeLegacy::convert_to_operations(), blender::compositor::CombineXYZNode::convert_to_operations(), blender::compositor::CompositorNode::convert_to_operations(), blender::compositor::ConvertAlphaNode::convert_to_operations(), blender::compositor::ConvertColorSpaceNode::convert_to_operations(), blender::compositor::CornerPinNode::convert_to_operations(), blender::compositor::CropNode::convert_to_operations(), blender::compositor::CryptomatteBaseNode::convert_to_operations(), blender::compositor::DefocusNode::convert_to_operations(), blender::compositor::DenoiseNode::convert_to_operations(), blender::compositor::DespeckleNode::convert_to_operations(), blender::compositor::DifferenceMatteNode::convert_to_operations(), blender::compositor::DilateErodeNode::convert_to_operations(), blender::compositor::DirectionalBlurNode::convert_to_operations(), blender::compositor::DisplaceNode::convert_to_operations(), blender::compositor::DistanceMatteNode::convert_to_operations(), blender::compositor::DoubleEdgeMaskNode::convert_to_operations(), blender::compositor::EllipseMaskNode::convert_to_operations(), blender::compositor::ExposureNode::convert_to_operations(), blender::compositor::FileOutputNode::convert_to_operations(), blender::compositor::FilterNode::convert_to_operations(), blender::compositor::FlipNode::convert_to_operations(), blender::compositor::GammaNode::convert_to_operations(), blender::compositor::GlareNode::convert_to_operations(), blender::compositor::HueSaturationValueCorrectNode::convert_to_operations(), blender::compositor::HueSaturationValueNode::convert_to_operations(), blender::compositor::IDMaskNode::convert_to_operations(), blender::compositor::ImageNode::convert_to_operations(), blender::compositor::InpaintNode::convert_to_operations(), blender::compositor::InvertNode::convert_to_operations(), blender::compositor::KeyingNode::convert_to_operations(), blender::compositor::KeyingScreenNode::convert_to_operations(), blender::compositor::KuwaharaNode::convert_to_operations(), blender::compositor::LensDistortionNode::convert_to_operations(), blender::compositor::LuminanceMatteNode::convert_to_operations(), blender::compositor::MapRangeNode::convert_to_operations(), blender::compositor::MapUVNode::convert_to_operations(), blender::compositor::MapValueNode::convert_to_operations(), blender::compositor::MaskNode::convert_to_operations(), blender::compositor::MathNode::convert_to_operations(), blender::compositor::MixNode::convert_to_operations(), blender::compositor::MovieClipNode::convert_to_operations(), blender::compositor::MovieDistortionNode::convert_to_operations(), blender::compositor::NormalizeNode::convert_to_operations(), blender::compositor::NormalNode::convert_to_operations(), blender::compositor::PixelateNode::convert_to_operations(), blender::compositor::PlaneTrackDeformNode::convert_to_operations(), blender::compositor::PosterizeNode::convert_to_operations(), blender::compositor::RotateNode::convert_to_operations(), blender::compositor::ScaleNode::convert_to_operations(), blender::compositor::SceneTimeNode::convert_to_operations(), blender::compositor::SeparateColorNode::convert_to_operations(), blender::compositor::SeparateColorNodeLegacy::convert_to_operations(), blender::compositor::SeparateXYZNode::convert_to_operations(), blender::compositor::SetAlphaNode::convert_to_operations(), blender::compositor::SplitNode::convert_to_operations(), blender::compositor::Stabilize2dNode::convert_to_operations(), blender::compositor::SunBeamsNode::convert_to_operations(), blender::compositor::TextureNode::convert_to_operations(), blender::compositor::TimeNode::convert_to_operations(), blender::compositor::TonemapNode::convert_to_operations(), blender::compositor::TrackPositionNode::convert_to_operations(), blender::compositor::TransformNode::convert_to_operations(), blender::compositor::TranslateNode::convert_to_operations(), blender::compositor::ValueNode::convert_to_operations(), blender::compositor::VectorBlurNode::convert_to_operations(), blender::compositor::VectorCurveNode::convert_to_operations(), blender::compositor::ViewerNode::convert_to_operations(), blender::compositor::ViewLevelsNode::convert_to_operations(), blender::compositor::ZCombineNode::convert_to_operations(), blender::compositor::CryptomatteNode::create_cryptomatte_operation(), blender::compositor::create_motion_operation(), blender::compositor::KeyingNode::setup_clip(), blender::compositor::KeyingNode::setup_despill(), blender::compositor::KeyingNode::setup_dilate_erode(), blender::compositor::KeyingNode::setup_feather(), blender::compositor::KeyingNode::setup_post_blur(), and blender::compositor::KeyingNode::setup_pre_blur().

◆ add_output_color()

◆ add_output_proxy()

NodeOperationInput * blender::compositor::NodeConverter::add_output_proxy ( NodeOutput * output,
bool use_conversion )

Create a proxy operation for a node output. This operation will be removed later and replaced by direct links between the connected operations.

Definition at line 75 of file COM_NodeConverter.cc.

References blender::compositor::NodeOperationBuilder::add_operation(), blender::compositor::NodeOperation::get_input_socket(), blender::compositor::NodeOperation::get_output_socket(), and blender::compositor::NodeOperationBuilder::map_output_socket().

◆ add_output_value()

◆ add_output_vector()

void blender::compositor::NodeConverter::add_output_vector ( NodeOutput * output,
const float value[3] )

◆ add_preview()

◆ map_input_socket()

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

Map input socket of the node to an operation socket. Links between nodes will then generate equivalent links between the mapped operation sockets.

Note
A Node input can be mapped to multiple NodeOperation inputs.

Definition at line 25 of file COM_NodeConverter.cc.

References blender::compositor::NodeOperationBuilder::map_input_socket().

Referenced by blender::compositor::AlphaOverNode::convert_to_operations(), blender::compositor::AntiAliasingNode::convert_to_operations(), blender::compositor::BilateralBlurNode::convert_to_operations(), blender::compositor::BlurNode::convert_to_operations(), blender::compositor::BokehBlurNode::convert_to_operations(), blender::compositor::BoxMaskNode::convert_to_operations(), blender::compositor::BrightnessNode::convert_to_operations(), blender::compositor::ChannelMatteNode::convert_to_operations(), blender::compositor::ChromaMatteNode::convert_to_operations(), blender::compositor::ColorBalanceNode::convert_to_operations(), blender::compositor::ColorCorrectionNode::convert_to_operations(), blender::compositor::ColorCurveNode::convert_to_operations(), blender::compositor::ColorMatteNode::convert_to_operations(), blender::compositor::ColorRampNode::convert_to_operations(), blender::compositor::ColorSpillNode::convert_to_operations(), blender::compositor::ColorToBWNode::convert_to_operations(), blender::compositor::CombineColorNode::convert_to_operations(), blender::compositor::CombineColorNodeLegacy::convert_to_operations(), blender::compositor::CombineXYZNode::convert_to_operations(), blender::compositor::CompositorNode::convert_to_operations(), blender::compositor::ConvertAlphaNode::convert_to_operations(), blender::compositor::ConvertColorSpaceNode::convert_to_operations(), blender::compositor::CornerPinNode::convert_to_operations(), blender::compositor::CropNode::convert_to_operations(), blender::compositor::CryptomatteBaseNode::convert_to_operations(), blender::compositor::DefocusNode::convert_to_operations(), blender::compositor::DenoiseNode::convert_to_operations(), blender::compositor::DespeckleNode::convert_to_operations(), blender::compositor::DifferenceMatteNode::convert_to_operations(), blender::compositor::DilateErodeNode::convert_to_operations(), blender::compositor::DirectionalBlurNode::convert_to_operations(), blender::compositor::DisplaceNode::convert_to_operations(), blender::compositor::DistanceMatteNode::convert_to_operations(), blender::compositor::DoubleEdgeMaskNode::convert_to_operations(), blender::compositor::EllipseMaskNode::convert_to_operations(), blender::compositor::ExposureNode::convert_to_operations(), blender::compositor::FileOutputNode::convert_to_operations(), blender::compositor::FilterNode::convert_to_operations(), blender::compositor::FlipNode::convert_to_operations(), blender::compositor::GammaNode::convert_to_operations(), blender::compositor::GlareNode::convert_to_operations(), blender::compositor::HueSaturationValueCorrectNode::convert_to_operations(), blender::compositor::HueSaturationValueNode::convert_to_operations(), blender::compositor::IDMaskNode::convert_to_operations(), blender::compositor::InpaintNode::convert_to_operations(), blender::compositor::InvertNode::convert_to_operations(), blender::compositor::KeyingNode::convert_to_operations(), blender::compositor::KuwaharaNode::convert_to_operations(), blender::compositor::LensDistortionNode::convert_to_operations(), blender::compositor::LuminanceMatteNode::convert_to_operations(), blender::compositor::MapRangeNode::convert_to_operations(), blender::compositor::MapUVNode::convert_to_operations(), blender::compositor::MapValueNode::convert_to_operations(), blender::compositor::MathNode::convert_to_operations(), blender::compositor::MixNode::convert_to_operations(), blender::compositor::MovieDistortionNode::convert_to_operations(), blender::compositor::NormalizeNode::convert_to_operations(), blender::compositor::NormalNode::convert_to_operations(), blender::compositor::PixelateNode::convert_to_operations(), blender::compositor::PlaneTrackDeformNode::convert_to_operations(), blender::compositor::PosterizeNode::convert_to_operations(), blender::compositor::RotateNode::convert_to_operations(), blender::compositor::ScaleNode::convert_to_operations(), blender::compositor::SeparateColorNode::convert_to_operations(), blender::compositor::SeparateColorNodeLegacy::convert_to_operations(), blender::compositor::SeparateXYZNode::convert_to_operations(), blender::compositor::SetAlphaNode::convert_to_operations(), blender::compositor::SplitNode::convert_to_operations(), blender::compositor::Stabilize2dNode::convert_to_operations(), blender::compositor::SunBeamsNode::convert_to_operations(), blender::compositor::TextureNode::convert_to_operations(), blender::compositor::TonemapNode::convert_to_operations(), blender::compositor::TransformNode::convert_to_operations(), blender::compositor::TranslateNode::convert_to_operations(), blender::compositor::VectorBlurNode::convert_to_operations(), blender::compositor::VectorCurveNode::convert_to_operations(), blender::compositor::ViewerNode::convert_to_operations(), blender::compositor::ViewLevelsNode::convert_to_operations(), blender::compositor::ZCombineNode::convert_to_operations(), blender::compositor::CryptomatteLegacyNode::create_cryptomatte_operation(), blender::compositor::KeyingNode::setup_despill(), and blender::compositor::KeyingNode::setup_pre_blur().

◆ map_output_socket()

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

Map output socket of the node to an operation socket. Links between nodes will then generate equivalent links between the mapped operation sockets.

Note
A Node output can only be mapped to one NodeOperation output. Any existing operation output mapping will be replaced.

Definition at line 30 of file COM_NodeConverter.cc.

References blender::compositor::NodeOperationBuilder::map_output_socket().

Referenced by blender::compositor::AlphaOverNode::convert_to_operations(), blender::compositor::AntiAliasingNode::convert_to_operations(), blender::compositor::BilateralBlurNode::convert_to_operations(), blender::compositor::BlurNode::convert_to_operations(), blender::compositor::BokehBlurNode::convert_to_operations(), blender::compositor::BokehImageNode::convert_to_operations(), blender::compositor::BoxMaskNode::convert_to_operations(), blender::compositor::BrightnessNode::convert_to_operations(), blender::compositor::ChannelMatteNode::convert_to_operations(), blender::compositor::ChromaMatteNode::convert_to_operations(), blender::compositor::ColorBalanceNode::convert_to_operations(), blender::compositor::ColorCorrectionNode::convert_to_operations(), blender::compositor::ColorCurveNode::convert_to_operations(), blender::compositor::ColorMatteNode::convert_to_operations(), blender::compositor::ColorNode::convert_to_operations(), blender::compositor::ColorRampNode::convert_to_operations(), blender::compositor::ColorSpillNode::convert_to_operations(), blender::compositor::ColorToBWNode::convert_to_operations(), blender::compositor::CombineColorNode::convert_to_operations(), blender::compositor::CombineColorNodeLegacy::convert_to_operations(), blender::compositor::CombineXYZNode::convert_to_operations(), blender::compositor::ConvertAlphaNode::convert_to_operations(), blender::compositor::ConvertColorSpaceNode::convert_to_operations(), blender::compositor::CornerPinNode::convert_to_operations(), blender::compositor::CropNode::convert_to_operations(), blender::compositor::CryptomatteBaseNode::convert_to_operations(), blender::compositor::DefocusNode::convert_to_operations(), blender::compositor::DenoiseNode::convert_to_operations(), blender::compositor::DespeckleNode::convert_to_operations(), blender::compositor::DifferenceMatteNode::convert_to_operations(), blender::compositor::DilateErodeNode::convert_to_operations(), blender::compositor::DirectionalBlurNode::convert_to_operations(), blender::compositor::DisplaceNode::convert_to_operations(), blender::compositor::DistanceMatteNode::convert_to_operations(), blender::compositor::DoubleEdgeMaskNode::convert_to_operations(), blender::compositor::EllipseMaskNode::convert_to_operations(), blender::compositor::ExposureNode::convert_to_operations(), blender::compositor::FilterNode::convert_to_operations(), blender::compositor::FlipNode::convert_to_operations(), blender::compositor::GammaNode::convert_to_operations(), blender::compositor::GlareNode::convert_to_operations(), blender::compositor::HueSaturationValueCorrectNode::convert_to_operations(), blender::compositor::HueSaturationValueNode::convert_to_operations(), blender::compositor::IDMaskNode::convert_to_operations(), blender::compositor::ImageNode::convert_to_operations(), blender::compositor::InpaintNode::convert_to_operations(), blender::compositor::InvertNode::convert_to_operations(), blender::compositor::KeyingNode::convert_to_operations(), blender::compositor::KeyingScreenNode::convert_to_operations(), blender::compositor::KuwaharaNode::convert_to_operations(), blender::compositor::LensDistortionNode::convert_to_operations(), blender::compositor::LuminanceMatteNode::convert_to_operations(), blender::compositor::MapRangeNode::convert_to_operations(), blender::compositor::MapUVNode::convert_to_operations(), blender::compositor::MapValueNode::convert_to_operations(), blender::compositor::MaskNode::convert_to_operations(), blender::compositor::MathNode::convert_to_operations(), blender::compositor::MixNode::convert_to_operations(), blender::compositor::MovieClipNode::convert_to_operations(), blender::compositor::MovieDistortionNode::convert_to_operations(), blender::compositor::NormalizeNode::convert_to_operations(), blender::compositor::NormalNode::convert_to_operations(), blender::compositor::PixelateNode::convert_to_operations(), blender::compositor::PlaneTrackDeformNode::convert_to_operations(), blender::compositor::PosterizeNode::convert_to_operations(), blender::compositor::RotateNode::convert_to_operations(), blender::compositor::ScaleNode::convert_to_operations(), blender::compositor::SceneTimeNode::convert_to_operations(), blender::compositor::SeparateColorNode::convert_to_operations(), blender::compositor::SeparateColorNodeLegacy::convert_to_operations(), blender::compositor::SeparateXYZNode::convert_to_operations(), blender::compositor::SetAlphaNode::convert_to_operations(), blender::compositor::SocketProxyNode::convert_to_operations(), blender::compositor::SplitNode::convert_to_operations(), blender::compositor::Stabilize2dNode::convert_to_operations(), blender::compositor::SunBeamsNode::convert_to_operations(), blender::compositor::SwitchNode::convert_to_operations(), blender::compositor::SwitchViewNode::convert_to_operations(), blender::compositor::TextureNode::convert_to_operations(), blender::compositor::TimeNode::convert_to_operations(), blender::compositor::TonemapNode::convert_to_operations(), blender::compositor::TrackPositionNode::convert_to_operations(), blender::compositor::TransformNode::convert_to_operations(), blender::compositor::TranslateNode::convert_to_operations(), blender::compositor::ValueNode::convert_to_operations(), blender::compositor::VectorBlurNode::convert_to_operations(), blender::compositor::VectorCurveNode::convert_to_operations(), blender::compositor::ViewLevelsNode::convert_to_operations(), and blender::compositor::ZCombineNode::convert_to_operations().

◆ register_viewer()

void blender::compositor::NodeConverter::register_viewer ( ViewerOperation * viewer)

Define a viewer operation as the active output, if possible

Definition at line 139 of file COM_NodeConverter.cc.

References blender::compositor::NodeOperationBuilder::register_viewer().

Referenced by blender::compositor::ViewerNode::convert_to_operations().

◆ set_invalid_output()

NodeOperation * blender::compositor::NodeConverter::set_invalid_output ( NodeOutput * output)

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