Blender
V3.3
|
#include <NOD_geometry_exec.hh>
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< GMutablePointer > | extract_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 Object * | self_object = nullptr |
const ModifierData * | modifier = nullptr |
Depsgraph * | depsgraph = nullptr |
geometry_nodes_eval_log::GeoLogger * | logger = nullptr |
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.
|
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().
|
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.
|
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.
|
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().
|
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().
|
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().
|
pure virtual |
Implemented in blender::modifiers::geometry_nodes::NodeParamsProvider.
Referenced by blender::nodes::GeoNodeExecParams::lazy_output_is_required().
|
pure virtual |
Implemented in blender::modifiers::geometry_nodes::NodeParamsProvider.
Referenced by blender::nodes::GeoNodeExecParams::lazy_require_input().
|
pure virtual |
Implemented in blender::modifiers::geometry_nodes::NodeParamsProvider.
Referenced by blender::nodes::GeoNodeExecParams::output_is_required().
|
pure virtual |
Implemented in blender::modifiers::geometry_nodes::NodeParamsProvider.
Referenced by blender::nodes::GeoNodeExecParams::set_default_remaining_outputs().
|
pure virtual |
Implemented in blender::modifiers::geometry_nodes::NodeParamsProvider.
Referenced by blender::nodes::GeoNodeExecParams::set_input_unused().
|
pure virtual |
The value has been allocated with alloc_output_value.
Implemented in blender::modifiers::geometry_nodes::NodeParamsProvider.
Referenced by blender::nodes::GeoNodeExecParams::set_output().
Depsgraph* blender::nodes::GeoNodeExecParamsProvider::depsgraph = nullptr |
Definition at line 57 of file NOD_geometry_exec.hh.
Referenced by blender::nodes::GeoNodeExecParams::depsgraph(), and blender::modifiers::geometry_nodes::NodeParamsProvider::NodeParamsProvider().
DNode blender::nodes::GeoNodeExecParamsProvider::dnode |
Definition at line 54 of file NOD_geometry_exec.hh.
Referenced by blender::nodes::GeoNodeExecParams::attribute_producer_name(), blender::modifiers::geometry_nodes::NodeParamsProvider::can_get_input(), blender::modifiers::geometry_nodes::NodeParamsProvider::can_set_output(), blender::nodes::GeoNodeExecParams::check_input_geometry_set(), blender::nodes::GeoNodeExecParams::error_message_add(), blender::modifiers::geometry_nodes::NodeParamsProvider::extract_input(), blender::modifiers::geometry_nodes::NodeParamsProvider::extract_multi_input(), blender::modifiers::geometry_nodes::NodeParamsProvider::get_input(), blender::modifiers::geometry_nodes::NodeParamsProvider::lazy_output_is_required(), blender::modifiers::geometry_nodes::NodeParamsProvider::lazy_require_input(), blender::nodes::GeoNodeExecParams::node(), blender::modifiers::geometry_nodes::NodeParamsProvider::NodeParamsProvider(), blender::modifiers::geometry_nodes::NodeParamsProvider::output_is_required(), blender::modifiers::geometry_nodes::NodeParamsProvider::set_default_remaining_outputs(), blender::modifiers::geometry_nodes::NodeParamsProvider::set_input_unused(), blender::modifiers::geometry_nodes::NodeParamsProvider::set_output(), and blender::nodes::GeoNodeExecParams::used_named_attribute().
geometry_nodes_eval_log::GeoLogger* blender::nodes::GeoNodeExecParamsProvider::logger = nullptr |
Definition at line 58 of file NOD_geometry_exec.hh.
Referenced by blender::nodes::GeoNodeExecParams::error_message_add(), blender::modifiers::geometry_nodes::NodeParamsProvider::NodeParamsProvider(), and blender::nodes::GeoNodeExecParams::used_named_attribute().
const ModifierData* blender::nodes::GeoNodeExecParamsProvider::modifier = nullptr |
Definition at line 56 of file NOD_geometry_exec.hh.
Referenced by blender::modifiers::geometry_nodes::NodeParamsProvider::NodeParamsProvider().
const Object* blender::nodes::GeoNodeExecParamsProvider::self_object = nullptr |
Definition at line 55 of file NOD_geometry_exec.hh.
Referenced by blender::modifiers::geometry_nodes::NodeParamsProvider::NodeParamsProvider(), and blender::nodes::GeoNodeExecParams::self_object().