Blender  V3.3
Public Member Functions | List of all members
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 28 of file COM_NodeConverter.h.

Constructor & Destructor Documentation

◆ NodeConverter()

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

Definition at line 17 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 145 of file COM_NodeConverter.cc.

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

◆ add_input_color()

void blender::compositor::NodeConverter::add_input_color ( NodeOperationInput input,
const float  value[4] 
)

◆ add_input_proxy()

NodeOperationOutput * blender::compositor::NodeConverter::add_input_proxy ( NodeInput input,
bool  use_conversion 
)

◆ add_input_value()

void blender::compositor::NodeConverter::add_input_value ( NodeOperationInput input,
float  value 
)

◆ add_input_vector()

void blender::compositor::NodeConverter::add_input_vector ( NodeOperationInput input,
const float  value[3] 
)

◆ add_link()

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

Add an explicit link between two operations.

Definition at line 37 of file COM_NodeConverter.cc.

References blender::compositor::NodeOperationBuilder::add_link(), and from.

Referenced by blender::compositor::AntiAliasingNode::convert_to_operations(), 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::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::LuminanceMatteNode::convert_to_operations(), blender::compositor::NormalNode::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::SplitViewerNode::convert_to_operations(), blender::compositor::Stabilize2dNode::convert_to_operations(), blender::compositor::TrackPositionNode::convert_to_operations(), blender::compositor::TransformNode::convert_to_operations(), blender::compositor::TranslateNode::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 21 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::ExposureNode::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::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::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::OutputFileNode::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::SocketBufferNode::convert_to_operations(), blender::compositor::SplitViewerNode::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()

void blender::compositor::NodeConverter::add_output_color ( NodeOutput output,
const float  value[4] 
)

◆ 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 76 of file COM_NodeConverter.cc.

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

◆ add_output_value()

void blender::compositor::NodeConverter::add_output_value ( NodeOutput output,
float  value 
)

◆ add_output_vector()

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

◆ add_preview()

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

◆ 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 26 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::ExposureNode::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::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::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::OutputFileNode::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::SocketBufferNode::convert_to_operations(), blender::compositor::SplitViewerNode::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 31 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::ExposureNode::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::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::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::SocketBufferNode::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)

◆ set_invalid_output()

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

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