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

#include <COM_InpaintOperation.h>

Inherits blender::compositor::NodeOperation.

Public Member Functions

 InpaintSimpleOperation ()
 
void compute_inpainting_region (const MemoryBuffer *input, const MemoryBuffer &inpainted_region, const MemoryBuffer &distance_to_boundary, MemoryBuffer *output)
 
void fill_inpainting_region (const MemoryBuffer *input, Span< int2 > flooded_boundary, MemoryBuffer &filled_region, MemoryBuffer &distance_to_boundary_buffer, MemoryBuffer &smoothing_radius_buffer)
 
Array< int2compute_inpainting_boundary (const MemoryBuffer *input)
 
void inpaint (const MemoryBuffer *input, MemoryBuffer *output)
 
void init_execution () override
 
void deinit_execution () override
 
void set_max_distance (int max_distance)
 
void get_area_of_interest (int input_idx, const rcti &output_area, rcti &r_input_area) override
 Get input operation area being read by this operation on rendering given output area.
 
void update_memory_buffer (MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
 
- Public Member Functions inherited from blender::compositor::NodeOperation
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 ()
 
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 ()
 
void render (MemoryBuffer *output_buf, Span< rcti > areas, Span< MemoryBuffer * > inputs_bufs)
 
void get_area_of_interest (NodeOperation *input_op, const rcti &output_area, rcti &r_input_area)
 

Protected Attributes

MemoryBuffercached_buffer_
 
bool cached_buffer_ready_
 
int max_distance_
 
- Protected Attributes inherited from blender::compositor::NodeOperation
rcti canvas_ = COM_AREA_NONE
 
NodeOperationFlags flags_
 
ExecutionSystemexec_system_
 

Additional Inherited Members

- Protected Member Functions inherited from blender::compositor::NodeOperation
 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 inherited from blender::compositor::NodeOperation
static void combine_hashes (size_t &combined, size_t other)
 

Detailed Description

Definition at line 15 of file COM_InpaintOperation.h.

Constructor & Destructor Documentation

◆ InpaintSimpleOperation()

blender::compositor::InpaintSimpleOperation::InpaintSimpleOperation ( )

Definition at line 152 of file COM_InpaintOperation.cc.

Member Function Documentation

◆ compute_inpainting_boundary()

Array< int2 > blender::compositor::InpaintSimpleOperation::compute_inpainting_boundary ( const MemoryBuffer * input)

Definition at line 93 of file COM_InpaintOperation.cc.

References blender::threading::parallel_for().

◆ compute_inpainting_region()

void blender::compositor::InpaintSimpleOperation::compute_inpainting_region ( const MemoryBuffer * input,
const MemoryBuffer & inpainted_region,
const MemoryBuffer & distance_to_boundary,
MemoryBuffer * output )

◆ deinit_execution()

void blender::compositor::InpaintSimpleOperation::deinit_execution ( )
overridevirtual

Reimplemented from blender::compositor::NodeOperation.

Definition at line 166 of file COM_InpaintOperation.cc.

◆ fill_inpainting_region()

void blender::compositor::InpaintSimpleOperation::fill_inpainting_region ( const MemoryBuffer * input,
Span< int2 > flooded_boundary,
MemoryBuffer & filled_region,
MemoryBuffer & distance_to_boundary_buffer,
MemoryBuffer & smoothing_radius_buffer )

Definition at line 52 of file COM_InpaintOperation.cc.

References blender::threading::parallel_for().

◆ get_area_of_interest()

void blender::compositor::InpaintSimpleOperation::get_area_of_interest ( int input_idx,
const rcti & output_area,
rcti & r_input_area )
overridevirtual

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 from blender::compositor::NodeOperation.

Definition at line 176 of file COM_InpaintOperation.cc.

References BLI_assert, and UNUSED_VARS_NDEBUG.

◆ init_execution()

void blender::compositor::InpaintSimpleOperation::init_execution ( )
overridevirtual

Reimplemented from blender::compositor::NodeOperation.

Definition at line 160 of file COM_InpaintOperation.cc.

◆ inpaint()

void blender::compositor::InpaintSimpleOperation::inpaint ( const MemoryBuffer * input,
MemoryBuffer * output )

◆ set_max_distance()

void blender::compositor::InpaintSimpleOperation::set_max_distance ( int max_distance)
inline

◆ update_memory_buffer()

void blender::compositor::InpaintSimpleOperation::update_memory_buffer ( MemoryBuffer * ,
const rcti & ,
Span< MemoryBuffer * >  )
overridevirtual

Executes operation updating output memory buffer. Single-threaded calls.

Reimplemented from blender::compositor::NodeOperation.

Definition at line 185 of file COM_InpaintOperation.cc.

References copy_v4_v4().

Member Data Documentation

◆ cached_buffer_

MemoryBuffer* blender::compositor::InpaintSimpleOperation::cached_buffer_
protected

Definition at line 17 of file COM_InpaintOperation.h.

◆ cached_buffer_ready_

bool blender::compositor::InpaintSimpleOperation::cached_buffer_ready_
protected

Definition at line 18 of file COM_InpaintOperation.h.

◆ max_distance_

int blender::compositor::InpaintSimpleOperation::max_distance_
protected

Definition at line 19 of file COM_InpaintOperation.h.

Referenced by set_max_distance().


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