|
Blender V4.5
|
#include <node.h>
Inherited by Background, BufferParams, BufferPass, Camera, DenoiseParams, Film, Geometry, Integrator, Object, ParticleSystem, Pass, Procedural, Shader, and ShaderNode.
Public Member Functions | |
| Node (const NodeType *type, ustring name=ustring()) | |
| virtual | ~Node ()=0 |
| void | set (const SocketType &input, bool value) |
| void | set (const SocketType &input, const int value) |
| void | set (const SocketType &input, const uint value) |
| void | set (const SocketType &input, const uint64_t value) |
| void | set (const SocketType &input, const float value) |
| void | set (const SocketType &input, const float2 value) |
| void | set (const SocketType &input, const float3 value) |
| void | set (const SocketType &input, const char *value) |
| void | set (const SocketType &input, ustring value) |
| void | set (const SocketType &input, const Transform &value) |
| void | set (const SocketType &input, Node *value) |
| template<class ValueType , std::enable_if_t< std::is_enum_v< ValueType >, bool > = true> | |
| void | set (const SocketType &input, const ValueType &value) |
| void | set (const SocketType &input, array< bool > &value) |
| void | set (const SocketType &input, array< int > &value) |
| void | set (const SocketType &input, array< float > &value) |
| void | set (const SocketType &input, array< float2 > &value) |
| void | set (const SocketType &input, array< float3 > &value) |
| void | set (const SocketType &input, array< ustring > &value) |
| void | set (const SocketType &input, array< Transform > &value) |
| void | set (const SocketType &input, array< Node * > &value) |
| bool | get_bool (const SocketType &input) const |
| int | get_int (const SocketType &input) const |
| uint | get_uint (const SocketType &input) const |
| uint64_t | get_uint64 (const SocketType &input) const |
| float | get_float (const SocketType &input) const |
| float2 | get_float2 (const SocketType &input) const |
| float3 | get_float3 (const SocketType &input) const |
| ustring | get_string (const SocketType &input) const |
| Transform | get_transform (const SocketType &input) const |
| Node * | get_node (const SocketType &input) const |
| const array< bool > & | get_bool_array (const SocketType &input) const |
| const array< int > & | get_int_array (const SocketType &input) const |
| const array< float > & | get_float_array (const SocketType &input) const |
| const array< float2 > & | get_float2_array (const SocketType &input) const |
| const array< float3 > & | get_float3_array (const SocketType &input) const |
| const array< ustring > & | get_string_array (const SocketType &input) const |
| const array< Transform > & | get_transform_array (const SocketType &input) const |
| const array< Node * > & | get_node_array (const SocketType &input) const |
| bool | has_default_value (const SocketType &input) const |
| void | set_default_value (const SocketType &input) |
| bool | equals_value (const Node &other, const SocketType &socket) const |
| void | copy_value (const SocketType &socket, const Node &other, const SocketType &other_socket) |
| void | set_value (const SocketType &socket, const Node &other, const SocketType &other_socket) |
| bool | equals (const Node &other) const |
| void | hash (MD5Hash &md5) |
| size_t | get_total_size_in_bytes () const |
| bool | is_a (const NodeType *type) |
| bool | socket_is_modified (const SocketType &input) const |
| bool | is_modified () const |
| void | tag_modified () |
| void | clear_modified () |
| void | print_modified_sockets () const |
| const NodeOwner * | get_owner () const |
| void | set_owner (const NodeOwner *owner_) |
| int | reference_count () const |
| void | reference () |
| void | dereference () |
| void | clear_reference_count () |
Public Attributes | |
| ustring | name |
| const NodeType * | type |
| InternalNode | internal |
| LeafNode | leaf |
Protected Member Functions | |
| template<typename T > | |
| void | set_if_different (const SocketType &input, T value) |
| void | set_if_different (const SocketType &input, Node *value) |
| template<typename T > | |
| void | set_if_different (const SocketType &input, array< T > &value) |
| void | set_if_different (const SocketType &input, array< Node * > &value) |
| void | dereference_all_used_nodes () |
Static Protected Member Functions | |
| template<typename T > | |
| static T & | get_socket_value (const Node *node, const SocketType &socket) |
Protected Attributes | |
| const NodeOwner * | owner |
| int | ref_count {0} |
| SocketModifiedFlags | socket_modified |
Definition at line 90 of file graph/node.h.
|
explicit |
Definition at line 18 of file graph/node.cpp.
References assert, NodeType::inputs, name, NodeType::name, owner, set_default_value(), tag_modified(), and type.
|
pure virtual |
Definition at line 36 of file graph/node.cpp.
| void Node::clear_modified | ( | ) |
Definition at line 833 of file graph/node.cpp.
References socket_modified.
|
inline |
Definition at line 201 of file graph/node.h.
References ref_count.
| void Node::copy_value | ( | const SocketType & | socket, |
| const Node & | other, | ||
| const SocketType & | other_socket ) |
Definition at line 327 of file graph/node.cpp.
References assert, SocketType::BOOLEAN_ARRAY, SocketType::COLOR_ARRAY, copy_array(), SocketType::FLOAT_ARRAY, get_socket_value(), SocketType::INT_ARRAY, SocketType::is_array(), SocketType::NODE, node, SocketType::NODE_ARRAY, SocketType::NORMAL_ARRAY, SocketType::POINT2_ARRAY, SocketType::POINT_ARRAY, SocketType::size(), SocketType::STRING_ARRAY, SocketType::struct_offset, SocketType::TRANSFORM_ARRAY, SocketType::type, and SocketType::VECTOR_ARRAY.
Referenced by ShaderGraph::relink(), and ShaderGraph::remove_proxy_nodes().
|
inline |
Definition at line 193 of file graph/node.h.
References ref_count.
Referenced by set_if_different().
|
protected |
Definition at line 798 of file graph/node.cpp.
References get_socket_value(), NodeType::inputs, SocketType::NODE, node, SocketType::NODE_ARRAY, type, and SocketType::type.
Referenced by Light::Light(), Background::~Background(), and Geometry::~Geometry().
| bool Node::equals | ( | const Node & | other | ) | const |
Definition at line 561 of file graph/node.cpp.
References assert, equals_value(), NodeType::inputs, and type.
Referenced by ImageSlotTextureNode::equals().
| bool Node::equals_value | ( | const Node & | other, |
| const SocketType & | socket ) const |
Definition at line 494 of file graph/node.cpp.
References SocketType::BOOLEAN, SocketType::BOOLEAN_ARRAY, SocketType::CLOSURE, SocketType::COLOR, SocketType::COLOR_ARRAY, SocketType::ENUM, SocketType::FLOAT, SocketType::FLOAT_ARRAY, SocketType::INT, SocketType::INT_ARRAY, is_array_equal(), is_value_equal(), SocketType::NODE, SocketType::NODE_ARRAY, SocketType::NORMAL, SocketType::NORMAL_ARRAY, SocketType::NUM_TYPES, SocketType::POINT, SocketType::POINT2, SocketType::POINT2_ARRAY, SocketType::POINT_ARRAY, SocketType::STRING, SocketType::STRING_ARRAY, SocketType::TRANSFORM, SocketType::TRANSFORM_ARRAY, SocketType::type, SocketType::UINT, SocketType::UINT64, SocketType::UNDEFINED, SocketType::VECTOR, and SocketType::VECTOR_ARRAY.
Referenced by equals(), and ShaderNode::equals().
| bool Node::get_bool | ( | const SocketType & | input | ) | const |
Definition at line 181 of file graph/node.cpp.
References assert, SocketType::BOOLEAN, get_socket_value(), and input.
| const array< bool > & Node::get_bool_array | ( | const SocketType & | input | ) | const |
Definition at line 250 of file graph/node.cpp.
References assert, SocketType::BOOLEAN_ARRAY, get_socket_value(), and input.
| float Node::get_float | ( | const SocketType & | input | ) | const |
Definition at line 205 of file graph/node.cpp.
References assert, SocketType::FLOAT, get_socket_value(), and input.
Referenced by BsdfNode::compile(), VolumeNode::compile(), ConstantFolder::fold_mix(), ConstantFolder::fold_mix_color(), ConstantFolder::fold_mix_float(), ConstantFolder::is_one(), ConstantFolder::is_zero(), and ConstantFolder::try_bypass_or_make_constant().
| float2 Node::get_float2 | ( | const SocketType & | input | ) | const |
Definition at line 211 of file graph/node.cpp.
References assert, get_socket_value(), input, and SocketType::POINT2.
| const array< float2 > & Node::get_float2_array | ( | const SocketType & | input | ) | const |
Definition at line 268 of file graph/node.cpp.
References assert, get_socket_value(), input, and SocketType::POINT2_ARRAY.
| float3 Node::get_float3 | ( | const SocketType & | input | ) | const |
Definition at line 217 of file graph/node.cpp.
References assert, get_socket_value(), input, and is_socket_float3().
Referenced by ConstantFolder::fold_mix(), ConstantFolder::fold_mix_color(), ConstantFolder::is_one(), ConstantFolder::is_zero(), and ConstantFolder::try_bypass_or_make_constant().
| const array< float3 > & Node::get_float3_array | ( | const SocketType & | input | ) | const |
Definition at line 274 of file graph/node.cpp.
References assert, get_socket_value(), input, and is_socket_array_float3().
| const array< float > & Node::get_float_array | ( | const SocketType & | input | ) | const |
Definition at line 262 of file graph/node.cpp.
References assert, SocketType::FLOAT_ARRAY, get_socket_value(), and input.
| int Node::get_int | ( | const SocketType & | input | ) | const |
Definition at line 187 of file graph/node.cpp.
References assert, SocketType::ENUM, get_socket_value(), input, and SocketType::INT.
| const array< int > & Node::get_int_array | ( | const SocketType & | input | ) | const |
Definition at line 256 of file graph/node.cpp.
References assert, get_socket_value(), input, and SocketType::INT_ARRAY.
| Node * Node::get_node | ( | const SocketType & | input | ) | const |
Definition at line 243 of file graph/node.cpp.
References assert, get_socket_value(), input, and SocketType::NODE.
| const array< Node * > & Node::get_node_array | ( | const SocketType & | input | ) | const |
Definition at line 292 of file graph/node.cpp.
References assert, get_socket_value(), input, and SocketType::NODE_ARRAY.
| const NodeOwner * Node::get_owner | ( | ) | const |
Definition at line 787 of file graph/node.cpp.
References owner.
|
inlinestaticprotected |
Definition at line 210 of file graph/node.h.
References node, and SocketType::struct_offset.
Referenced by copy_value(), dereference_all_used_nodes(), get_bool(), get_bool_array(), get_float(), get_float2(), get_float2_array(), get_float3(), get_float3_array(), get_float_array(), get_int(), get_int_array(), get_node(), get_node_array(), get_string(), get_string_array(), get_transform(), get_transform_array(), get_uint(), get_uint64(), has_default_value(), set_if_different(), set_if_different(), set_if_different(), set_if_different(), and set_value().
| ustring Node::get_string | ( | const SocketType & | input | ) | const |
Definition at line 223 of file graph/node.cpp.
References assert, SocketType::ENUM, NodeEnum::exists(), get_socket_value(), input, and SocketType::STRING.
| const array< ustring > & Node::get_string_array | ( | const SocketType & | input | ) | const |
Definition at line 280 of file graph/node.cpp.
References assert, get_socket_value(), input, and SocketType::STRING_ARRAY.
| size_t Node::get_total_size_in_bytes | ( | ) | const |
Definition at line 712 of file graph/node.cpp.
References SocketType::BOOLEAN, SocketType::BOOLEAN_ARRAY, SocketType::CLOSURE, SocketType::COLOR, SocketType::COLOR_ARRAY, SocketType::ENUM, SocketType::FLOAT, SocketType::FLOAT_ARRAY, NodeType::inputs, SocketType::INT, SocketType::INT_ARRAY, SocketType::NODE, SocketType::NODE_ARRAY, SocketType::NORMAL, SocketType::NORMAL_ARRAY, SocketType::NUM_TYPES, SocketType::POINT, SocketType::POINT2, SocketType::POINT2_ARRAY, SocketType::POINT_ARRAY, SocketType::size(), SocketType::STRING, SocketType::STRING_ARRAY, SocketType::TRANSFORM, SocketType::TRANSFORM_ARRAY, type, SocketType::type, SocketType::UINT, SocketType::UINT64, SocketType::UNDEFINED, SocketType::VECTOR, and SocketType::VECTOR_ARRAY.
| Transform Node::get_transform | ( | const SocketType & | input | ) | const |
Definition at line 237 of file graph/node.cpp.
References assert, get_socket_value(), input, and SocketType::TRANSFORM.
| const array< Transform > & Node::get_transform_array | ( | const SocketType & | input | ) | const |
Definition at line 286 of file graph/node.cpp.
References assert, get_socket_value(), input, and SocketType::TRANSFORM_ARRAY.
| uint Node::get_uint | ( | const SocketType & | input | ) | const |
Definition at line 193 of file graph/node.cpp.
References assert, get_socket_value(), input, and SocketType::UINT.
| uint64_t Node::get_uint64 | ( | const SocketType & | input | ) | const |
Definition at line 199 of file graph/node.cpp.
References assert, get_socket_value(), input, and SocketType::UINT64.
| bool Node::has_default_value | ( | const SocketType & | input | ) | const |
Definition at line 300 of file graph/node.cpp.
References get_socket_value(), and input.
| void Node::hash | ( | MD5Hash & | md5 | ) |
Definition at line 608 of file graph/node.cpp.
References MD5Hash::append(), SocketType::BOOLEAN, SocketType::BOOLEAN_ARRAY, SocketType::CLOSURE, SocketType::COLOR, SocketType::COLOR_ARRAY, SocketType::ENUM, SocketType::FLOAT, SocketType::FLOAT_ARRAY, NodeType::inputs, SocketType::INT, SocketType::INT_ARRAY, NodeType::name, SocketType::name, SocketType::NODE, SocketType::NODE_ARRAY, SocketType::NORMAL, SocketType::NORMAL_ARRAY, SocketType::NUM_TYPES, SocketType::POINT, SocketType::POINT2, SocketType::POINT2_ARRAY, SocketType::POINT_ARRAY, SocketType::STRING, SocketType::STRING_ARRAY, SocketType::TRANSFORM, SocketType::TRANSFORM_ARRAY, type, SocketType::type, SocketType::UINT, SocketType::UINT64, SocketType::UNDEFINED, SocketType::VECTOR, and SocketType::VECTOR_ARRAY.
| bool Node::is_a | ( | const NodeType * | type | ) |
Definition at line 777 of file graph/node.cpp.
References NodeType::base, and type.
| bool Node::is_modified | ( | ) | const |
Definition at line 823 of file graph/node.cpp.
References socket_modified.
Referenced by Background::device_update(), Film::device_update(), Integrator::device_update(), Scene::need_data_update(), Scene::need_reset(), Scene::need_update(), Background::tag_update(), Light::tag_update(), Object::tag_update(), Camera::update(), Film::update_passes(), and BlenderSession::view_draw().
| void Node::print_modified_sockets | ( | ) | const |
Definition at line 900 of file graph/node.cpp.
References NodeType::inputs, name, SocketType::name, printf, socket_is_modified(), and type.
|
inline |
Definition at line 188 of file graph/node.h.
References ref_count.
Referenced by ShaderManager::add_default().
|
inline |
Definition at line 183 of file graph/node.h.
References ref_count.
Referenced by SVMCompiler::compile_type(), ShaderManager::device_update_pre(), ShaderManager::get_kernel_features(), Scene::get_max_closure_count(), and Shader::tag_used().
| void Node::set | ( | const SocketType & | input, |
| array< bool > & | value ) |
Definition at line 132 of file graph/node.cpp.
References assert, SocketType::BOOLEAN_ARRAY, input, set_if_different(), and value.
| void Node::set | ( | const SocketType & | input, |
| array< float > & | value ) |
Definition at line 144 of file graph/node.cpp.
References assert, SocketType::FLOAT_ARRAY, input, set_if_different(), and value.
| void Node::set | ( | const SocketType & | input, |
| array< float2 > & | value ) |
Definition at line 150 of file graph/node.cpp.
References assert, input, SocketType::POINT2_ARRAY, set_if_different(), and value.
| void Node::set | ( | const SocketType & | input, |
| array< float3 > & | value ) |
Definition at line 156 of file graph/node.cpp.
References assert, input, is_socket_array_float3(), set_if_different(), and value.
| void Node::set | ( | const SocketType & | input, |
| array< int > & | value ) |
Definition at line 138 of file graph/node.cpp.
References assert, input, SocketType::INT_ARRAY, set_if_different(), and value.
| void Node::set | ( | const SocketType & | input, |
| array< Node * > & | value ) |
Definition at line 174 of file graph/node.cpp.
References assert, input, SocketType::NODE_ARRAY, set_if_different(), and value.
| void Node::set | ( | const SocketType & | input, |
| array< Transform > & | value ) |
Definition at line 168 of file graph/node.cpp.
References assert, input, set_if_different(), SocketType::TRANSFORM_ARRAY, and value.
| void Node::set | ( | const SocketType & | input, |
| array< ustring > & | value ) |
Definition at line 162 of file graph/node.cpp.
References assert, input, set_if_different(), SocketType::STRING_ARRAY, and value.
| void Node::set | ( | const SocketType & | input, |
| bool | value ) |
Definition at line 53 of file graph/node.cpp.
References assert, SocketType::BOOLEAN, input, set_if_different(), and value.
Referenced by BKE_scene_base_iter_next(), set(), set(), and set_value().
| void Node::set | ( | const SocketType & | input, |
| const char * | value ) |
Definition at line 95 of file graph/node.cpp.
| void Node::set | ( | const SocketType & | input, |
| const float | value ) |
Definition at line 77 of file graph/node.cpp.
References assert, SocketType::FLOAT, input, set_if_different(), and value.
| void Node::set | ( | const SocketType & | input, |
| const float2 | value ) |
Definition at line 83 of file graph/node.cpp.
References assert, input, SocketType::POINT2, set_if_different(), and value.
| void Node::set | ( | const SocketType & | input, |
| const float3 | value ) |
Definition at line 89 of file graph/node.cpp.
References assert, input, is_socket_float3(), set_if_different(), and value.
| void Node::set | ( | const SocketType & | input, |
| const int | value ) |
Definition at line 59 of file graph/node.cpp.
References assert, SocketType::ENUM, input, SocketType::INT, set_if_different(), and value.
| void Node::set | ( | const SocketType & | input, |
| const Transform & | value ) |
Definition at line 119 of file graph/node.cpp.
References assert, input, set_if_different(), SocketType::TRANSFORM, and value.
| void Node::set | ( | const SocketType & | input, |
| const uint | value ) |
Definition at line 65 of file graph/node.cpp.
References assert, input, set_if_different(), SocketType::UINT, and value.
| void Node::set | ( | const SocketType & | input, |
| const uint64_t | value ) |
Definition at line 71 of file graph/node.cpp.
References assert, input, set_if_different(), SocketType::UINT64, and value.
|
inline |
Definition at line 110 of file graph/node.h.
| void Node::set | ( | const SocketType & | input, |
| Node * | value ) |
Definition at line 125 of file graph/node.cpp.
References assert, input, SocketType::NODE, set_if_different(), and value.
| void Node::set | ( | const SocketType & | input, |
| ustring | value ) |
Definition at line 100 of file graph/node.cpp.
References assert, SocketType::ENUM, NodeEnum::exists(), input, set_if_different(), SocketType::STRING, and value.
| void Node::set_default_value | ( | const SocketType & | input | ) |
|
protected |
Definition at line 879 of file graph/node.cpp.
References get_socket_value(), input, socket_is_modified(), socket_modified, and value.
|
protected |
Definition at line 867 of file graph/node.cpp.
References get_socket_value(), input, socket_is_modified(), socket_modified, and value.
|
protected |
Definition at line 848 of file graph/node.cpp.
References dereference(), get_socket_value(), input, socket_modified, and value.
|
protected |
| void Node::set_owner | ( | const NodeOwner * | owner_ | ) |
Definition at line 792 of file graph/node.cpp.
Referenced by Scene::create_node().
| void Node::set_value | ( | const SocketType & | socket, |
| const Node & | other, | ||
| const SocketType & | other_socket ) |
Definition at line 394 of file graph/node.cpp.
References assert, SocketType::BOOLEAN, SocketType::BOOLEAN_ARRAY, SocketType::COLOR, SocketType::COLOR_ARRAY, SocketType::ENUM, SocketType::FLOAT, SocketType::FLOAT_ARRAY, get_socket_value(), SocketType::INT, SocketType::INT_ARRAY, SocketType::is_array(), SocketType::NODE, SocketType::NODE_ARRAY, SocketType::NORMAL, SocketType::NORMAL_ARRAY, SocketType::POINT, SocketType::POINT2, SocketType::POINT2_ARRAY, SocketType::POINT_ARRAY, set(), SocketType::STRING, SocketType::STRING_ARRAY, SocketType::TRANSFORM, SocketType::TRANSFORM_ARRAY, SocketType::type, SocketType::UINT, SocketType::UINT64, SocketType::VECTOR, and SocketType::VECTOR_ARRAY.
Referenced by add_node().
| bool Node::socket_is_modified | ( | const SocketType & | input | ) | const |
Definition at line 818 of file graph/node.cpp.
References input, and socket_modified.
Referenced by print_modified_sockets(), set_if_different(), and set_if_different().
| void Node::tag_modified | ( | ) |
Definition at line 828 of file graph/node.cpp.
References socket_modified.
Referenced by Geometry::clear(), Scene::create_node(), Scene::delete_node(), Scene::delete_nodes(), Scene::device_update(), Node(), Scene::reset(), BakeManager::set_baking(), Camera::set_osl_camera(), Camera::set_screen_size(), Integrator::tag_update(), Shader::tag_update(), Shader::tag_used(), and Film::update_passes().
| InternalNode Node::internal |
Definition at line 163 of file octree.h.
Referenced by Octree::scanConvert().
| ustring Node::name |
Definition at line 177 of file graph/node.h.
Referenced by ShaderManager::add_default(), OSLNode::add_input(), add_node(), OSLNode::add_output(), ConstantFolder::bypass(), check_valid_camera_multiview(), CurvesNode::compile(), Geometry::compute_bvh(), ShaderGraph::connect(), copy_particle_systems_to_object(), GeometryManager::create_volume_mesh(), ObjectManager::device_update_object_transform(), SVMShaderManager::device_update_shader(), ConstantFolder::discard(), GeometryManager::displace(), ShaderGraph::dump_graph(), ED_armature_bone_rename(), ED_mesh_join_objects_exec(), Pass::find(), BufferParams::find_pass(), Film::get_aov_offset(), ShaderNode::input(), ShaderNode::input(), ConstantFolder::make_constant(), ConstantFolder::make_constant(), ConstantFolder::make_constant(), Geometry::need_attribute(), Node(), ShaderNode::output(), ShaderNode::output(), override_idtemplate_clear_exec(), blender::draw::pointcloud_sub_pass_setup_implementation(), print_modified_sockets(), ShaderNode::ShaderNode(), OutputAOVNode::simplify_settings(), SVMCompiler::stack_find_offset(), template_id_liboverride_hierarchy_collections_tag_recursive(), update_depsgraph(), GeometryManager::update_osl_globals(), Hair::update_shadow_transparency(), blender::ed::object::vgroup_sort_bone_hierarchy(), and blender::draw::volume_object_grids_init().
|
protected |
Definition at line 207 of file graph/node.h.
Referenced by get_owner(), Node(), and set_owner().
|
protected |
Definition at line 208 of file graph/node.h.
Referenced by clear_reference_count(), dereference(), reference(), and reference_count().
|
protected |
Definition at line 215 of file graph/node.h.
Referenced by clear_modified(), is_modified(), set_if_different(), set_if_different(), set_if_different(), set_if_different(), socket_is_modified(), and tag_modified().
| const NodeType* Node::type |
Definition at line 178 of file graph/node.h.
Referenced by OSLNode::add_input(), OSLNode::add_output(), CurvesNode::compile(), compile_shader_program(), Pass::contains(), blender::ed::object::convert_curves_to_mesh(), blender::ed::object::convert_grease_pencil_to_mesh(), OSLNode::create(), ShaderNode::create_inputs_outputs(), dereference_all_used_nodes(), LightManager::device_update_background(), equals(), ShaderNode::equals(), Pass::find(), BufferParams::find_pass(), BufferParams::get_actual_display_pass(), Pass::get_info(), Pass::get_info(), get_total_size_in_bytes(), HdCyclesDelegate::GetRenderSetting(), HdCyclesDelegate::GetRenderSettingDescriptors(), hash(), OSLNode::input_default_value(), is_a(), Node(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), Hair::pack_curves(), print_modified_sockets(), HdCyclesDelegate::SetRenderSetting(), ShaderNode::ShaderNode(), ShaderNode::ShaderNode(), and OSLNode::~OSLNode().