Blender  V3.3
Public Member Functions | Public Attributes | List of all members
blender::nodes::GeoNodeExecParamsProvider Class Referenceabstract

#include <NOD_geometry_exec.hh>

Inheritance diagram for blender::nodes::GeoNodeExecParamsProvider:
blender::modifiers::geometry_nodes::NodeParamsProvider

Public Member Functions

virtual bool can_get_input (StringRef identifier) const =0
 
virtual bool can_set_output (StringRef identifier) const =0
 
virtual GMutablePointer extract_input (StringRef identifier)=0
 
virtual Vector< GMutablePointerextract_multi_input (StringRef identifier)=0
 
virtual GPointer get_input (StringRef identifier) const =0
 
virtual GMutablePointer alloc_output_value (const CPPType &type)=0
 
virtual void set_output (StringRef identifier, GMutablePointer value)=0
 
virtual void set_input_unused (StringRef identifier)=0
 
virtual bool output_is_required (StringRef identifier) const =0
 
virtual bool lazy_require_input (StringRef identifier)=0
 
virtual bool lazy_output_is_required (StringRef identifier) const =0
 
virtual void set_default_remaining_outputs ()=0
 

Public Attributes

DNode dnode
 
const Objectself_object = nullptr
 
const ModifierDatamodifier = nullptr
 
Depsgraphdepsgraph = nullptr
 
geometry_nodes_eval_log::GeoLoggerlogger = nullptr
 

Detailed Description

This class exists to separate the memory management details of the geometry nodes evaluator from the node execution functions and related utilities.

Definition at line 52 of file NOD_geometry_exec.hh.

Member Function Documentation

◆ alloc_output_value()

virtual GMutablePointer blender::nodes::GeoNodeExecParamsProvider::alloc_output_value ( const CPPType type)
pure virtual

Prepare a memory buffer for an output value of the node. The returned memory has to be initialized by the caller. The identifier and type are expected to be correct.

Implemented in blender::modifiers::geometry_nodes::NodeParamsProvider.

Referenced by blender::nodes::GeoNodeExecParams::set_output().

◆ can_get_input()

virtual bool blender::nodes::GeoNodeExecParamsProvider::can_get_input ( StringRef  identifier) const
pure virtual

Returns true when the node is allowed to get/extract the input value. The identifier is expected to be valid. This may return false if the input value has been consumed already.

Implemented in blender::modifiers::geometry_nodes::NodeParamsProvider.

◆ can_set_output()

virtual bool blender::nodes::GeoNodeExecParamsProvider::can_set_output ( StringRef  identifier) const
pure virtual

Returns true when the node is allowed to set the output value. The identifier is expected to be valid. This may return false if the output value has been set already.

Implemented in blender::modifiers::geometry_nodes::NodeParamsProvider.

◆ extract_input()

virtual GMutablePointer blender::nodes::GeoNodeExecParamsProvider::extract_input ( StringRef  identifier)
pure virtual

Take ownership of an input value. The caller is responsible for destructing the value. It does not have to be freed, because the memory is managed by the geometry nodes evaluator.

Implemented in blender::modifiers::geometry_nodes::NodeParamsProvider.

Referenced by blender::nodes::GeoNodeExecParams::extract_input().

◆ extract_multi_input()

virtual Vector<GMutablePointer> blender::nodes::GeoNodeExecParamsProvider::extract_multi_input ( StringRef  identifier)
pure virtual

Similar to extract_input, but has to be used for multi-input sockets.

Implemented in blender::modifiers::geometry_nodes::NodeParamsProvider.

Referenced by blender::nodes::GeoNodeExecParams::extract_multi_input().

◆ get_input()

virtual GPointer blender::nodes::GeoNodeExecParamsProvider::get_input ( StringRef  identifier) const
pure virtual

Get the input value for the identifier without taking ownership of it.

Implemented in blender::modifiers::geometry_nodes::NodeParamsProvider.

Referenced by blender::nodes::GeoNodeExecParams::get_input().

◆ lazy_output_is_required()

virtual bool blender::nodes::GeoNodeExecParamsProvider::lazy_output_is_required ( StringRef  identifier) const
pure virtual

◆ lazy_require_input()

virtual bool blender::nodes::GeoNodeExecParamsProvider::lazy_require_input ( StringRef  identifier)
pure virtual

◆ output_is_required()

virtual bool blender::nodes::GeoNodeExecParamsProvider::output_is_required ( StringRef  identifier) const
pure virtual

◆ set_default_remaining_outputs()

virtual void blender::nodes::GeoNodeExecParamsProvider::set_default_remaining_outputs ( )
pure virtual

◆ set_input_unused()

virtual void blender::nodes::GeoNodeExecParamsProvider::set_input_unused ( StringRef  identifier)
pure virtual

◆ set_output()

virtual void blender::nodes::GeoNodeExecParamsProvider::set_output ( StringRef  identifier,
GMutablePointer  value 
)
pure virtual

Member Data Documentation

◆ depsgraph

Depsgraph* blender::nodes::GeoNodeExecParamsProvider::depsgraph = nullptr

◆ dnode

DNode blender::nodes::GeoNodeExecParamsProvider::dnode

◆ logger

geometry_nodes_eval_log::GeoLogger* blender::nodes::GeoNodeExecParamsProvider::logger = nullptr

◆ modifier

const ModifierData* blender::nodes::GeoNodeExecParamsProvider::modifier = nullptr

◆ self_object

const Object* blender::nodes::GeoNodeExecParamsProvider::self_object = nullptr

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