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

NodeOperation contains calculation logic. More...

#include <COM_NodeOperation.h>

Inherited by blender::compositor::ConstantOperation, blender::compositor::ConvertColorProfileOperation, blender::compositor::DenoiseBaseOperation, blender::compositor::DoubleEdgeMaskOperation, blender::compositor::FileOutputOperation, blender::compositor::GlareBaseOperation, blender::compositor::InpaintSimpleOperation, blender::compositor::MultiThreadedOperation, blender::compositor::SMAAOperation, blender::compositor::SetSamplerOperation, blender::compositor::SocketProxyOperation, blender::compositor::SummedAreaTableOperation, blender::compositor::VectorBlurOperation, blender::compositor::tests::HashedOperation, and blender::compositor::tests::NonHashedOperation.

Public Member Functions

virtual ~NodeOperation ()
 
void set_name (const std::string name)
 
const std::string get_name () const
 
void set_id (const int id)
 
const int get_id () const
 
const void set_node_instance_key (const bNodeInstanceKey &node_instance_key)
 
const bNodeInstanceKey get_node_instance_key () const
 
float get_constant_value_default (float default_value)
 
const floatget_constant_elem_default (const float *default_elem)
 
const NodeOperationFlags get_flags () const
 
std::optional< NodeOperationHashgenerate_hash ()
 
unsigned int get_number_of_input_sockets () const
 
unsigned int get_number_of_output_sockets () const
 
NodeOperationOutputget_output_socket (unsigned int index=0)
 
NodeOperationInputget_input_socket (unsigned int index)
 
NodeOperationget_input_operation (int index)
 
virtual void determine_canvas (const rcti &preferred_area, rcti &r_area)
 
virtual bool is_output_operation (bool) const
 is_output_operation determines whether this operation is an output of the ExecutionSystem during rendering or editing.
 
void set_bnodetree (const bNodeTree *tree)
 
void set_execution_system (ExecutionSystem *system)
 
virtual void init_data ()
 
virtual void init_execution ()
 
virtual void deinit_execution ()
 
void set_canvas (const rcti &canvas_area)
 
const rctiget_canvas () const
 
void unset_canvas ()
 
virtual bool is_active_viewer_output () const
 is this operation the active viewer output user can select an ViewerNode to be active (the result of this node will be drawn on the backdrop).
 
void set_canvas_input_index (unsigned int index)
 set the index of the input socket that will determine the canvas of this operation
 
void set_determined_canvas_modifier (std::function< void(rcti &canvas)> fn)
 
virtual eCompositorPriority get_render_priority () const
 get the render priority of this node.
 
bool is_braked () const
 
void update_draw ()
 
unsigned int get_width () const
 
unsigned int get_height () const
 
virtual MemoryBufferget_input_memory_buffer (MemoryBuffer **)
 
virtual std::unique_ptr< MetaDataget_meta_data ()
 
Full Frame Methods
void render (MemoryBuffer *output_buf, Span< rcti > areas, Span< MemoryBuffer * > inputs_bufs)
 
virtual void update_memory_buffer (MemoryBuffer *, const rcti &, Span< MemoryBuffer * >)
 
virtual void get_area_of_interest (int input_idx, const rcti &output_area, rcti &r_input_area)
 Get input operation area being read by this operation on rendering given output area.
 
void get_area_of_interest (NodeOperation *input_op, const rcti &output_area, rcti &r_input_area)
 

Protected Member Functions

 NodeOperation ()
 
virtual void hash_output_params ()
 
template<typename T >
void hash_param (T param)
 
template<typename T1 , typename T2 >
void hash_params (T1 param1, T2 param2)
 
template<typename T1 , typename T2 , typename T3 >
void hash_params (T1 param1, T2 param2, T3 param3)
 
void add_input_socket (DataType datatype, ResizeMode resize_mode=ResizeMode::Center)
 
void add_output_socket (DataType datatype)
 
SocketReaderget_input_socket_reader (unsigned int index)
 

Static Protected Member Functions

static void combine_hashes (size_t &combined, size_t other)
 

Protected Attributes

rcti canvas_ = COM_AREA_NONE
 
NodeOperationFlags flags_
 
ExecutionSystemexec_system_
 

Friends

class DebugInfo
 

Detailed Description

NodeOperation contains calculation logic.

Subclasses needs to implement the execution method (defined in SocketReader) to implement logic.

Definition at line 265 of file COM_NodeOperation.h.

Constructor & Destructor Documentation

◆ ~NodeOperation()

virtual blender::compositor::NodeOperation::~NodeOperation ( )
inlinevirtual

Definition at line 300 of file COM_NodeOperation.h.

◆ NodeOperation()

blender::compositor::NodeOperation::NodeOperation ( )
protected

Definition at line 18 of file COM_NodeOperation.cc.

References canvas_, and blender::compositor::COM_AREA_NONE.

Member Function Documentation

◆ add_input_socket()

void blender::compositor::NodeOperation::add_input_socket ( DataType datatype,
ResizeMode resize_mode = ResizeMode::Center )
protected

Definition at line 97 of file COM_NodeOperation.cc.

Referenced by blender::compositor::BilateralBlurOperation::BilateralBlurOperation(), blender::compositor::BlurBaseOperation::BlurBaseOperation(), blender::compositor::BokehBlurOperation::BokehBlurOperation(), blender::compositor::BoxMaskOperation::BoxMaskOperation(), blender::compositor::BrightnessOperation::BrightnessOperation(), blender::compositor::CalculateMeanOperation::CalculateMeanOperation(), blender::compositor::ChangeHSVOperation::ChangeHSVOperation(), blender::compositor::ChannelMatteOperation::ChannelMatteOperation(), blender::compositor::ChromaMatteOperation::ChromaMatteOperation(), blender::compositor::ColorBalanceASCCDLOperation::ColorBalanceASCCDLOperation(), blender::compositor::ColorBalanceLGGOperation::ColorBalanceLGGOperation(), blender::compositor::ColorBalanceWhitepointOperation::ColorBalanceWhitepointOperation(), blender::compositor::ColorCorrectionOperation::ColorCorrectionOperation(), blender::compositor::ColorCurveOperation::ColorCurveOperation(), blender::compositor::ColorMatteOperation::ColorMatteOperation(), blender::compositor::ColorRampOperation::ColorRampOperation(), blender::compositor::ColorSpillOperation::ColorSpillOperation(), blender::compositor::CombineChannelsOperation::CombineChannelsOperation(), blender::compositor::CompositorOperation::CompositorOperation(), blender::compositor::ConstantLevelColorCurveOperation::ConstantLevelColorCurveOperation(), blender::compositor::ConvertColorProfileOperation::ConvertColorProfileOperation(), blender::compositor::ConvertColorSpaceOperation::ConvertColorSpaceOperation(), blender::compositor::ConvertColorToBWOperation::ConvertColorToBWOperation(), blender::compositor::ConvertColorToValueOperation::ConvertColorToValueOperation(), blender::compositor::ConvertColorToVectorOperation::ConvertColorToVectorOperation(), blender::compositor::ConvertDepthToRadiusOperation::ConvertDepthToRadiusOperation(), blender::compositor::ConvertHSLToRGBOperation::ConvertHSLToRGBOperation(), blender::compositor::ConvertHSVToRGBOperation::ConvertHSVToRGBOperation(), blender::compositor::ConvertPremulToStraightOperation::ConvertPremulToStraightOperation(), blender::compositor::ConvertRGBToHSLOperation::ConvertRGBToHSLOperation(), blender::compositor::ConvertRGBToHSVOperation::ConvertRGBToHSVOperation(), blender::compositor::ConvertRGBToYCCOperation::ConvertRGBToYCCOperation(), blender::compositor::ConvertRGBToYUVOperation::ConvertRGBToYUVOperation(), blender::compositor::ConvertStraightToPremulOperation::ConvertStraightToPremulOperation(), blender::compositor::ConvertValueToColorOperation::ConvertValueToColorOperation(), blender::compositor::ConvertValueToVectorOperation::ConvertValueToVectorOperation(), blender::compositor::ConvertVectorToColorOperation::ConvertVectorToColorOperation(), blender::compositor::ConvertVectorToValueOperation::ConvertVectorToValueOperation(), blender::compositor::ConvertYCCToRGBOperation::ConvertYCCToRGBOperation(), blender::compositor::ConvertYUVToRGBOperation::ConvertYUVToRGBOperation(), blender::compositor::ConvolutionFilterOperation::ConvolutionFilterOperation(), blender::compositor::CropBaseOperation::CropBaseOperation(), blender::compositor::CryptomatteOperation::CryptomatteOperation(), blender::compositor::CryptomattePickOperation::CryptomattePickOperation(), blender::compositor::DenoiseOperation::DenoiseOperation(), blender::compositor::DenoisePrefilterOperation::DenoisePrefilterOperation(), blender::compositor::DespeckleOperation::DespeckleOperation(), blender::compositor::DifferenceMatteOperation::DifferenceMatteOperation(), blender::compositor::DilateDistanceOperation::DilateDistanceOperation(), blender::compositor::DilateErodeThresholdOperation::DilateErodeThresholdOperation(), blender::compositor::DilateStepOperation::DilateStepOperation(), blender::compositor::DirectionalBlurOperation::DirectionalBlurOperation(), blender::compositor::DisplaceOperation::DisplaceOperation(), blender::compositor::DistanceRGBMatteOperation::DistanceRGBMatteOperation(), blender::compositor::DotproductOperation::DotproductOperation(), blender::compositor::EllipseMaskOperation::EllipseMaskOperation(), blender::compositor::ExposureOperation::ExposureOperation(), blender::compositor::FileOutputOperation::FileOutputOperation(), blender::compositor::FlipOperation::FlipOperation(), blender::compositor::GammaCorrectOperation::GammaCorrectOperation(), blender::compositor::GammaOperation::GammaOperation(), blender::compositor::GammaUncorrectOperation::GammaUncorrectOperation(), blender::compositor::GlareBaseOperation::GlareBaseOperation(), blender::compositor::GlareThresholdOperation::GlareThresholdOperation(), blender::compositor::tests::HashedOperation::HashedOperation(), blender::compositor::HueSaturationValueCorrectOperation::HueSaturationValueCorrectOperation(), blender::compositor::IDMaskOperation::IDMaskOperation(), blender::compositor::InvertOperation::InvertOperation(), blender::compositor::KeyingBlurOperation::KeyingBlurOperation(), blender::compositor::KeyingClipOperation::KeyingClipOperation(), blender::compositor::KeyingDespillOperation::KeyingDespillOperation(), blender::compositor::KeyingOperation::KeyingOperation(), blender::compositor::KuwaharaAnisotropicOperation::KuwaharaAnisotropicOperation(), blender::compositor::KuwaharaAnisotropicStructureTensorOperation::KuwaharaAnisotropicStructureTensorOperation(), blender::compositor::KuwaharaClassicOperation::KuwaharaClassicOperation(), blender::compositor::LuminanceMatteOperation::LuminanceMatteOperation(), blender::compositor::MapRangeOperation::MapRangeOperation(), blender::compositor::MapUVOperation::MapUVOperation(), blender::compositor::MapValueOperation::MapValueOperation(), blender::compositor::MathBaseOperation::MathBaseOperation(), blender::compositor::MixBaseOperation::MixBaseOperation(), blender::compositor::MovieDistortionOperation::MovieDistortionOperation(), blender::compositor::NormalizeOperation::NormalizeOperation(), blender::compositor::PixelateOperation::PixelateOperation(), blender::compositor::PlaneCornerPinMaskOperation::PlaneCornerPinMaskOperation(), blender::compositor::PlaneCornerPinWarpImageOperation::PlaneCornerPinWarpImageOperation(), blender::compositor::PlaneDistortWarpImageOperation::PlaneDistortWarpImageOperation(), blender::compositor::PosterizeOperation::PosterizeOperation(), blender::compositor::PreviewOperation::PreviewOperation(), blender::compositor::ProjectorLensDistortionOperation::ProjectorLensDistortionOperation(), blender::compositor::RotateOperation::RotateOperation(), blender::compositor::ScaleFixedSizeOperation::ScaleFixedSizeOperation(), blender::compositor::ScaleOperation::ScaleOperation(), blender::compositor::ScreenLensDistortionOperation::ScreenLensDistortionOperation(), blender::compositor::SeparateChannelOperation::SeparateChannelOperation(), blender::compositor::SetAlphaMultiplyOperation::SetAlphaMultiplyOperation(), blender::compositor::SetAlphaReplaceOperation::SetAlphaReplaceOperation(), blender::compositor::SetSamplerOperation::SetSamplerOperation(), blender::compositor::SMAAOperation::SMAAOperation(), blender::compositor::SocketProxyOperation::SocketProxyOperation(), blender::compositor::SplitOperation::SplitOperation(), blender::compositor::SummedAreaTableOperation::SummedAreaTableOperation(), blender::compositor::SunBeamsOperation::SunBeamsOperation(), blender::compositor::TextureBaseOperation::TextureBaseOperation(), blender::compositor::TonemapOperation::TonemapOperation(), blender::compositor::TransformOperation::TransformOperation(), blender::compositor::TranslateOperation::TranslateOperation(), blender::compositor::VariableSizeBokehBlurOperation::VariableSizeBokehBlurOperation(), blender::compositor::VectorBlurOperation::VectorBlurOperation(), blender::compositor::VectorCurveOperation::VectorCurveOperation(), blender::compositor::ViewerOperation::ViewerOperation(), blender::compositor::ZCombineMaskOperation::ZCombineMaskOperation(), and blender::compositor::ZCombineOperation::ZCombineOperation().

◆ add_output_socket()

void blender::compositor::NodeOperation::add_output_socket ( DataType datatype)
protected

Definition at line 102 of file COM_NodeOperation.cc.

Referenced by blender::compositor::BilateralBlurOperation::BilateralBlurOperation(), blender::compositor::BlurBaseOperation::BlurBaseOperation(), blender::compositor::BokehBlurOperation::BokehBlurOperation(), blender::compositor::BokehImageOperation::BokehImageOperation(), blender::compositor::BoxMaskOperation::BoxMaskOperation(), blender::compositor::BrightnessOperation::BrightnessOperation(), blender::compositor::CalculateMeanOperation::CalculateMeanOperation(), blender::compositor::ChangeHSVOperation::ChangeHSVOperation(), blender::compositor::ChannelMatteOperation::ChannelMatteOperation(), blender::compositor::ChromaMatteOperation::ChromaMatteOperation(), blender::compositor::ColorBalanceASCCDLOperation::ColorBalanceASCCDLOperation(), blender::compositor::ColorBalanceLGGOperation::ColorBalanceLGGOperation(), blender::compositor::ColorBalanceWhitepointOperation::ColorBalanceWhitepointOperation(), blender::compositor::ColorCorrectionOperation::ColorCorrectionOperation(), blender::compositor::ColorCurveOperation::ColorCurveOperation(), blender::compositor::ColorMatteOperation::ColorMatteOperation(), blender::compositor::ColorRampOperation::ColorRampOperation(), blender::compositor::ColorSpillOperation::ColorSpillOperation(), blender::compositor::CombineChannelsOperation::CombineChannelsOperation(), blender::compositor::ConstantLevelColorCurveOperation::ConstantLevelColorCurveOperation(), blender::compositor::ConvertColorProfileOperation::ConvertColorProfileOperation(), blender::compositor::ConvertColorSpaceOperation::ConvertColorSpaceOperation(), blender::compositor::ConvertColorToBWOperation::ConvertColorToBWOperation(), blender::compositor::ConvertColorToValueOperation::ConvertColorToValueOperation(), blender::compositor::ConvertColorToVectorOperation::ConvertColorToVectorOperation(), blender::compositor::ConvertDepthToRadiusOperation::ConvertDepthToRadiusOperation(), blender::compositor::ConvertHSLToRGBOperation::ConvertHSLToRGBOperation(), blender::compositor::ConvertHSVToRGBOperation::ConvertHSVToRGBOperation(), blender::compositor::ConvertPremulToStraightOperation::ConvertPremulToStraightOperation(), blender::compositor::ConvertRGBToHSLOperation::ConvertRGBToHSLOperation(), blender::compositor::ConvertRGBToHSVOperation::ConvertRGBToHSVOperation(), blender::compositor::ConvertRGBToYCCOperation::ConvertRGBToYCCOperation(), blender::compositor::ConvertRGBToYUVOperation::ConvertRGBToYUVOperation(), blender::compositor::ConvertStraightToPremulOperation::ConvertStraightToPremulOperation(), blender::compositor::ConvertValueToColorOperation::ConvertValueToColorOperation(), blender::compositor::ConvertValueToVectorOperation::ConvertValueToVectorOperation(), blender::compositor::ConvertVectorToColorOperation::ConvertVectorToColorOperation(), blender::compositor::ConvertVectorToValueOperation::ConvertVectorToValueOperation(), blender::compositor::ConvertYCCToRGBOperation::ConvertYCCToRGBOperation(), blender::compositor::ConvertYUVToRGBOperation::ConvertYUVToRGBOperation(), blender::compositor::ConvolutionFilterOperation::ConvolutionFilterOperation(), blender::compositor::CropBaseOperation::CropBaseOperation(), blender::compositor::CryptomatteOperation::CryptomatteOperation(), blender::compositor::CryptomattePickOperation::CryptomattePickOperation(), blender::compositor::DenoiseOperation::DenoiseOperation(), blender::compositor::DenoisePrefilterOperation::DenoisePrefilterOperation(), blender::compositor::DespeckleOperation::DespeckleOperation(), blender::compositor::DifferenceMatteOperation::DifferenceMatteOperation(), blender::compositor::DilateDistanceOperation::DilateDistanceOperation(), blender::compositor::DilateErodeThresholdOperation::DilateErodeThresholdOperation(), blender::compositor::DilateStepOperation::DilateStepOperation(), blender::compositor::DirectionalBlurOperation::DirectionalBlurOperation(), blender::compositor::DisplaceOperation::DisplaceOperation(), blender::compositor::DistanceRGBMatteOperation::DistanceRGBMatteOperation(), blender::compositor::DotproductOperation::DotproductOperation(), blender::compositor::EllipseMaskOperation::EllipseMaskOperation(), blender::compositor::ExposureOperation::ExposureOperation(), blender::compositor::FlipOperation::FlipOperation(), blender::compositor::GammaCorrectOperation::GammaCorrectOperation(), blender::compositor::GammaOperation::GammaOperation(), blender::compositor::GammaUncorrectOperation::GammaUncorrectOperation(), blender::compositor::GlareBaseOperation::GlareBaseOperation(), blender::compositor::GlareThresholdOperation::GlareThresholdOperation(), blender::compositor::tests::HashedOperation::HashedOperation(), blender::compositor::HueSaturationValueCorrectOperation::HueSaturationValueCorrectOperation(), blender::compositor::IDMaskOperation::IDMaskOperation(), blender::compositor::ImageAlphaOperation::ImageAlphaOperation(), blender::compositor::ImageOperation::ImageOperation(), blender::compositor::InvertOperation::InvertOperation(), blender::compositor::KeyingBlurOperation::KeyingBlurOperation(), blender::compositor::KeyingClipOperation::KeyingClipOperation(), blender::compositor::KeyingDespillOperation::KeyingDespillOperation(), blender::compositor::KeyingOperation::KeyingOperation(), blender::compositor::KeyingScreenOperation::KeyingScreenOperation(), blender::compositor::KuwaharaAnisotropicOperation::KuwaharaAnisotropicOperation(), blender::compositor::KuwaharaAnisotropicStructureTensorOperation::KuwaharaAnisotropicStructureTensorOperation(), blender::compositor::KuwaharaClassicOperation::KuwaharaClassicOperation(), blender::compositor::LuminanceMatteOperation::LuminanceMatteOperation(), blender::compositor::MapRangeOperation::MapRangeOperation(), blender::compositor::MapUVOperation::MapUVOperation(), blender::compositor::MapValueOperation::MapValueOperation(), blender::compositor::MaskOperation::MaskOperation(), blender::compositor::MathBaseOperation::MathBaseOperation(), blender::compositor::MixBaseOperation::MixBaseOperation(), blender::compositor::MovieClipAlphaOperation::MovieClipAlphaOperation(), blender::compositor::MovieClipAttributeOperation::MovieClipAttributeOperation(), blender::compositor::MovieClipOperation::MovieClipOperation(), blender::compositor::MovieDistortionOperation::MovieDistortionOperation(), blender::compositor::MultilayerColorOperation::MultilayerColorOperation(), blender::compositor::MultilayerValueOperation::MultilayerValueOperation(), blender::compositor::MultilayerVectorOperation::MultilayerVectorOperation(), blender::compositor::tests::NonHashedConstantOperation::NonHashedConstantOperation(), blender::compositor::tests::NonHashedOperation::NonHashedOperation(), blender::compositor::NormalizeOperation::NormalizeOperation(), blender::compositor::PixelateOperation::PixelateOperation(), blender::compositor::PlaneDistortMaskOperation::PlaneDistortMaskOperation(), blender::compositor::PlaneDistortWarpImageOperation::PlaneDistortWarpImageOperation(), blender::compositor::PosterizeOperation::PosterizeOperation(), blender::compositor::ProjectorLensDistortionOperation::ProjectorLensDistortionOperation(), blender::compositor::RenderLayersProg::RenderLayersProg(), blender::compositor::RotateOperation::RotateOperation(), blender::compositor::ScaleFixedSizeOperation::ScaleFixedSizeOperation(), blender::compositor::ScaleOperation::ScaleOperation(), blender::compositor::ScreenLensDistortionOperation::ScreenLensDistortionOperation(), blender::compositor::SeparateChannelOperation::SeparateChannelOperation(), blender::compositor::SetAlphaMultiplyOperation::SetAlphaMultiplyOperation(), blender::compositor::SetAlphaReplaceOperation::SetAlphaReplaceOperation(), blender::compositor::SetColorOperation::SetColorOperation(), blender::compositor::SetSamplerOperation::SetSamplerOperation(), blender::compositor::SetValueOperation::SetValueOperation(), blender::compositor::SetVectorOperation::SetVectorOperation(), blender::compositor::SMAAOperation::SMAAOperation(), blender::compositor::SocketProxyOperation::SocketProxyOperation(), blender::compositor::SplitOperation::SplitOperation(), blender::compositor::SummedAreaTableOperation::SummedAreaTableOperation(), blender::compositor::SunBeamsOperation::SunBeamsOperation(), blender::compositor::TextureAlphaOperation::TextureAlphaOperation(), blender::compositor::TextureOperation::TextureOperation(), blender::compositor::TonemapOperation::TonemapOperation(), blender::compositor::TrackPositionOperation::TrackPositionOperation(), blender::compositor::TransformOperation::TransformOperation(), blender::compositor::TranslateOperation::TranslateOperation(), blender::compositor::VariableSizeBokehBlurOperation::VariableSizeBokehBlurOperation(), blender::compositor::VectorBlurOperation::VectorBlurOperation(), blender::compositor::VectorCurveOperation::VectorCurveOperation(), blender::compositor::ZCombineMaskOperation::ZCombineMaskOperation(), and blender::compositor::ZCombineOperation::ZCombineOperation().

◆ combine_hashes()

static void blender::compositor::NodeOperation::combine_hashes ( size_t & combined,
size_t other )
inlinestaticprotected

Definition at line 532 of file COM_NodeOperation.h.

References BLI_ghashutil_combine_hash().

Referenced by generate_hash(), hash_param(), hash_params(), and hash_params().

◆ deinit_execution()

◆ determine_canvas()

void blender::compositor::NodeOperation::determine_canvas ( const rcti & preferred_area,
rcti & r_area )
virtual

Reimplemented in blender::compositor::BaseImageOperation, blender::compositor::BlurBaseOperation, blender::compositor::BokehBlurOperation, blender::compositor::BokehImageOperation, blender::compositor::CalculateMeanOperation, blender::compositor::CompositorOperation, blender::compositor::CropImageOperation, blender::compositor::GlareThresholdOperation, blender::compositor::KeyingScreenOperation, blender::compositor::MaskOperation, blender::compositor::MathBaseOperation, blender::compositor::MixBaseOperation, blender::compositor::MovieClipAttributeOperation, blender::compositor::MovieClipBaseOperation, blender::compositor::PlaneCornerPinMaskOperation, blender::compositor::PlaneTrackMaskOperation, blender::compositor::PlaneTrackWarpImageOperation, blender::compositor::PreviewOperation, blender::compositor::ProjectorLensDistortionOperation, blender::compositor::RenderLayersProg, blender::compositor::RotateOperation, blender::compositor::ScaleFixedSizeOperation, blender::compositor::ScaleOperation, blender::compositor::ScreenLensDistortionOperation, blender::compositor::SetColorOperation, blender::compositor::SetValueOperation, blender::compositor::SetVectorOperation, blender::compositor::SplitOperation, blender::compositor::TextureBaseOperation, blender::compositor::TrackPositionOperation, blender::compositor::TransformOperation, blender::compositor::TranslateCanvasOperation, and blender::compositor::ViewerOperation.

Definition at line 107 of file COM_NodeOperation.cc.

References blender::compositor::COM_AREA_NONE, and blender::compositor::RESOLUTION_INPUT_ANY.

Referenced by blender::compositor::BlurBaseOperation::determine_canvas(), blender::compositor::BokehBlurOperation::determine_canvas(), blender::compositor::CalculateMeanOperation::determine_canvas(), blender::compositor::CompositorOperation::determine_canvas(), blender::compositor::CropImageOperation::determine_canvas(), blender::compositor::GlareThresholdOperation::determine_canvas(), blender::compositor::MathBaseOperation::determine_canvas(), blender::compositor::MixBaseOperation::determine_canvas(), blender::compositor::NodeOperationOutput::determine_canvas(), blender::compositor::PlaneCornerPinMaskOperation::determine_canvas(), blender::compositor::PlaneTrackMaskOperation::determine_canvas(), blender::compositor::PlaneTrackWarpImageOperation::determine_canvas(), blender::compositor::PreviewOperation::determine_canvas(), blender::compositor::ProjectorLensDistortionOperation::determine_canvas(), blender::compositor::ScreenLensDistortionOperation::determine_canvas(), blender::compositor::SplitOperation::determine_canvas(), blender::compositor::TextureBaseOperation::determine_canvas(), and blender::compositor::ViewerOperation::determine_canvas().

◆ generate_hash()

std::optional< NodeOperationHash > blender::compositor::NodeOperation::generate_hash ( )

Generate a hash that identifies the operation result in the current execution. Requires hash_output_params to be implemented, otherwise std::nullopt is returned. If the operation parameters or its linked inputs change, the hash must be re-generated.

Definition at line 41 of file COM_NodeOperation.cc.

References BLI_assert, canvas_, blender::compositor::COM_data_type_num_channels(), combine_hashes(), blender::get_default_hash(), get_flags(), get_output_socket(), hash, hash_output_params(), hash_param(), hash_params(), blender::compositor::NodeOperationFlags::is_constant_operation, rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.

Referenced by blender::compositor::tests::TEST().

◆ get_area_of_interest() [1/2]

void blender::compositor::NodeOperation::get_area_of_interest ( int input_idx,
const rcti & output_area,
rcti & r_input_area )
virtual

Get input operation area being read by this operation on rendering given output area.

Implementation don't need to ensure r_input_area is within input operation bounds. The caller must clamp it. TODO: See if it's possible to use parameter overloading (input_id for example).

Parameters
input_idxInput operation index for which we want to calculate the area being read.
output_areaArea being rendered by this operation.
r_input_areaReturned input operation area that needs to be read in order to render given output area.

Reimplemented in blender::compositor::BilateralBlurOperation, blender::compositor::BlurBaseOperation, blender::compositor::BokehBlurOperation, blender::compositor::CalculateMeanOperation, blender::compositor::ConvolutionFilterOperation, blender::compositor::CropImageOperation, blender::compositor::DenoiseBaseOperation, blender::compositor::DespeckleOperation, blender::compositor::DilateDistanceOperation, blender::compositor::DilateErodeThresholdOperation, blender::compositor::DilateStepOperation, blender::compositor::DirectionalBlurOperation, blender::compositor::DisplaceOperation, blender::compositor::DoubleEdgeMaskOperation, blender::compositor::FastGaussianBlurOperation, blender::compositor::FlipOperation, blender::compositor::GaussianAlphaBlurBaseOperation, blender::compositor::GaussianBlurBaseOperation, blender::compositor::GaussianBlurReferenceOperation, blender::compositor::GaussianBokehBlurOperation, blender::compositor::GlareBaseOperation, blender::compositor::InpaintSimpleOperation, blender::compositor::KeyingBlurOperation, blender::compositor::KeyingClipOperation, blender::compositor::MapUVOperation, blender::compositor::MovieDistortionOperation, blender::compositor::NormalizeOperation, blender::compositor::PixelateOperation, blender::compositor::PlaneCornerPinMaskOperation, blender::compositor::PlaneCornerPinWarpImageOperation, blender::compositor::PlaneDistortWarpImageOperation, blender::compositor::PreviewOperation, blender::compositor::ProjectorLensDistortionOperation, blender::compositor::RotateOperation, blender::compositor::ScaleFixedSizeOperation, blender::compositor::ScaleOperation, blender::compositor::ScreenLensDistortionOperation, blender::compositor::SMAAOperation, blender::compositor::SummedAreaTableOperation, blender::compositor::TonemapOperation, blender::compositor::TransformOperation, blender::compositor::TranslateOperation, blender::compositor::VariableSizeBokehBlurOperation, and blender::compositor::VectorBlurOperation.

Definition at line 199 of file COM_NodeOperation.cc.

Referenced by get_area_of_interest().

◆ get_area_of_interest() [2/2]

void blender::compositor::NodeOperation::get_area_of_interest ( NodeOperation * input_op,
const rcti & output_area,
rcti & r_input_area )

◆ get_canvas()

const rcti & blender::compositor::NodeOperation::get_canvas ( ) const

◆ get_constant_elem_default()

const float * blender::compositor::NodeOperation::get_constant_elem_default ( const float * default_elem)

Get constant elem when operation is constant, otherwise return default_elem.

Definition at line 31 of file COM_NodeOperation.cc.

References BLI_assert, and get_flags().

Referenced by get_constant_value_default().

◆ get_constant_value_default()

float blender::compositor::NodeOperation::get_constant_value_default ( float default_value)

◆ get_flags()

◆ get_height()

unsigned int blender::compositor::NodeOperation::get_height ( ) const
inline

Definition at line 465 of file COM_NodeOperation.h.

References BLI_rcti_size_y(), and get_canvas().

Referenced by blender::compositor::PlaneDistortBaseOperation::calculate_corners(), blender::compositor::COM_convert_canvas(), blender::compositor::DoubleEdgeMaskOperation::compute_boundary(), blender::compositor::InpaintSimpleOperation::compute_inpainting_region(), blender::compositor::FileOutputOperation::deinit_execution(), blender::compositor::GlareSimpleStarOperation::generate_glare(), blender::compositor::BokehBlurOperation::get_area_of_interest(), blender::compositor::GlareBaseOperation::get_area_of_interest(), blender::compositor::ScaleOperation::get_area_of_interest(), blender::compositor::TranslateOperation::get_area_of_interest(), blender::compositor::VariableSizeBokehBlurOperation::get_area_of_interest(), blender::compositor::DebugInfo::graphviz_operation(), blender::compositor::BlurBaseOperation::init_data(), blender::compositor::GaussianBlurReferenceOperation::init_data(), blender::compositor::GaussianBokehBlurOperation::init_data(), blender::compositor::MapUVOperation::init_data(), blender::compositor::MovieDistortionOperation::init_data(), blender::compositor::ScaleOperation::init_data(), blender::compositor::ScreenLensDistortionOperation::init_data(), blender::compositor::BoxMaskOperation::init_execution(), blender::compositor::CompositorOperation::init_execution(), blender::compositor::DirectionalBlurOperation::init_execution(), blender::compositor::DisplaceOperation::init_execution(), blender::compositor::EllipseMaskOperation::init_execution(), blender::compositor::PreviewOperation::init_execution(), blender::compositor::RenderLayersProg::init_execution(), blender::compositor::BokehBlurOperation::update_memory_buffer_partial(), blender::compositor::CompositorOperation::update_memory_buffer_partial(), blender::compositor::ConvolutionEdgeFilterOperation::update_memory_buffer_partial(), blender::compositor::ConvolutionFilterOperation::update_memory_buffer_partial(), blender::compositor::CropImageOperation::update_memory_buffer_partial(), blender::compositor::DespeckleOperation::update_memory_buffer_partial(), blender::compositor::FlipOperation::update_memory_buffer_partial(), blender::compositor::KeyingBlurOperation::update_memory_buffer_partial(), blender::compositor::KeyingClipOperation::update_memory_buffer_partial(), blender::compositor::KeyingScreenOperation::update_memory_buffer_partial(), blender::compositor::MovieDistortionOperation::update_memory_buffer_partial(), blender::compositor::PreviewOperation::update_memory_buffer_partial(), blender::compositor::ProjectorLensDistortionOperation::update_memory_buffer_partial(), blender::compositor::ScaleOperation::update_memory_buffer_partial(), blender::compositor::SplitOperation::update_memory_buffer_partial(), blender::compositor::TextureBaseOperation::update_memory_buffer_partial(), blender::compositor::VariableSizeBokehBlurOperation::update_memory_buffer_partial(), and blender::compositor::ViewerOperation::update_memory_buffer_partial().

◆ get_id()

◆ get_input_memory_buffer()

virtual MemoryBuffer * blender::compositor::NodeOperation::get_input_memory_buffer ( MemoryBuffer ** )
inlinevirtual

Definition at line 470 of file COM_NodeOperation.h.

◆ get_input_operation()

NodeOperation * blender::compositor::NodeOperation::get_input_operation ( int index)

Definition at line 185 of file COM_NodeOperation.cc.

References get_input_socket().

Referenced by blender::compositor::PlaneDistortWarpImageOperation::calculate_corners(), blender::compositor::ScaleOperation::determine_canvas(), blender::compositor::RotateOperation::ensure_degree(), blender::compositor::TranslateOperation::ensure_delta(), blender::compositor::BokehBlurOperation::get_area_of_interest(), blender::compositor::CalculateMeanOperation::get_area_of_interest(), blender::compositor::DisplaceOperation::get_area_of_interest(), blender::compositor::MapUVOperation::get_area_of_interest(), get_area_of_interest(), blender::compositor::NormalizeOperation::get_area_of_interest(), blender::compositor::PlaneDistortWarpImageOperation::get_area_of_interest(), blender::compositor::RotateOperation::get_area_of_interest(), blender::compositor::ScaleOperation::get_area_of_interest(), blender::compositor::ScreenLensDistortionOperation::get_area_of_interest(), blender::compositor::SummedAreaTableOperation::get_area_of_interest(), blender::compositor::TonemapOperation::get_area_of_interest(), blender::compositor::TransformOperation::get_area_of_interest(), blender::compositor::ConvertBaseOperation::get_meta_data(), blender::compositor::MapUVOperation::init_data(), blender::compositor::ProjectorLensDistortionOperation::init_data(), blender::compositor::ScreenLensDistortionOperation::init_data(), blender::compositor::TransformOperation::init_data(), blender::compositor::is_constant_foldable(), blender::compositor::read_input_corners(), blender::compositor::RotateOperation::update_memory_buffer_partial(), blender::compositor::ScaleOperation::update_memory_buffer_partial(), and blender::compositor::BlurBaseOperation::update_size().

◆ get_input_socket()

NodeOperationInput * blender::compositor::NodeOperation::get_input_socket ( unsigned int index)

Definition at line 92 of file COM_NodeOperation.cc.

Referenced by blender::compositor::NodeOperationBuilder::add_datatype_conversions(), blender::compositor::NodeConverter::add_input_proxy(), blender::compositor::NodeOperationBuilder::add_node_input_preview(), blender::compositor::NodeConverter::add_output_proxy(), blender::compositor::NodeOperationBuilder::add_preview(), blender::compositor::COM_convert_canvas(), 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::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::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::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::TrackPositionNode::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::CryptomatteNode::create_cryptomatte_operation(), blender::compositor::MathBaseOperation::determine_canvas(), blender::compositor::MixBaseOperation::determine_canvas(), blender::compositor::RotateOperation::determine_canvas(), blender::compositor::ScaleFixedSizeOperation::determine_canvas(), blender::compositor::ScaleOperation::determine_canvas(), blender::compositor::SplitOperation::determine_canvas(), blender::compositor::TransformOperation::determine_canvas(), blender::compositor::TranslateCanvasOperation::determine_canvas(), blender::compositor::find_reachable_operations_recursive(), get_input_operation(), get_input_socket_reader(), blender::compositor::SocketProxyOperation::get_meta_data(), blender::compositor::DebugInfo::graphviz_operation(), blender::compositor::tests::HashedOperation::HashedOperation(), 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(), blender::compositor::KeyingNode::setup_pre_blur(), blender::compositor::sort_operations_recursive(), and blender::compositor::ViewerOperation::update_memory_buffer_finished().

◆ get_input_socket_reader()

◆ get_meta_data()

virtual std::unique_ptr< MetaData > blender::compositor::NodeOperation::get_meta_data ( )
inlinevirtual

◆ get_name()

const std::string blender::compositor::NodeOperation::get_name ( ) const
inline

◆ get_node_instance_key()

const bNodeInstanceKey blender::compositor::NodeOperation::get_node_instance_key ( ) const
inline

Definition at line 326 of file COM_NodeOperation.h.

◆ get_number_of_input_sockets()

◆ get_number_of_output_sockets()

unsigned int blender::compositor::NodeOperation::get_number_of_output_sockets ( ) const
inline

◆ get_output_socket()

NodeOperationOutput * blender::compositor::NodeOperation::get_output_socket ( unsigned int index = 0)

Definition at line 87 of file COM_NodeOperation.cc.

Referenced by blender::compositor::NodeOperationBuilder::add_datatype_conversions(), blender::compositor::NodeConverter::add_input_color(), blender::compositor::NodeOperationBuilder::add_input_constant_value(), blender::compositor::NodeConverter::add_input_proxy(), blender::compositor::NodeConverter::add_input_value(), blender::compositor::NodeConverter::add_input_vector(), blender::compositor::NodeConverter::add_output_color(), blender::compositor::NodeConverter::add_output_proxy(), blender::compositor::NodeConverter::add_output_value(), blender::compositor::NodeConverter::add_output_vector(), blender::compositor::COM_convert_canvas(), 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::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::ViewLevelsNode::convert_to_operations(), blender::compositor::ZCombineNode::convert_to_operations(), generate_hash(), get_constant_value_default(), blender::compositor::DebugInfo::graphviz_operation(), blender::compositor::NodeConverter::set_invalid_output(), 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(), blender::compositor::KeyingNode::setup_pre_blur(), blender::compositor::SplitOperation::update_memory_buffer_partial(), and blender::compositor::FastGaussianBlurOperation::update_memory_buffer_started().

◆ get_render_priority()

virtual eCompositorPriority blender::compositor::NodeOperation::get_render_priority ( ) const
inlinevirtual

get the render priority of this node.

Note
only applicable for output operations like ViewerOperation
Returns
eCompositorPriority

Reimplemented in blender::compositor::CompositorOperation, blender::compositor::FileOutputOperation, blender::compositor::PreviewOperation, and blender::compositor::ViewerOperation.

Definition at line 443 of file COM_NodeOperation.h.

References blender::compositor::Low.

◆ get_width()

unsigned int blender::compositor::NodeOperation::get_width ( ) const
inline

Definition at line 460 of file COM_NodeOperation.h.

References BLI_rcti_size_x(), and get_canvas().

Referenced by blender::compositor::PlaneDistortBaseOperation::calculate_corners(), blender::compositor::COM_convert_canvas(), blender::compositor::DoubleEdgeMaskOperation::compute_boundary(), blender::compositor::InpaintSimpleOperation::compute_inpainting_region(), blender::compositor::FileOutputOperation::deinit_execution(), blender::compositor::GlareSimpleStarOperation::generate_glare(), blender::compositor::BokehBlurOperation::get_area_of_interest(), blender::compositor::GlareBaseOperation::get_area_of_interest(), blender::compositor::ScaleOperation::get_area_of_interest(), blender::compositor::TranslateOperation::get_area_of_interest(), blender::compositor::VariableSizeBokehBlurOperation::get_area_of_interest(), blender::compositor::DebugInfo::graphviz_operation(), blender::compositor::BlurBaseOperation::init_data(), blender::compositor::GaussianBlurReferenceOperation::init_data(), blender::compositor::GaussianBokehBlurOperation::init_data(), blender::compositor::MapUVOperation::init_data(), blender::compositor::MovieDistortionOperation::init_data(), blender::compositor::ScaleOperation::init_data(), blender::compositor::ScreenLensDistortionOperation::init_data(), blender::compositor::BoxMaskOperation::init_execution(), blender::compositor::CompositorOperation::init_execution(), blender::compositor::DirectionalBlurOperation::init_execution(), blender::compositor::DisplaceOperation::init_execution(), blender::compositor::EllipseMaskOperation::init_execution(), blender::compositor::PreviewOperation::init_execution(), blender::compositor::RenderLayersProg::init_execution(), blender::compositor::BokehBlurOperation::update_memory_buffer_partial(), blender::compositor::CompositorOperation::update_memory_buffer_partial(), blender::compositor::ConvolutionEdgeFilterOperation::update_memory_buffer_partial(), blender::compositor::ConvolutionFilterOperation::update_memory_buffer_partial(), blender::compositor::CropImageOperation::update_memory_buffer_partial(), blender::compositor::DespeckleOperation::update_memory_buffer_partial(), blender::compositor::FlipOperation::update_memory_buffer_partial(), blender::compositor::KeyingBlurOperation::update_memory_buffer_partial(), blender::compositor::KeyingClipOperation::update_memory_buffer_partial(), blender::compositor::KeyingScreenOperation::update_memory_buffer_partial(), blender::compositor::MovieDistortionOperation::update_memory_buffer_partial(), blender::compositor::PreviewOperation::update_memory_buffer_partial(), blender::compositor::ProjectorLensDistortionOperation::update_memory_buffer_partial(), blender::compositor::ScaleOperation::update_memory_buffer_partial(), blender::compositor::SplitOperation::update_memory_buffer_partial(), blender::compositor::TextureBaseOperation::update_memory_buffer_partial(), blender::compositor::VariableSizeBokehBlurOperation::update_memory_buffer_partial(), and blender::compositor::ViewerOperation::update_memory_buffer_partial().

◆ hash_output_params()

◆ hash_param()

◆ hash_params() [1/2]

template<typename T1 , typename T2 >
void blender::compositor::NodeOperation::hash_params ( T1 param1,
T2 param2 )
inlineprotected

◆ hash_params() [2/2]

template<typename T1 , typename T2 , typename T3 >
void blender::compositor::NodeOperation::hash_params ( T1 param1,
T2 param2,
T3 param3 )
inlineprotected

Definition at line 547 of file COM_NodeOperation.h.

References combine_hashes(), and blender::get_default_hash().

◆ init_data()

◆ init_execution()

void blender::compositor::NodeOperation::init_execution ( )
virtual

Reimplemented in blender::compositor::BaseImageOperation, blender::compositor::BokehImageOperation, blender::compositor::BoxMaskOperation, blender::compositor::CalculateMeanOperation, blender::compositor::ChannelMatteOperation, blender::compositor::ColorBalanceWhitepointOperation, blender::compositor::ColorCurveOperation, blender::compositor::ColorSpillOperation, blender::compositor::CompositorOperation, blender::compositor::ConstantLevelColorCurveOperation, blender::compositor::ConvertColorSpaceOperation, blender::compositor::ConvertDepthToRadiusOperation, blender::compositor::CropBaseOperation, blender::compositor::CryptomatteOperation, blender::compositor::CurveBaseOperation, blender::compositor::DirectionalBlurOperation, blender::compositor::DisplaceOperation, blender::compositor::EllipseMaskOperation, blender::compositor::FastGaussianBlurOperation, blender::compositor::FileOutputOperation, blender::compositor::GaussianAlphaBlurBaseOperation, blender::compositor::GaussianBlurBaseOperation, blender::compositor::GaussianBlurReferenceOperation, blender::compositor::GaussianBokehBlurOperation, blender::compositor::InpaintSimpleOperation, blender::compositor::KeyingScreenOperation, blender::compositor::MaskOperation, blender::compositor::MovieClipAttributeOperation, blender::compositor::MovieClipBaseOperation, blender::compositor::MovieDistortionOperation, blender::compositor::PreviewOperation, blender::compositor::RenderLayersProg, blender::compositor::ScreenLensDistortionOperation, blender::compositor::TextureBaseOperation, blender::compositor::TrackPositionOperation, and blender::compositor::ViewerOperation.

Definition at line 153 of file COM_NodeOperation.cc.

Referenced by blender::compositor::FastGaussianBlurOperation::init_execution(), blender::compositor::GaussianAlphaBlurBaseOperation::init_execution(), blender::compositor::GaussianBlurBaseOperation::init_execution(), blender::compositor::GaussianBlurReferenceOperation::init_execution(), blender::compositor::GaussianBokehBlurOperation::init_execution(), and blender::compositor::TextureBaseOperation::init_execution().

◆ is_active_viewer_output()

virtual bool blender::compositor::NodeOperation::is_active_viewer_output ( ) const
inlinevirtual

is this operation the active viewer output user can select an ViewerNode to be active (the result of this node will be drawn on the backdrop).

Returns
[true:false]
See also
BaseViewerOperation

Reimplemented in blender::compositor::ViewerOperation.

Definition at line 418 of file COM_NodeOperation.h.

◆ is_braked()

◆ is_output_operation()

virtual bool blender::compositor::NodeOperation::is_output_operation ( bool ) const
inlinevirtual

is_output_operation determines whether this operation is an output of the ExecutionSystem during rendering or editing.

Default behavior if not overridden, this operation will not be evaluated as being an output of the ExecutionSystem.

See also
ExecutionSystem
Parameters
rendering[true false] true: rendering false: editing
Returns
bool the result of this method

Reimplemented in blender::compositor::CompositorOperation, blender::compositor::FileOutputOperation, blender::compositor::PreviewOperation, and blender::compositor::ViewerOperation.

Definition at line 378 of file COM_NodeOperation.h.

Referenced by blender::compositor::DebugInfo::graphviz_operation().

◆ render()

void blender::compositor::NodeOperation::render ( MemoryBuffer * output_buf,
Span< rcti > areas,
Span< MemoryBuffer * > inputs_bufs )

Executes operation image manipulation algorithm rendering given areas.

Parameters
output_bufBuffer to write result to.
areasAreas within this operation bounds to render.
inputs_bufsInputs operations buffers.

Definition at line 219 of file COM_NodeOperation.cc.

◆ set_bnodetree()

void blender::compositor::NodeOperation::set_bnodetree ( const bNodeTree * tree)
inline

◆ set_canvas()

◆ set_canvas_input_index()

void blender::compositor::NodeOperation::set_canvas_input_index ( unsigned int index)

set the index of the input socket that will determine the canvas of this operation

Parameters
indexthe index to set

Definition at line 144 of file COM_NodeOperation.cc.

Referenced by blender::compositor::ColorBalanceASCCDLOperation::ColorBalanceASCCDLOperation(), blender::compositor::ColorBalanceLGGOperation::ColorBalanceLGGOperation(), blender::compositor::ColorBalanceWhitepointOperation::ColorBalanceWhitepointOperation(), blender::compositor::ColorCurveOperation::ColorCurveOperation(), blender::compositor::CombineChannelsOperation::CombineChannelsOperation(), blender::compositor::ConstantLevelColorCurveOperation::ConstantLevelColorCurveOperation(), blender::compositor::AlphaOverNode::convert_to_operations(), blender::compositor::CombineColorNode::convert_to_operations(), blender::compositor::CombineColorNodeLegacy::convert_to_operations(), blender::compositor::CombineXYZNode::convert_to_operations(), blender::compositor::GlareNode::convert_to_operations(), blender::compositor::MapUVNode::convert_to_operations(), blender::compositor::SetAlphaNode::convert_to_operations(), blender::compositor::ViewerNode::convert_to_operations(), blender::compositor::ConvolutionFilterOperation::ConvolutionFilterOperation(), blender::compositor::DespeckleOperation::DespeckleOperation(), blender::compositor::MathBaseOperation::determine_canvas(), blender::compositor::MixBaseOperation::determine_canvas(), blender::compositor::SplitOperation::determine_canvas(), blender::compositor::DotproductOperation::DotproductOperation(), blender::compositor::FileOutputOperation::FileOutputOperation(), blender::compositor::FlipOperation::FlipOperation(), blender::compositor::InvertOperation::InvertOperation(), blender::compositor::MapUVOperation::MapUVOperation(), blender::compositor::MovieDistortionOperation::MovieDistortionOperation(), blender::compositor::PixelateOperation::PixelateOperation(), blender::compositor::RotateOperation::RotateOperation(), blender::compositor::ScaleFixedSizeOperation::ScaleFixedSizeOperation(), blender::compositor::SunBeamsOperation::SunBeamsOperation(), and blender::compositor::TranslateOperation::TranslateOperation().

◆ set_determined_canvas_modifier()

void blender::compositor::NodeOperation::set_determined_canvas_modifier ( std::function< void(rcti &canvas)> fn)
inline

◆ set_execution_system()

void blender::compositor::NodeOperation::set_execution_system ( ExecutionSystem * system)
inline

◆ set_id()

◆ set_name()

void blender::compositor::NodeOperation::set_name ( const std::string name)
inline

◆ set_node_instance_key()

const void blender::compositor::NodeOperation::set_node_instance_key ( const bNodeInstanceKey & node_instance_key)
inline

◆ unset_canvas()

void blender::compositor::NodeOperation::unset_canvas ( )

Mainly used for re-determining canvas of constant operations in cases where preferred canvas depends on the constant element.

Definition at line 174 of file COM_NodeOperation.cc.

References BLI_assert, flags_, and blender::compositor::NodeOperationFlags::is_canvas_set.

Referenced by blender::compositor::ScaleOperation::determine_canvas().

◆ update_draw()

void blender::compositor::NodeOperation::update_draw ( )
inline

Definition at line 453 of file COM_NodeOperation.h.

References bNodeTree::runtime.

◆ update_memory_buffer()

Friends And Related Symbol Documentation

◆ DebugInfo

friend class DebugInfo
friend

Definition at line 566 of file COM_NodeOperation.h.

Member Data Documentation

◆ canvas_

◆ exec_system_

◆ flags_

NodeOperationFlags blender::compositor::NodeOperation::flags_
protected

Flags how to evaluate this operation.

Definition at line 295 of file COM_NodeOperation.h.

Referenced by blender::compositor::AlphaOverKeyOperation::AlphaOverKeyOperation(), blender::compositor::AlphaOverMixedOperation::AlphaOverMixedOperation(), blender::compositor::AlphaOverPremultiplyOperation::AlphaOverPremultiplyOperation(), blender::compositor::BilateralBlurOperation::BilateralBlurOperation(), blender::compositor::BlurBaseOperation::BlurBaseOperation(), blender::compositor::BokehBlurOperation::BokehBlurOperation(), blender::compositor::BrightnessOperation::BrightnessOperation(), blender::compositor::CalculateMeanOperation::CalculateMeanOperation(), blender::compositor::ConstantOperation::can_get_constant_elem(), blender::compositor::ChangeHSVOperation::ChangeHSVOperation(), blender::compositor::ChannelMatteOperation::ChannelMatteOperation(), blender::compositor::ChromaMatteOperation::ChromaMatteOperation(), blender::compositor::ColorBalanceASCCDLOperation::ColorBalanceASCCDLOperation(), blender::compositor::ColorBalanceLGGOperation::ColorBalanceLGGOperation(), blender::compositor::ColorBalanceWhitepointOperation::ColorBalanceWhitepointOperation(), blender::compositor::ColorCorrectionOperation::ColorCorrectionOperation(), blender::compositor::ColorMatteOperation::ColorMatteOperation(), blender::compositor::ColorRampOperation::ColorRampOperation(), blender::compositor::ColorSpillOperation::ColorSpillOperation(), blender::compositor::CombineChannelsOperation::CombineChannelsOperation(), blender::compositor::CompositorOperation::CompositorOperation(), blender::compositor::ConstantOperation::ConstantOperation(), blender::compositor::ConvertBaseOperation::ConvertBaseOperation(), blender::compositor::ConvertDepthToRadiusOperation::ConvertDepthToRadiusOperation(), blender::compositor::ConvolutionFilterOperation::ConvolutionFilterOperation(), blender::compositor::CropBaseOperation::CropBaseOperation(), blender::compositor::CryptomatteOperation::CryptomatteOperation(), blender::compositor::CurveBaseOperation::CurveBaseOperation(), blender::compositor::DenoiseBaseOperation::DenoiseBaseOperation(), blender::compositor::DespeckleOperation::DespeckleOperation(), blender::compositor::DifferenceMatteOperation::DifferenceMatteOperation(), blender::compositor::DilateDistanceOperation::DilateDistanceOperation(), blender::compositor::DilateErodeThresholdOperation::DilateErodeThresholdOperation(), blender::compositor::DirectionalBlurOperation::DirectionalBlurOperation(), blender::compositor::DisplaceOperation::DisplaceOperation(), blender::compositor::DistanceRGBMatteOperation::DistanceRGBMatteOperation(), blender::compositor::DotproductOperation::DotproductOperation(), blender::compositor::ExposureOperation::ExposureOperation(), blender::compositor::FlipOperation::FlipOperation(), blender::compositor::GammaCorrectOperation::GammaCorrectOperation(), blender::compositor::GammaOperation::GammaOperation(), blender::compositor::GammaUncorrectOperation::GammaUncorrectOperation(), get_flags(), blender::compositor::GlareBaseOperation::GlareBaseOperation(), blender::compositor::GlareThresholdOperation::GlareThresholdOperation(), blender::compositor::IDMaskOperation::IDMaskOperation(), blender::compositor::InvertOperation::InvertOperation(), blender::compositor::KeyingBlurOperation::KeyingBlurOperation(), blender::compositor::KeyingClipOperation::KeyingClipOperation(), blender::compositor::KeyingDespillOperation::KeyingDespillOperation(), blender::compositor::KeyingOperation::KeyingOperation(), blender::compositor::KuwaharaAnisotropicOperation::KuwaharaAnisotropicOperation(), blender::compositor::KuwaharaAnisotropicStructureTensorOperation::KuwaharaAnisotropicStructureTensorOperation(), blender::compositor::KuwaharaClassicOperation::KuwaharaClassicOperation(), blender::compositor::LuminanceMatteOperation::LuminanceMatteOperation(), blender::compositor::MapRangeOperation::MapRangeOperation(), blender::compositor::MapUVOperation::MapUVOperation(), blender::compositor::MapValueOperation::MapValueOperation(), blender::compositor::MathBaseOperation::MathBaseOperation(), blender::compositor::MixBaseOperation::MixBaseOperation(), blender::compositor::MovieDistortionOperation::MovieDistortionOperation(), blender::compositor::NormalizeOperation::NormalizeOperation(), blender::compositor::PixelateOperation::PixelateOperation(), blender::compositor::PosterizeOperation::PosterizeOperation(), blender::compositor::PreviewOperation::PreviewOperation(), blender::compositor::ProjectorLensDistortionOperation::ProjectorLensDistortionOperation(), blender::compositor::RotateOperation::RotateOperation(), blender::compositor::ScaleOperation::ScaleOperation(), blender::compositor::ScreenLensDistortionOperation::ScreenLensDistortionOperation(), blender::compositor::SeparateChannelOperation::SeparateChannelOperation(), set_canvas(), blender::compositor::SetAlphaMultiplyOperation::SetAlphaMultiplyOperation(), blender::compositor::SetAlphaReplaceOperation::SetAlphaReplaceOperation(), blender::compositor::SetColorOperation::SetColorOperation(), blender::compositor::SetValueOperation::SetValueOperation(), blender::compositor::SetVectorOperation::SetVectorOperation(), blender::compositor::SMAAOperation::SMAAOperation(), blender::compositor::SocketProxyOperation::SocketProxyOperation(), blender::compositor::SplitOperation::SplitOperation(), blender::compositor::SummedAreaTableOperation::SummedAreaTableOperation(), blender::compositor::TonemapOperation::TonemapOperation(), blender::compositor::TrackPositionOperation::TrackPositionOperation(), blender::compositor::TransformOperation::TransformOperation(), blender::compositor::TranslateOperation::TranslateOperation(), unset_canvas(), blender::compositor::VariableSizeBokehBlurOperation::VariableSizeBokehBlurOperation(), blender::compositor::VectorCurveOperation::VectorCurveOperation(), blender::compositor::ViewerOperation::ViewerOperation(), and blender::compositor::ZCombineOperation::ZCombineOperation().


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