Blender  V2.93
Public Member Functions | List of all members
blender::compositor::NodeConverter Class Reference

#include <COM_NodeConverter.h>

Public Member Functions

 NodeConverter (NodeOperationBuilder *builder)
 
void addOperation (NodeOperation *operation)
 
void mapInputSocket (NodeInput *node_socket, NodeOperationInput *operation_socket)
 
void mapOutputSocket (NodeOutput *node_socket, NodeOperationOutput *operation_socket)
 
NodeOperationOutputaddInputProxy (NodeInput *input, bool use_conversion)
 
NodeOperationInputaddOutputProxy (NodeOutput *output, bool use_conversion)
 
void addInputValue (NodeOperationInput *input, float value)
 
void addInputColor (NodeOperationInput *input, const float value[4])
 
void addInputVector (NodeOperationInput *input, const float value[3])
 
void addOutputValue (NodeOutput *output, float value)
 
void addOutputColor (NodeOutput *output, const float value[4])
 
void addOutputVector (NodeOutput *output, const float value[3])
 
void addLink (NodeOperationOutput *from, NodeOperationInput *to)
 
void addPreview (NodeOperationOutput *output)
 
void addNodeInputPreview (NodeInput *input)
 
NodeOperationsetInvalidOutput (NodeOutput *output)
 
void registerViewer (ViewerOperation *viewer)
 
ViewerOperationactive_viewer () const
 

Detailed Description

Interface type for converting a Node into NodeOperation. This is passed to Node::convertToOperation 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 43 of file COM_NodeConverter.h.

Constructor & Destructor Documentation

◆ NodeConverter()

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

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

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

◆ addInputColor()

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

◆ addInputProxy()

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

◆ addInputValue()

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

◆ addInputVector()

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

◆ addLink()

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

Add an explicit link between two operations.

Definition at line 53 of file COM_NodeConverter.cc.

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

Referenced by blender::compositor::AntiAliasingNode::convertToOperations(), blender::compositor::BlurNode::convertToOperations(), blender::compositor::BoxMaskNode::convertToOperations(), blender::compositor::ChannelMatteNode::convertToOperations(), blender::compositor::ChromaMatteNode::convertToOperations(), blender::compositor::ColorMatteNode::convertToOperations(), blender::compositor::ColorRampNode::convertToOperations(), blender::compositor::CombineColorNode::convertToOperations(), blender::compositor::CryptomatteBaseNode::convertToOperations(), blender::compositor::DefocusNode::convertToOperations(), blender::compositor::DifferenceMatteNode::convertToOperations(), blender::compositor::DilateErodeNode::convertToOperations(), blender::compositor::DistanceMatteNode::convertToOperations(), blender::compositor::EllipseMaskNode::convertToOperations(), blender::compositor::GlareNode::convertToOperations(), blender::compositor::HueSaturationValueCorrectNode::convertToOperations(), blender::compositor::HueSaturationValueNode::convertToOperations(), blender::compositor::IDMaskNode::convertToOperations(), blender::compositor::ImageNode::convertToOperations(), blender::compositor::KeyingNode::convertToOperations(), blender::compositor::LuminanceMatteNode::convertToOperations(), blender::compositor::NormalNode::convertToOperations(), blender::compositor::RotateNode::convertToOperations(), blender::compositor::ScaleNode::convertToOperations(), blender::compositor::SeparateColorNode::convertToOperations(), blender::compositor::SplitViewerNode::convertToOperations(), blender::compositor::Stabilize2dNode::convertToOperations(), blender::compositor::TrackPositionNode::convertToOperations(), blender::compositor::TransformNode::convertToOperations(), blender::compositor::TranslateNode::convertToOperations(), blender::compositor::ZCombineNode::convertToOperations(), blender::compositor::CryptomatteNode::create_cryptomatte_operation(), blender::compositor::KeyingNode::setupClip(), blender::compositor::KeyingNode::setupDespill(), blender::compositor::KeyingNode::setupDilateErode(), blender::compositor::KeyingNode::setupFeather(), blender::compositor::KeyingNode::setupPostBlur(), and blender::compositor::KeyingNode::setupPreBlur().

◆ addNodeInputPreview()

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

◆ addOperation()

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

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

Definition at line 38 of file COM_NodeConverter.cc.

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

Referenced by blender::compositor::AlphaOverNode::convertToOperations(), blender::compositor::AntiAliasingNode::convertToOperations(), blender::compositor::BilateralBlurNode::convertToOperations(), blender::compositor::BlurNode::convertToOperations(), blender::compositor::BokehBlurNode::convertToOperations(), blender::compositor::BokehImageNode::convertToOperations(), blender::compositor::BoxMaskNode::convertToOperations(), blender::compositor::BrightnessNode::convertToOperations(), blender::compositor::ChannelMatteNode::convertToOperations(), blender::compositor::ChromaMatteNode::convertToOperations(), blender::compositor::ColorBalanceNode::convertToOperations(), blender::compositor::ColorCorrectionNode::convertToOperations(), blender::compositor::ColorCurveNode::convertToOperations(), blender::compositor::ExposureNode::convertToOperations(), blender::compositor::ColorMatteNode::convertToOperations(), blender::compositor::ColorNode::convertToOperations(), blender::compositor::ColorRampNode::convertToOperations(), blender::compositor::ColorSpillNode::convertToOperations(), blender::compositor::ColorToBWNode::convertToOperations(), blender::compositor::CombineColorNode::convertToOperations(), blender::compositor::CompositorNode::convertToOperations(), blender::compositor::ConvertAlphaNode::convertToOperations(), blender::compositor::CornerPinNode::convertToOperations(), blender::compositor::CropNode::convertToOperations(), blender::compositor::CryptomatteBaseNode::convertToOperations(), blender::compositor::DefocusNode::convertToOperations(), blender::compositor::DenoiseNode::convertToOperations(), blender::compositor::DespeckleNode::convertToOperations(), blender::compositor::DifferenceMatteNode::convertToOperations(), blender::compositor::DilateErodeNode::convertToOperations(), blender::compositor::DirectionalBlurNode::convertToOperations(), blender::compositor::DisplaceNode::convertToOperations(), blender::compositor::DistanceMatteNode::convertToOperations(), blender::compositor::DoubleEdgeMaskNode::convertToOperations(), blender::compositor::EllipseMaskNode::convertToOperations(), blender::compositor::FilterNode::convertToOperations(), blender::compositor::FlipNode::convertToOperations(), blender::compositor::GammaNode::convertToOperations(), blender::compositor::GlareNode::convertToOperations(), blender::compositor::HueSaturationValueCorrectNode::convertToOperations(), blender::compositor::HueSaturationValueNode::convertToOperations(), blender::compositor::IDMaskNode::convertToOperations(), blender::compositor::ImageNode::convertToOperations(), blender::compositor::InpaintNode::convertToOperations(), blender::compositor::InvertNode::convertToOperations(), blender::compositor::KeyingNode::convertToOperations(), blender::compositor::KeyingScreenNode::convertToOperations(), blender::compositor::LensDistortionNode::convertToOperations(), blender::compositor::LuminanceMatteNode::convertToOperations(), blender::compositor::MapRangeNode::convertToOperations(), blender::compositor::MapUVNode::convertToOperations(), blender::compositor::MapValueNode::convertToOperations(), blender::compositor::MaskNode::convertToOperations(), blender::compositor::MathNode::convertToOperations(), blender::compositor::MixNode::convertToOperations(), blender::compositor::MovieClipNode::convertToOperations(), blender::compositor::MovieDistortionNode::convertToOperations(), blender::compositor::NormalizeNode::convertToOperations(), blender::compositor::NormalNode::convertToOperations(), blender::compositor::OutputFileNode::convertToOperations(), blender::compositor::PixelateNode::convertToOperations(), blender::compositor::PlaneTrackDeformNode::convertToOperations(), blender::compositor::RotateNode::convertToOperations(), blender::compositor::ScaleNode::convertToOperations(), blender::compositor::SeparateColorNode::convertToOperations(), blender::compositor::SetAlphaNode::convertToOperations(), blender::compositor::SocketBufferNode::convertToOperations(), blender::compositor::SplitViewerNode::convertToOperations(), blender::compositor::Stabilize2dNode::convertToOperations(), blender::compositor::SunBeamsNode::convertToOperations(), blender::compositor::TextureNode::convertToOperations(), blender::compositor::TimeNode::convertToOperations(), blender::compositor::TonemapNode::convertToOperations(), blender::compositor::TrackPositionNode::convertToOperations(), blender::compositor::TransformNode::convertToOperations(), blender::compositor::TranslateNode::convertToOperations(), blender::compositor::ValueNode::convertToOperations(), blender::compositor::VectorBlurNode::convertToOperations(), blender::compositor::VectorCurveNode::convertToOperations(), blender::compositor::ViewerNode::convertToOperations(), blender::compositor::ViewLevelsNode::convertToOperations(), blender::compositor::ZCombineNode::convertToOperations(), blender::compositor::CryptomatteNode::create_cryptomatte_operation(), blender::compositor::create_motion_operation(), blender::compositor::KeyingNode::setupClip(), blender::compositor::KeyingNode::setupDespill(), blender::compositor::KeyingNode::setupDilateErode(), blender::compositor::KeyingNode::setupFeather(), blender::compositor::KeyingNode::setupPostBlur(), and blender::compositor::KeyingNode::setupPreBlur().

◆ addOutputColor()

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

◆ addOutputProxy()

NodeOperationInput * blender::compositor::NodeConverter::addOutputProxy ( 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 92 of file COM_NodeConverter.cc.

References blender::compositor::NodeOperationBuilder::addOperation(), blender::compositor::NodeOperation::getInputSocket(), blender::compositor::NodeOperation::getOutputSocket(), blender::compositor::NodeOperationBuilder::mapOutputSocket(), and output.

◆ addOutputValue()

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

◆ addOutputVector()

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

◆ addPreview()

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

◆ mapInputSocket()

void blender::compositor::NodeConverter::mapInputSocket ( 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 43 of file COM_NodeConverter.cc.

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

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

◆ mapOutputSocket()

void blender::compositor::NodeConverter::mapOutputSocket ( 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 48 of file COM_NodeConverter.cc.

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

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

◆ registerViewer()

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

◆ setInvalidOutput()

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

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