|
Blender V5.0
|
Typedefs | |
| using | JoinReferenceSetsCache = Map<Vector<lf::OutputSocket *>, lf::OutputSocket *> |
| using | BundlePtr = ImplicitSharingPtr<Bundle> |
| using | ClosurePtr = ImplicitSharingPtr<Closure> |
| using | ReferenceSetIndex = int |
| using | ListPtr = ImplicitSharingPtr<List> |
| using | ItemDeclarationPtr = std::unique_ptr<ItemDeclaration> |
| using | CustomSocketDrawFn = std::function<void(CustomSocketDrawParams ¶ms)> |
| using | InputSocketUsageInferenceFn |
| using | SocketDeclarationPtr = std::unique_ptr<SocketDeclaration> |
| using | DrawNodeLayoutFn = void(uiLayout *, bContext *, PointerRNA *) |
| using | PanelDeclarationPtr = std::unique_ptr<PanelDeclaration> |
| using | ImplicitInputValueFn = std::function<void(const bNode &node, void *r_value)> |
Enumerations | |
| enum class | NodeSyncState { Synced , CanBeSynced , NoSyncSource , ConflictingSyncSources } |
| enum class | InputUsageHintType { Never , DependsOnOutput , DynamicSocket } |
| enum class | NodeWarningType { Error = 0 , Warning = 1 , Info = 2 } |
| enum class | InputSocketFieldType : int8_t { None , IsSupported , Implicit } |
| enum class | OutputSocketFieldType : int8_t { None , FieldSource , DependentField , PartiallyDependent } |
| enum class | CompositorInputRealizationMode : int8_t { None , Transforms , OperationDomain } |
| enum class | ReferenceSetType |
| enum class | AttrDomain |
| enum class | ReferenceSetType |
| enum class | AttrDomain |
| enum class | NamedAttributeUsage |
Variables | |
| constexpr StringRef | input_use_attribute_suffix = "_use_attribute" |
| constexpr StringRef | input_attribute_name_suffix = "_attribute_name" |
| template<typename T> | |
| constexpr bool | is_GeoNodesMultiInput_v = false |
| template<typename T> | |
| constexpr bool | is_GeoNodesMultiInput_v< GeoNodesMultiInput< T > > = true |
Definition at line 12 of file NOD_geometry_nodes_bundle_fwd.hh.
Definition at line 12 of file NOD_geometry_nodes_closure_fwd.hh.
| using blender::nodes::CustomSocketDrawFn = std::function<void(CustomSocketDrawParams ¶ms)> |
Definition at line 199 of file NOD_node_declaration.hh.
| using blender::nodes::DrawNodeLayoutFn = void(uiLayout *, bContext *, PointerRNA *) |
Definition at line 505 of file NOD_node_declaration.hh.
| using blender::nodes::ImplicitInputValueFn = std::function<void(const bNode &node, void *r_value)> |
Definition at line 727 of file NOD_node_declaration.hh.
Definition at line 200 of file NOD_node_declaration.hh.
| using blender::nodes::ItemDeclarationPtr = std::unique_ptr<ItemDeclaration> |
Definition at line 178 of file NOD_node_declaration.hh.
Definition at line 1557 of file geometry_nodes_lazy_function.cc.
Definition at line 12 of file NOD_geometry_nodes_list_fwd.hh.
| using blender::nodes::PanelDeclarationPtr = std::unique_ptr<PanelDeclaration> |
Definition at line 616 of file NOD_node_declaration.hh.
| using blender::nodes::ReferenceSetIndex = int |
Definition at line 47 of file NOD_geometry_nodes_lazy_function.hh.
| using blender::nodes::SocketDeclarationPtr = std::unique_ptr<SocketDeclaration> |
Definition at line 503 of file NOD_node_declaration.hh.
|
strong |
Definition at line 63 of file BKE_attribute.hh.
|
strong |
Definition at line 63 of file BKE_attribute.hh.
|
strong |
An enum that maps to the #compositor::InputRealizationMode.
| Enumerator | |
|---|---|
| None | |
| Transforms | |
| OperationDomain | |
Definition at line 58 of file NOD_node_declaration.hh.
|
strong |
| Enumerator | |
|---|---|
| None | The input is required to be a single value. |
| IsSupported | The input can be a field. |
| Implicit | The input can be a field and is a field implicitly if nothing is connected. |
Definition at line 34 of file NOD_node_declaration.hh.
|
strong |
In the general case, this is #DynamicSocket. That means that to determine if a node group will use a particular input, it has to be partially executed.
In other cases, it's not necessary to look into the node group to determine if an input is necessary.
Definition at line 317 of file NOD_geometry_nodes_lazy_function.hh.
|
strong |
Definition at line 77 of file NOD_geometry_nodes_log.hh.
|
strong |
| Enumerator | |
|---|---|
| Synced | |
| CanBeSynced | |
| NoSyncSource | |
| ConflictingSyncSources | |
Definition at line 39 of file sync_sockets.cc.
|
strong |
These values are also written to .blend files, so don't change them lightly.
| Enumerator | |
|---|---|
| Error | |
| Warning | |
| Info | |
Definition at line 10 of file NOD_geometry_nodes_warning.hh.
|
strong |
Definition at line 43 of file NOD_node_declaration.hh.
|
strong |
Definition at line 41 of file BKE_node_tree_reference_lifetimes.hh.
|
strong |
Definition at line 41 of file BKE_node_tree_reference_lifetimes.hh.
|
static |
Definition at line 349 of file geometry_nodes_caller_ui.cc.
References blender::bke::allow_procedural_attribute_access(), attribute_search_exec_fn(), attribute_search_update_fn(), BLI_assert, uiLayout::block(), blender::StringRefNull::c_str(), blender::ed::object::context_object(), data, bNodeTreeInterfaceSocket::description, MEM_mallocN(), uiLayout::prop(), RNA_string_get(), SearchMenu, UI_but_flag_enable(), UI_but_func_search_set(), UI_but_func_search_set_results_are_suggestions(), UI_but_func_search_set_sep_string(), UI_BUT_REDALERT, UI_ITEM_NONE, UI_MENU_ARROW_SEP, UI_UNIT_X, UI_UNIT_Y, and uiDefIconTextButR().
Referenced by add_attribute_search_or_value_buttons(), and draw_property_for_output_socket().
|
static |
Definition at line 403 of file geometry_nodes_caller_ui.cc.
References add_attribute_search_button(), uiLayout::alignment_set(), BLI_str_escape(), blender::StringRefNull::c_str(), uiLayout::decorator(), blender::ui::Expand, bNodeTreeInterfaceSocket::identifier, IFACE_, input_attribute_name_get(), input_attribute_name_suffix, uiLayout::label(), bNodeTreeInterfaceSocket::name, name, uiLayout::prop(), blender::ui::Right, uiLayout::row(), SOCK_BOOLEAN, SOCK_CUSTOM, split(), uiLayout::split(), blender::bke::bNodeSocketType::type, UI_ITEM_NONE, uiLayout::use_property_decorate_set(), and uiLayout::use_property_split_set().
Referenced by draw_property_for_socket().
|
static |
Definition at line 113 of file geometry_nodes_dependencies.cc.
References blender::nodes::GeometryNodesEvalDependencies::add_generic_id(), blender::nodes::GeometryNodesEvalDependencies::add_object(), and tree.
Referenced by gather_geometry_nodes_eval_dependencies().
|
static |
Definition at line 66 of file geometry_nodes_dependencies.cc.
References blender::nodes::GeometryNodesEvalDependencies::add_generic_id(), blender::nodes::GeometryNodesEvalDependencies::add_object(), bNodeSocket::default_value, SOCK_COLLECTION, SOCK_IMAGE, SOCK_MATERIAL, SOCK_OBJECT, SOCK_TEXTURE, texture(), bNodeSocket::type, bNodeSocketValueCollection::value, bNodeSocketValueImage::value, bNodeSocketValueMaterial::value, bNodeSocketValueObject::value, and bNodeSocketValueTexture::value.
Referenced by gather_geometry_nodes_eval_dependencies().
|
static |
Definition at line 222 of file geometry_nodes_caller_ui.cc.
References uiLayout::alignment_set(), BLI_assert, BLI_str_escape(), uiLayout::block(), blender::ed::object::context_object(), data, bNodeTreeInterfaceSocket::description, bNodeTreeInterfaceSocket::identifier, IFACE_, uiLayout::label(), layer_name_search_exec_fn(), layer_name_search_update_fn(), MEM_mallocN(), bNodeTreeInterfaceSocket::name, uiLayout::prop(), blender::ui::Right, SearchMenu, split(), uiLayout::split(), UI_but_func_search_set(), UI_but_func_search_set_results_are_suggestions(), UI_but_func_search_set_sep_string(), UI_but_placeholder_set(), UI_ITEM_NONE, UI_MENU_ARROW_SEP, UI_UNIT_X, UI_UNIT_Y, uiDefIconTextButR(), and uiLayout::use_property_decorate_set().
Referenced by draw_property_for_socket().
|
static |
Definition at line 81 of file list_function_eval.cc.
References BLI_assert, blender::nodes::List::cpp_type(), blender::nodes::List::data(), params, and blender::nodes::List::size().
Referenced by execute_multi_function_on_value_variant__list().
|
static |
Definition at line 141 of file geometry_nodes_dependencies.cc.
References GEO_NODE_TRANSFORM_SPACE_RELATIVE, has_enabled_nodes_of_type(), blender::nodes::GeometryNodesEvalDependencies::needs_own_transform, NodeGeometryCollectionInfo::transform_space, NodeGeometryObjectInfo::transform_space, and tree.
Referenced by gather_geometry_nodes_eval_dependencies().
|
static |
Definition at line 178 of file node_declaration.cc.
References blender::nodes::NodeDeclaration::allow_any_socket_order, blender::Vector< T, InlineBufferCapacity, Allocator >::append(), assert_valid_panels_recursive(), BLI_assert, SOCK_IN, and UNUSED_VARS.
Referenced by blender::nodes::NodeDeclaration::assert_valid(), and assert_valid_panels_recursive().
|
static |
Definition at line 329 of file geometry_nodes_caller_ui.cc.
References C, data, ED_undo_push(), IDP_AssignString(), IDP_GetPropertyFromGroup(), input_attribute_name_suffix, and IDProperty::name.
Referenced by add_attribute_search_button().
|
static |
Definition at line 281 of file geometry_nodes_caller_ui.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::Vector< T, InlineBufferCapacity, Allocator >::as_span(), blender::ui::attribute_search_add_items(), C, data, blender::nodes::geo_eval_log::GeometryAttributeInfo::name, SOCK_GEOMETRY, and str.
Referenced by add_attribute_search_button().
| LazyFunction & blender::nodes::build_closure_zone_lazy_function | ( | ResourceScope & | scope, |
| const bNodeTree & | btree, | ||
| const bke::bNodeTreeZone & | zone, | ||
| ZoneBuildInfo & | zone_info, | ||
| const ZoneBodyFunction & | body_fn ) |
Definition at line 869 of file geometry_nodes_closure_zone.cc.
References build_closure_zone_lazy_function(), and blender::ResourceScope::construct().
Referenced by build_closure_zone_lazy_function().
| EvaluateClosureFunction blender::nodes::build_evaluate_closure_node_lazy_function | ( | ResourceScope & | scope, |
| const bNode & | bnode ) |
Definition at line 878 of file geometry_nodes_closure_zone.cc.
References build_evaluate_closure_node_lazy_function(), blender::ResourceScope::construct(), blender::nodes::EvaluateClosureFunction::indices, and blender::nodes::EvaluateClosureFunction::lazy_function.
Referenced by build_evaluate_closure_node_lazy_function().
| LazyFunction & blender::nodes::build_foreach_geometry_element_zone_lazy_function | ( | ResourceScope & | scope, |
| const bNodeTree & | btree, | ||
| const bke::bNodeTreeZone & | zone, | ||
| ZoneBuildInfo & | zone_info, | ||
| const ZoneBodyFunction & | body_fn ) |
Definition at line 1256 of file geometry_nodes_foreach_geometry_element_zone.cc.
References blender::ResourceScope::construct().
| const fn::lazy_function::LazyFunction * blender::nodes::build_implicit_conversion_lazy_function | ( | const bke::bNodeSocketType & | from_type, |
| const bke::bNodeSocketType & | to_type, | ||
| ResourceScope & | scope ) |
Builds a lazy-function that can convert between socket types. Returns null if the conversion is never possible.
Definition at line 600 of file geometry_nodes_lazy_function.cc.
References blender::bke::bNodeSocketType::base_cpp_type, blender::ResourceScope::construct(), blender::bke::bNodeSocketType::geometry_nodes_default_value, blender::bke::DataTypeConversions::get_conversion_multi_function(), blender::bke::get_implicit_type_conversions(), blender::bke::DataTypeConversions::is_convertible(), blender::gpu::shader::to_type(), and blender::bke::bNodeSocketType::type.
Referenced by blender::nodes::LazyFunctionForEvaluateClosureNode::initialize_execution_graph(), and blender::nodes::LazyFunctionForEvaluateClosureNode::initialize_pass_through_graph().
|
static |
Definition at line 259 of file node_common.cc.
References b, bNodeTreeInterfaceSocket::default_input, blender::nodes::decl::Float::default_value, blender::nodes::decl::Int::default_value, blender::nodes::decl::String::default_value, blender::nodes::decl::Vector::default_value, bNodeTreeInterfaceSocket::description, bNodeTreeInterfaceSocket::flag, get_default_id_getter(), get_init_socket_fn(), blender::bke::node_interface::get_socket_data_as(), bNodeTreeInterfaceSocket::identifier, blender::nodes::decl::Custom::init_socket_fn, bNodeTreeInterfaceSocket::name, name, NODE_DEFAULT_INPUT_VALUE, NODE_INTERFACE_SOCKET_COMPACT, NODE_INTERFACE_SOCKET_HIDE_VALUE, NODE_INTERFACE_SOCKET_MENU_EXPANDED, NODE_INTERFACE_SOCKET_OPTIONAL_LABEL, NODE_INTERFACE_SOCKET_PANEL_TOGGLE, blender::bke::node_socket_type_find(), blender::nodes::SocketDeclaration::optional_label, SOCK_BOOLEAN, SOCK_BUNDLE, SOCK_CLOSURE, SOCK_COLLECTION, SOCK_CUSTOM, SOCK_FLOAT, SOCK_GEOMETRY, SOCK_IMAGE, SOCK_INT, SOCK_MATERIAL, SOCK_MATRIX, SOCK_MENU, SOCK_OBJECT, SOCK_RGBA, SOCK_ROTATION, SOCK_SHADER, SOCK_STRING, SOCK_TEXTURE, SOCK_VECTOR, bNodeTreeInterfaceSocket::socket_type, tree, and blender::bke::bNodeSocketType::type.
Referenced by group_input_declare(), group_output_declare(), and node_group_declare_panel_recursive().
| void blender::nodes::build_node_declaration | ( | const bke::bNodeType & | typeinfo, |
| NodeDeclaration & | r_declaration, | ||
| const bNodeTree * | ntree, | ||
| const bNode * | node ) |
Definition at line 29 of file node_declaration.cc.
References blender::bke::bNodeType::declare, blender::nodes::NodeDeclarationBuilder::finalize(), and reset_declaration().
Referenced by blender::bke::node_register_type(), blender::ed::space_node::ui_node_link_items(), and update_node_declaration_and_sockets().
| LazyFunction & blender::nodes::build_repeat_zone_lazy_function | ( | ResourceScope & | scope, |
| const bNodeTree & | btree, | ||
| const bke::bNodeTreeZone & | zone, | ||
| ZoneBuildInfo & | zone_info, | ||
| const ZoneBodyFunction & | body_fn ) |
Definition at line 418 of file geometry_nodes_repeat_zone.cc.
References build_repeat_zone_lazy_function(), and blender::ResourceScope::construct().
Referenced by build_repeat_zone_lazy_function().
| bool blender::nodes::check_tool_context_and_error | ( | GeoNodeExecParams & | params | ) |
Definition at line 26 of file node_geometry_util.cc.
References Error, params, and TIP_.
Referenced by blender::nodes::node_geo_tool_active_element_cc::node_exec(), blender::nodes::node_geo_mouse_position_cc::node_geo_exec(), blender::nodes::node_geo_tool_3d_cursor_cc::node_geo_exec(), blender::nodes::node_geo_tool_face_set_cc::node_geo_exec(), blender::nodes::node_geo_tool_selection_cc::node_geo_exec(), blender::nodes::node_geo_tool_set_face_set_cc::node_geo_exec(), blender::nodes::node_geo_tool_set_selection_cc::node_geo_exec(), and blender::nodes::node_geo_viewport_transform_cc::node_geo_exec().
|
static |
Definition at line 14 of file node_composite_scene_time.cc.
References b.
Referenced by register_node_type_cmp_scene_time().
|
static |
The computed values are stored in newly allocated arrays. They still have to be moved to the actual geometry.
Definition at line 709 of file geometry_nodes_execute.cc.
References blender::fn::FieldEvaluator::add_with_destination(), blender::CPPType::alignment, blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::bke::GeometryComponent::attributes(), blender::nodes::OutputAttributeToStore::data, blender::bke::AttributeAccessor::domain_size(), blender::bke::AttributeAccessor::domain_supported(), blender::fn::FieldEvaluator::evaluate(), blender::MultiValueMap< Key, Value >::items(), blender::bke::AttributeAccessor::lookup_validator(), MEM_mallocN_aligned(), blender::CPPType::size, and blender::bke::AttributeValidator::validate_field_if_necessary().
Referenced by store_output_attributes().
|
nodiscard |
Attempts to find a compute context that the closure is evaluated in. If none is found, null is returned. If multiple are found, it currently picks the first one it finds which is somewhat arbitrary.
Definition at line 301 of file trace_values.cc.
References blender::nodes::SocketInContext::context, find_target_sockets_through_contexts(), blender::bke::ComputeContextCache::for_evaluate_closure(), bNode::identifier, blender::Vector< T, InlineBufferCapacity, Allocator >::is_empty(), is_evaluate_closure_node_input(), and blender::nodes::SocketInContext::owner_node().
| void blender::nodes::construct_socket_default_value | ( | const bke::bNodeSocketType & | stype, |
| void * | r_value ) |
Definition at line 385 of file geometry_nodes_lazy_function.cc.
References BLI_assert, and blender::bke::bNodeSocketType::geometry_nodes_default_value.
Referenced by evaluate_closure_eagerly(), blender::nodes::LazyFunctionForImplicitConversion::execute_impl(), and set_default_value_for_output_socket().
Definition at line 49 of file list_function_eval.cc.
References BLI_assert, BLI_assert_unreachable, blender::CPPType::copy_construct_n(), blender::nodes::List::cpp_type(), blender::nodes::List::create(), blender::nodes::List::ArrayData::data, blender::nodes::List::data(), data, blender::nodes::List::ArrayData::ForUninitialized(), i, POINTER_OFFSET, blender::CPPType::size, blender::nodes::List::size(), and size().
Referenced by execute_multi_function_on_value_variant__list().
|
static |
Try to update identifiers of sockets created in the future to match identifiers that exist now.
Definition at line 379 of file node_socket.cc.
References get_current_socket_identifier_for_future_socket(), blender::nodes::NodeDeclaration::inputs, bNode::inputs, LISTBASE_FOREACH, blender::nodes::NodeDeclaration::outputs, bNode::outputs, and STRNCPY_UTF8.
Referenced by refresh_node_sockets_and_panels().
| void blender::nodes::draw_bake_button_row | ( | const BakeDrawContext & | ctx, |
| uiLayout * | layout, | ||
| bool | is_in_sidebar = false ) |
Definition at line 679 of file node_geo_bake.cc.
References uiLayout::active_set(), blender::nodes::BakeDrawContext::bake, blender::nodes::BakeDrawContext::bake_target, col, uiLayout::column(), G, NodesModifierBake::id, Object::id, IFACE_, blender::wm::InvokeDefault, blender::nodes::BakeDrawContext::is_baked, NodesModifierData::modifier, ModifierData::name, blender::nodes::BakeDrawContext::nmd, NODES_MODIFIER_BAKE_TARGET_DISK, blender::nodes::BakeDrawContext::object, uiLayout::op(), NodesModifierBake::packed, ptr, RNA_int_set(), RNA_string_set(), uiLayout::row(), UI_ITEM_NONE, and WM_operator_properties_id_lookup_set_from_id().
Referenced by blender::nodes::node_geo_bake_cc::node_layout(), blender::nodes::node_geo_bake_cc::node_layout_ex(), and blender::nodes::node_geo_simulation_cc::node_layout_ex().
|
static |
Definition at line 802 of file node_geo_bake.cc.
References PointerRNA::data, blender::StringRefBase::is_empty(), name, uiLayout::prop(), uiLayout::row(), and UI_ITEM_NONE.
Referenced by draw_data_blocks().
|
static |
Definition at line 883 of file geometry_nodes_caller_ui.cc.
References col, uiLayout::column(), IFACE_, and UI_ITEM_NONE.
Referenced by draw_manage_panel().
| void blender::nodes::draw_common_bake_settings | ( | bContext * | C, |
| BakeDrawContext & | ctx, | ||
| uiLayout * | layout ) |
Definition at line 749 of file node_geo_bake.cc.
References uiLayout::active_set(), blender::nodes::BakeDrawContext::bake, NodesModifierData::bake_directory, blender::nodes::BakeDrawContext::bake_rna, blender::nodes::BakeDrawContext::bake_target, BKE_main_blendfile_path(), BLI_path_is_rel(), BLI_path_rel(), C, col, uiLayout::column(), CTX_data_main(), NodesModifierBake::directory, FILE_MAX, NodesModifierBake::flag, blender::bke::bake::get_node_bake_path(), NodesModifierBake::id, IFACE_, blender::nodes::BakeDrawContext::is_baked, blender::StringRefBase::is_empty(), blender::nodes::BakeDrawContext::nmd, NODES_MODIFIER_BAKE_CUSTOM_PATH, NODES_MODIFIER_BAKE_CUSTOM_SIMULATION_FRAME_RANGE, NODES_MODIFIER_BAKE_TARGET_DISK, blender::nodes::BakeDrawContext::object, uiLayout::prop(), RNA_struct_find_property(), STRNCPY(), UI_ITEM_NONE, uiLayout::use_property_decorate_set(), and uiLayout::use_property_split_set().
Referenced by blender::nodes::node_geo_bake_cc::node_layout_ex(), and blender::nodes::node_geo_simulation_cc::node_layout_ex().
| void blender::nodes::draw_data_blocks | ( | const bContext * | C, |
| uiLayout * | layout, | ||
| PointerRNA & | bake_rna ) |
Definition at line 827 of file node_geo_bake.cc.
References C, PointerRNA::data, draw_bake_data_block_list_item(), uiListType::draw_item, uiListType::idname, IFACE_, MEM_callocN(), PointerRNA::owner_id, uiLayout::panel(), RNA_pointer_create_discrete(), STRNCPY_UTF8, UI_TEMPLATE_LIST_FLAG_NONE, UILST_LAYOUT_DEFAULT, uiTemplateList(), and WM_uilisttype_add().
Referenced by blender::nodes::node_geo_bake_cc::node_layout_ex(), and blender::nodes::node_geo_simulation_cc::node_layout_ex().
| void blender::nodes::draw_geometry_nodes_modifier_ui | ( | const bContext & | C, |
| PointerRNA * | modifier_ptr, | ||
| uiLayout & | layout ) |
Definition at line 979 of file geometry_nodes_caller_ui.cc.
References C, CTX_data_main(), data, PointerRNA::data_as(), draw_interface_panel_content(), draw_manage_panel(), draw_output_attributes_panel(), draw_warnings(), find_panel_by_id(), NodesModifierData::flag, get_root_tree_log(), has_output_attribute(), IFACE_, blender::wm::InvokeDefault, NodesModifierData::modifier, modifier_error_message_draw(), ModifierData::name, NodesModifierData::node_group, NODE_INTERFACE_SOCKET_OUTPUT, NODES_MODIFIER_HIDE_DATABLOCK_SELECTOR, NODES_MODIFIER_HIDE_MANAGE_PANEL, uiLayout::op(), PointerRNA::owner_id, uiLayout::panel_prop(), NodesModifierSettings::properties, RNA_main_pointer_create(), RNA_pointer_create_discrete(), RNA_string_set(), bNodeTreeInterface::root_panel, NodesModifierData::runtime, NodesModifierData::settings, STRNCPY_UTF8, bNodeTree::tree_interface, UI_ITEM_NONE, uiTemplateID(), uiLayout::use_property_decorate_set(), and uiLayout::use_property_split_set().
Referenced by blender::panel_draw().
| void blender::nodes::draw_geometry_nodes_operator_redo_ui | ( | const bContext & | C, |
| wmOperator & | op, | ||
| bNodeTree & | tree, | ||
| geo_eval_log::GeoTreeLog * | tree_log ) |
Definition at line 1058 of file geometry_nodes_caller_ui.cc.
References BKE_panel_layout_panel_state_ensure(), BLI_str_escape(), C, CTX_data_main(), data, draw_interface_panel_content(), Panel::flag, blender::nodes::socket_usage_inference::infer_group_interface_usage(), input_use_attribute_suffix, wmOperator::layout, NODE_INTERFACE_PANEL_DEFAULT_CLOSED, NODE_INTERFACE_SOCKET_OUTPUT, uiLayout::prop(), wmOperator::properties, wmOperator::ptr, RNA_main_pointer_create(), RNA_pointer_create_discrete(), uiLayout::root_panel(), state, STRNCPY_UTF8, tree, UI_ITEM_R_ICON_ONLY, uiLayout::use_property_decorate_set(), and uiLayout::use_property_split_set().
Referenced by blender::ed::geometry::run_node_group_ui().
|
static |
Definition at line 662 of file geometry_nodes_caller_ui.cc.
References uiLayout::active_set(), BLI_str_escape(), PanelLayout::body, blender::StringRefNull::c_str(), draw_interface_panel_content(), bNodeTreeInterfaceSocket::flag, PanelLayout::header, id_property_type_matches_socket(), bNodeTreeInterfaceSocket::identifier, IDP_GetPropertyFromGroup_null(), IFACE_, interface_panel_affects_output(), interface_panel_has_socket(), uiLayout::label(), bNodeTreeInterfacePanel::name, NODE_INTERFACE_SOCKET_HIDE_IN_MODIFIER, uiLayout::panel_prop(), uiLayout::panel_prop_with_bool_header(), and uiLayoutSetTooltipFunc().
Referenced by draw_interface_panel_content().
|
static |
Definition at line 715 of file geometry_nodes_caller_ui.cc.
References draw_interface_panel_as_panel(), draw_property_for_socket(), NODE_INTERFACE_PANEL, NODE_INTERFACE_SOCKET, NODE_INTERFACE_SOCKET_HIDE_IN_MODIFIER, and NODE_INTERFACE_SOCKET_INPUT.
Referenced by draw_geometry_nodes_modifier_ui(), draw_geometry_nodes_operator_redo_ui(), and draw_interface_panel_as_panel().
|
static |
Definition at line 962 of file geometry_nodes_caller_ui.cc.
References C, draw_bake_panel(), draw_named_attributes_panel(), IFACE_, and uiLayout::panel_prop().
Referenced by draw_geometry_nodes_modifier_ui().
|
static |
Definition at line 892 of file geometry_nodes_caller_ui.cc.
References uiLayout::active_set(), uiLayout::alignment_set(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), b, blender::Vector< T, InlineBufferCapacity, Allocator >::begin(), BLT_I18NCONTEXT_OPERATOR_DEFAULT, CTX_IFACE_, blender::Vector< T, InlineBufferCapacity, Allocator >::end(), blender::nodes::geo_eval_log::GeoTreeLog::ensure_used_named_attributes(), G, get_root_tree_log(), i, IFACE_, blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::is_empty(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::items(), uiLayout::label(), name, blender::nodes::geo_eval_log::None, blender::nodes::geo_eval_log::Read, blender::nodes::geo_eval_log::Remove, blender::ui::Right, RPT_, split(), uiLayout::split(), blender::nodes::geo_eval_log::GeoTreeLog::used_named_attributes, and blender::nodes::geo_eval_log::Write.
Referenced by draw_manage_panel().
|
static |
Definition at line 864 of file geometry_nodes_caller_ui.cc.
References draw_property_for_output_socket(), i, blender::Span< T >::index_range(), SOCK_CUSTOM, socket_type_has_attribute_toggle(), and blender::bke::bNodeSocketType::type.
Referenced by draw_geometry_nodes_modifier_ui().
|
static |
Definition at line 848 of file geometry_nodes_caller_ui.cc.
References add_attribute_search_button(), uiLayout::alignment_set(), BLI_str_escape(), bNodeTreeInterfaceSocket::identifier, input_attribute_name_suffix, uiLayout::label(), bNodeTreeInterfaceSocket::name, blender::ui::Right, split(), and uiLayout::split().
Referenced by draw_output_attributes_panel().
|
static |
Definition at line 470 of file geometry_nodes_caller_ui.cc.
References uiLayout::active_set(), add_attribute_search_or_value_buttons(), add_layer_name_search_button(), ATTR_FALLTHROUGH, BLI_str_escape(), blender::StringRefNull::c_str(), bNodeTreeInterfaceSocket::flag, id_property_type_matches_socket(), bNodeTreeInterfaceSocket::identifier, IDP_GetPropertyFromGroup_null(), IFACE_, input_has_attribute_toggle(), is_layer_selection_field(), uiLayout::label(), bNodeTreeInterfaceSocket::name, name, NODE_INTERFACE_SOCKET_MENU_EXPANDED, pos, uiLayout::prop(), PROP_POINTER, uiLayout::prop_search(), RNA_property_type(), RNA_struct_find_property(), uiLayout::row(), blender::StringRefBase::size(), SOCK_BOOLEAN, SOCK_COLLECTION, SOCK_CUSTOM, SOCK_IMAGE, SOCK_MATERIAL, SOCK_MENU, SOCK_OBJECT, SOCK_TEXTURE, blender::bke::bNodeSocketType::type, UI_ITEM_NONE, UI_ITEM_R_EXPAND, UI_TEMPLATE_ID_FILTER_ALL, uiTemplateID(), and uiLayout::use_property_decorate_set().
Referenced by draw_interface_panel_content().
|
static |
Definition at line 766 of file geometry_nodes_caller_ui.cc.
References b, blender::Vector< T, InlineBufferCapacity, Allocator >::begin(), BLI_strcasecmp_natural(), PanelLayout::body, C, CTX_data_main(), blender::Vector< T, InlineBufferCapacity, Allocator >::end(), Error, G, get_node_warning_panel_name(), get_root_tree_log(), PanelLayout::header, i, if(), blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), Info, uiLayout::label(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_default(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add(), uiLayout::panel_prop(), and Warning.
Referenced by draw_geometry_nodes_modifier_ui().
| const GeometryNodesLazyFunctionGraphInfo * blender::nodes::ensure_geometry_nodes_lazy_function_graph | ( | const bNodeTree & | btree | ) |
Main function that converts a bNodeTree into a lazy-function graph. If the graph has been generated already, nothing is done. Under some circumstances a valid graph cannot be created. In those cases null is returned.
Definition at line 4213 of file geometry_nodes_lazy_function.cc.
References ensure_geometry_nodes_lazy_function_graph(), ensure_geometry_nodes_lazy_function_graph_impl(), and bNodeTree::runtime.
Referenced by ensure_geometry_nodes_lazy_function_graph(), execute_geometry_nodes_on_geometry(), blender::modifyGeometry(), blender::bke::node_tree_runtime::preprocess_geometry_node_tree_for_evaluation(), blender::ed::geometry::run_node_group_exec(), and blender::try_add_side_effect_node().
|
static |
Definition at line 4166 of file geometry_nodes_lazy_function.cc.
References blender::nodes::GeometryNodesLazyFunctionBuilder::build(), DEG_get_original(), ensure_geometry_nodes_lazy_function_graph_impl(), blender::bke::bNodeSocketType::geometry_nodes_default_value, bNodeTree::id, ID_TAG_MISSING, blender::bke::bNodeTreeZone::input_node(), NTREE_GEOMETRY, blender::bke::bNodeTreeZone::output_node(), bNodeTree::type, and blender::bke::bNodeTreeZones::zones.
Referenced by ensure_geometry_nodes_lazy_function_graph(), and ensure_geometry_nodes_lazy_function_graph_impl().
| const EnumPropertyItem * blender::nodes::enum_items_filter | ( | const EnumPropertyItem * | original_item_array, |
| FunctionRef< bool(const EnumPropertyItem &item)> | fn ) |
Definition at line 9 of file node_rna_define.cc.
References EnumPropertyItem::identifier, RNA_enum_item_add(), and RNA_enum_item_end().
Referenced by blender::nodes::node_geo_grid_advect_cc::advect_grid_socket_type_filter(), blender::nodes::enums::attribute_type_type_with_socket_fn(), blender::nodes::node_geo_enable_output_cc::data_type_items_callback(), blender::nodes::node_geo_menu_switch_cc::data_type_items_callback(), grid_data_type_socket_items_filter_fn(), grid_socket_type_items_filter_fn(), blender::nodes::node_fn_compare_cc::node_rna(), blender::nodes::node_fn_hash_value_cc::node_rna(), blender::nodes::node_geo_attribute_statistic_cc::node_rna(), blender::nodes::node_geo_blur_attribute_cc::node_rna(), blender::nodes::node_geo_index_switch_cc::node_rna(), blender::nodes::node_geo_list_cc::node_rna(), blender::nodes::node_geo_list_get_item_cc::node_rna(), blender::nodes::node_geo_list_length_cc::node_rna(), blender::nodes::node_geo_store_named_attribute_cc::node_rna(), and blender::nodes::node_geo_switch_cc::node_rna().
| void blender::nodes::evaluate_closure_eagerly | ( | const Closure & | closure, |
| ClosureEagerEvalParams & | params ) |
Set output data reference sets.
Set main outputs.
Definition at line 739 of file geometry_nodes_closure_zone.cc.
References blender::LinearAllocator< Allocator >::allocate(), blender::ResourceScope::allocator(), blender::LinearAllocator< Allocator >::construct(), blender::ResourceScope::construct(), construct_socket_default_value(), blender::nodes::Closure::default_input_value(), evaluate_closure_eagerly(), blender::nodes::ClosureSignature::find_input_index(), blender::nodes::ClosureSignature::find_output_index(), blender::nodes::Closure::function(), CPPType::get(), i, implicitly_convert_socket_value(), blender::Array< T, InlineBufferCapacity, Allocator >::index_range(), blender::nodes::Closure::indices(), indices, blender::nodes::ClosureSignature::inputs, blender::nodes::ClosureSignature::outputs, params, blender::nodes::Closure::signature(), blender::gpu::shader::to_type(), blender::nodes::ClosureEagerEvalParams::InputItem::type, blender::nodes::ClosureEagerEvalParams::OutputItem::type, blender::fn::lazy_function::Unused, blender::fn::lazy_function::Used, blender::nodes::ClosureEagerEvalParams::InputItem::value, and blender::nodes::ClosureEagerEvalParams::OutputItem::value.
Referenced by evaluate_closure_eagerly().
| const bNodeSocket * blender::nodes::evaluate_closure_node_internally_linked_input | ( | const bNodeSocket & | output_socket | ) |
Gets an input socket that can be considered to be internally linked to the given output, or null if there is none.
Definition at line 269 of file node_geo_evaluate_closure.cc.
References BLI_assert, i, NodeEvaluateClosureInputItem::name, NodeEvaluateClosureOutputItem::name, NodeEvaluateClosureInputItem::socket_type, NodeEvaluateClosureOutputItem::socket_type, bNode::storage, and tree.
Referenced by blender::nodes::LazyFunctionForEvaluateClosureNode::initialize_pass_through_graph(), and blender::nodes::node_geo_evaluate_closure_cc::node_internally_linked_input().
Definition at line 35 of file list_function_eval.cc.
References blender::fn::FieldEvaluator::add_with_destination(), count, blender::fn::GFieldBase< NodePtr >::cpp_type(), blender::nodes::List::create(), blender::nodes::List::ArrayData::data, blender::fn::FieldEvaluator::evaluate(), and blender::nodes::List::ArrayData::ForConstructed().
Referenced by execute_multi_function_on_value_variant__list(), and blender::nodes::node_geo_list_cc::node_geo_exec().
| bke::GeometrySet blender::nodes::execute_geometry_nodes_on_geometry | ( | const bNodeTree & | btree, |
| const IDProperty * | properties, | ||
| const ComputeContext & | base_compute_context, | ||
| GeoNodesCallData & | call_data, | ||
| bke::GeometrySet | input_geometry ) |
Definition at line 835 of file geometry_nodes_execute.cc.
References blender::LinearAllocator< Allocator >::allocate(), blender::ResourceScope::allocator(), blender::Array< T, InlineBufferCapacity, Allocator >::as_mutable_span(), blender::nodes::GeoNodesUserData::call_data, blender::nodes::GeoNodesUserData::compute_context, blender::ResourceScope::construct(), blender::fn::lazy_function::LazyFunction::destruct_storage(), ensure_geometry_nodes_lazy_function_graph(), blender::fn::lazy_function::LazyFunction::execute(), extract(), blender::nodes::GeometryNodesGroupFunction::function, blender::nodes::GeometryNodesLazyFunctionGraphInfo::function, blender::nodes::GeometryNodesGroupFunction::geometry_outputs, i, blender::Array< T, InlineBufferCapacity, Allocator >::index_range(), blender::fn::lazy_function::LazyFunction::init_storage(), initialize_group_input(), blender::nodes::GeometryNodesGroupFunction::input_usages, blender::fn::lazy_function::LazyFunction::inputs(), blender::nodes::GeometryNodesGroupFunction::inputs, blender::nodes::GeometryNodesGroupFunction::main, blender::nodes::GeometryNodesGroupFunction::output_usages, blender::fn::lazy_function::LazyFunction::outputs(), blender::nodes::GeometryNodesGroupFunction::outputs, ptr, blender::nodes::GeometryNodesGroupFunction::range, blender::nodes::GeometryNodesGroupFunction::references_to_propagate, blender::nodes::GeoNodesCallData::root_ntree, blender::bke::SocketValueVariant::set(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), SOCK_CUSTOM, SOCK_GEOMETRY, blender::fn::lazy_function::Context::storage, store_output_attributes(), timer, blender::bke::bNodeSocketType::type, blender::fn::lazy_function::Output::type, blender::fn::lazy_function::Unused, and blender::fn::lazy_function::Used.
Referenced by blender::modifyGeometry(), and blender::ed::geometry::run_node_group_exec().
|
inlinenodiscard |
Definition at line 67 of file NOD_geometry_nodes_values.hh.
References execute_multi_function_on_value_variant().
|
nodiscard |
Executes a multi-function. If all inputs are single values, the results will also be single values. If any input is a field, the outputs will also be fields.
|
nodiscard |
Executes a multi-function. If all inputs are single values, the results will also be single values. If any input is a field, the outputs will also be fields.
Definition at line 498 of file geometry_nodes_lazy_function.cc.
References execute_multi_function_on_value_variant__field(), execute_multi_function_on_value_variant__list(), execute_multi_function_on_value_variant__single(), execute_multi_function_on_value_variant__volume_grid(), i, blender::Span< T >::index_range(), blender::bke::SocketValueVariant::is_context_dependent_field(), blender::bke::SocketValueVariant::is_list(), and blender::bke::SocketValueVariant::is_volume_grid().
Referenced by blender::nodes::LazyFunctionForImplicitConversion::execute_impl(), blender::nodes::LazyFunctionForMultiFunctionNode::execute_impl(), execute_multi_function_on_value_variant(), execute_multi_function_on_value_variant(), implicitly_convert_socket_value(), blender::nodes::node_geo_curve_sample_cc::node_geo_exec(), blender::nodes::node_geo_image_texture_cc::node_geo_exec(), blender::nodes::node_geo_list_get_item_cc::node_geo_exec(), blender::nodes::node_geo_proximity_cc::node_geo_exec(), blender::nodes::node_geo_raycast_cc::node_geo_exec(), blender::nodes::node_geo_sample_grid_cc::node_geo_exec(), blender::nodes::node_geo_sample_grid_index_cc::node_geo_exec(), blender::nodes::node_geo_sample_index_cc::node_geo_exec(), blender::nodes::node_geo_sample_nearest_cc::node_geo_exec(), and blender::nodes::node_geo_sample_nearest_surface_cc::node_geo_exec().
|
inlinenodiscard |
Definition at line 55 of file NOD_geometry_nodes_values.hh.
References execute_multi_function_on_value_variant().
|
static |
Definition at line 464 of file geometry_nodes_lazy_function.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), extract(), blender::fn::FieldOperation::from(), i, and blender::Span< T >::index_range().
Referenced by execute_multi_function_on_value_variant().
| void blender::nodes::execute_multi_function_on_value_variant__list | ( | const MultiFunction & | fn, |
| const Span< SocketValueVariant * > | input_values, | ||
| const Span< SocketValueVariant * > | output_values, | ||
| GeoNodesUserData * | user_data ) |
Definition at line 95 of file list_function_eval.cc.
References add_list_to_params(), BLI_assert_unreachable, blender::nodes::List::create(), create_repeated_list(), blender::nodes::List::ArrayData::data, blender::CPPType::default_value(), evaluate_field_to_list(), blender::bke::SocketValueVariant::extract(), blender::nodes::List::ArrayData::ForUninitialized(), blender::bke::SocketValueVariant::get(), blender::bke::SocketValueVariant::get_single_ptr_raw(), i, blender::Span< T >::index_range(), blender::bke::SocketValueVariant::is_context_dependent_field(), blender::bke::SocketValueVariant::is_list(), blender::bke::SocketValueVariant::is_single(), mask(), params, blender::bke::SocketValueVariant::set(), blender::nodes::List::size(), and blender::Span< T >::size().
Referenced by execute_multi_function_on_value_variant().
|
static |
Definition at line 428 of file geometry_nodes_lazy_function.cc.
References blender::bke::SocketValueVariant::allocate_single(), blender::bke::SocketValueVariant::convert_to_single(), blender::bke::geo_nodes_base_cpp_type_to_socket_type(), blender::bke::SocketValueVariant::get_single_ptr_raw(), i, blender::Span< T >::index_range(), mask(), and params.
Referenced by execute_multi_function_on_value_variant().
|
nodiscard |
Execute the multi-function with the given parameters. It is assumed that at least one of the inputs is a grid. Otherwise the topology of the output grids is not known.
| fn | The multi-function to call. |
| input_values | All input values which may be grids, fields or single values. |
| output_values | Where the output grids will be stored. |
| r_error_message | An error message that is set if false is returned. |
Definition at line 590 of file volume_grid_function_eval.cc.
References TIP_.
Referenced by execute_multi_function_on_value_variant().
|
static |
Definition at line 314 of file derived_node_tree.cc.
References find_active_context_recursive(), and bNodeInstanceKey::value.
Referenced by blender::nodes::DerivedNodeTree::active_context(), and find_active_context_recursive().
| std::optional< FoundNestedNodeID > blender::nodes::find_nested_node_id | ( | const GeoNodesUserData & | user_data, |
| const int | node_id ) |
Definition at line 4237 of file geometry_nodes_lazy_function.cc.
References blender::nodes::GeoNodesUserData::call_data, blender::nodes::GeoNodesUserData::compute_context, find_nested_node_id(), blender::ed::space_node::find_nested_node_id_in_root(), and blender::nodes::GeoNodesCallData::root_ntree.
Referenced by blender::nodes::LazyFunctionForBakeInputsUsage::execute_impl(), blender::nodes::LazyFunctionForSimulationInputsUsage::execute_impl(), blender::nodes::node_geo_bake_cc::LazyFunctionForBakeNode::execute_impl(), blender::nodes::node_geo_simulation_cc::sim_input_node::LazyFunctionForSimulationInputNode::execute_impl(), and find_nested_node_id().
| std::optional< NodeInContext > blender::nodes::find_origin_index_menu_switch | ( | const SocketInContext & | src_socket, |
| bke::ComputeContextCache & | compute_context_cache ) |
Definition at line 705 of file trace_values.cc.
References find_origin_sockets_through_contexts(), blender::nodes::SocketInContext::owner_node(), result, SOCK_INT, and bNode::storage.
Referenced by blender::ed::space_node::find_menu_switch_sources_for_index_switch_nodes().
|
static |
Definition at line 323 of file trace_values.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), BLI_assert, blender::nodes::NodeInContext::context, blender::nodes::SocketInContext::context, blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::extract_vector(), find_origin_sockets_through_contexts(), find_target_sockets_through_contexts(), blender::bke::ComputeContextCache::for_evaluate_closure(), blender::bke::ComputeContextCache::for_group_node(), blender::bke::ComputeContextCache::for_repeat_zone(), blender::bke::ComputeContextCache::for_simulation_zone(), blender::bke::bNodeTreeZones::get_zone_by_socket(), i, bNode::id, bNode::identifier, bNodeSocket::identifier, blender::nodes::NodeInContext::input_socket(), is_closure_zone_output_socket(), blender::Stack< T, InlineBufferCapacity, Allocator >::is_empty(), is_evaluate_closure_node_input(), blender::bke::EvaluateClosureComputeContext::is_recursive(), blender::bke::bNodeTreeZones::link_between_zones_is_allowed(), NodeClosureOutputItem::name, NodeEvaluateClosureInputItem::name, blender::nodes::NodeInContext::node, blender::nodes::SocketInContext::owner_node(), blender::ComputeContext::parent(), blender::bke::bNodeTreeZone::parent_zone, blender::Stack< T, InlineBufferCapacity, Allocator >::pop(), blender::Stack< T, InlineBufferCapacity, Allocator >::push(), bNodeSocket::runtime, blender::nodes::SocketInContext::socket, bNode::storage, bNode::type_legacy, use_link_for_tracing(), and blender::bke::zone_type_by_node_type().
|
static |
|
static |
The output attributes are organized based on their domain, because attributes on the same domain can be evaluated together.
Definition at line 668 of file geometry_nodes_execute.cc.
References blender::MultiValueMap< Key, Value >::add(), blender::bke::allow_procedural_attribute_access(), blender::nodes::OutputAttributeInfo::field, blender::bke::SocketValueVariant::get(), IDP_GetPropertyFromGroup_null(), IDP_string_get, input_attribute_name_suffix, blender::StringRefBase::is_empty(), blender::nodes::OutputAttributeInfo::name, socket_type_has_attribute_toggle(), and tree.
Referenced by store_output_attributes().
|
static |
Definition at line 457 of file geometry_nodes_caller_ui.cc.
References i, NodesModifierPanel::id, NodesModifierData::panels, and NodesModifierData::panels_num.
Referenced by draw_geometry_nodes_modifier_ui().
|
static |
Definition at line 778 of file node_declaration.cc.
References BLI_assert, BLI_assert_unreachable, bNode::inputs, LISTBASE_FOREACH, and SOCK_MENU.
Referenced by blender::nodes::BaseSocketDeclarationBuilder::usage_by_single_menu().
|
static |
Definition at line 53 of file trace_values.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), BLI_assert, blender::ed::space_node::compute_context_for_zones(), blender::nodes::NodeInContext::context, blender::nodes::SocketInContext::context, blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::extract_vector(), find_origin_sockets_through_contexts(), find_target_sockets_through_contexts(), blender::bke::ComputeContextCache::for_evaluate_closure(), blender::bke::ComputeContextCache::for_group_node(), blender::bke::ComputeContextCache::for_repeat_zone(), blender::bke::ComputeContextCache::for_simulation_zone(), blender::bke::bNodeTreeZones::get_zone_by_node(), blender::bke::bNodeTreeZones::get_zone_by_socket(), blender::bke::bNodeTreeZones::get_zones_to_enter(), i, bNode::id, bNode::identifier, bNodeSocket::identifier, blender::bke::bNodeTreeZone::input_node(), blender::nodes::NodeInContext::input_socket(), is_closure_zone_output_socket(), blender::Stack< T, InlineBufferCapacity, Allocator >::is_empty(), is_evaluate_closure_node_input(), blender::bke::EvaluateClosureComputeContext::is_recursive(), blender::bke::bNodeTreeZones::link_between_zones_is_allowed(), NodeClosureInputItem::name, NodeEvaluateClosureOutputItem::name, blender::nodes::NodeInContext::output_socket(), blender::nodes::SocketInContext::owner_node(), blender::ComputeContext::parent(), blender::Stack< T, InlineBufferCapacity, Allocator >::pop(), blender::Stack< T, InlineBufferCapacity, Allocator >::push(), blender::nodes::SocketInContext::socket, bNode::storage, and use_link_for_tracing().
Referenced by compute_context_for_closure_evaluation(), find_origin_sockets_through_contexts(), find_target_sockets_through_contexts(), gather_linked_target_bundle_signatures(), and gather_linked_target_closure_signatures().
|
static |
Definition at line 184 of file geometry_nodes_dependencies.cc.
References add_eval_dependencies_from_node_data(), add_eval_dependencies_from_socket(), add_own_transform_dependencies(), has_enabled_nodes_of_type(), blender::nodes::GeometryNodesEvalDependencies::merge(), blender::nodes::GeometryNodesEvalDependencies::needs_active_camera, blender::nodes::GeometryNodesEvalDependencies::needs_scene_render_params, needs_scene_render_params(), and blender::nodes::GeometryNodesEvalDependencies::time_dependent.
Referenced by gather_geometry_nodes_eval_dependencies_recursive_impl(), and gather_geometry_nodes_eval_dependencies_with_cache().
| GeometryNodesEvalDependencies blender::nodes::gather_geometry_nodes_eval_dependencies_recursive | ( | const bNodeTree & | ntree | ) |
Finds all evaluation dependencies for the given node. This does not include dependencies that are passed into the node group. It also may not contain all data-blocks referenced by the node tree if some of them can statically be detected to not be used by the evaluation.
Definition at line 236 of file geometry_nodes_dependencies.cc.
References gather_geometry_nodes_eval_dependencies_recursive_impl(), and blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup().
Referenced by blender::depends_on_time(), and blender::update_depsgraph().
|
static |
Definition at line 222 of file geometry_nodes_dependencies.cc.
References blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), gather_geometry_nodes_eval_dependencies(), gather_geometry_nodes_eval_dependencies_recursive_impl(), and blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup().
Referenced by gather_geometry_nodes_eval_dependencies_recursive(), and gather_geometry_nodes_eval_dependencies_recursive_impl().
| GeometryNodesEvalDependencies blender::nodes::gather_geometry_nodes_eval_dependencies_with_cache | ( | const bNodeTree & | ntree | ) |
Same as above, but assumes that dependencies are already cached on the referenced node groups.
Definition at line 212 of file geometry_nodes_dependencies.cc.
References gather_geometry_nodes_eval_dependencies(), and bNodeTree::runtime.
| LinkedBundleSignatures blender::nodes::gather_linked_origin_bundle_signatures | ( | const ComputeContext * | bundle_socket_context, |
| const bNodeSocket & | bundle_socket, | ||
| bke::ComputeContextCache & | compute_context_cache ) |
Definition at line 608 of file trace_values.cc.
References blender::nodes::NodeInContext::context, find_origin_sockets_through_contexts(), blender::nodes::BundleSignature::from_combine_bundle_node(), gather_linked_origin_bundle_signatures(), blender::nodes::NodeInContext::input_socket(), blender::nodes::LinkedBundleSignatures::Item::is_signature_definition, blender::nodes::BundleSignature::items, blender::nodes::LinkedBundleSignatures::items, NODE_COMBINE_BUNDLE_FLAG_DEFINE_SIGNATURE, result, blender::nodes::LinkedBundleSignatures::Item::signature, and bNode::storage.
Referenced by gather_linked_origin_bundle_signatures(), and get_sync_state_separate_bundle().
| LinkedClosureSignatures blender::nodes::gather_linked_origin_closure_signatures | ( | const ComputeContext * | closure_socket_context, |
| const bNodeSocket & | closure_socket, | ||
| bke::ComputeContextCache & | compute_context_cache ) |
Definition at line 681 of file trace_values.cc.
References find_origin_sockets_through_contexts(), blender::nodes::ClosureSignature::from_closure_output_node(), is_closure_zone_output_socket(), NODE_CLOSURE_FLAG_DEFINE_SIGNATURE, result, and bNode::storage.
Referenced by get_sync_state_evaluate_closure().
| LinkedBundleSignatures blender::nodes::gather_linked_target_bundle_signatures | ( | const ComputeContext * | bundle_socket_context, |
| const bNodeSocket & | bundle_socket, | ||
| bke::ComputeContextCache & | compute_context_cache ) |
Definition at line 584 of file trace_values.cc.
References find_target_sockets_through_contexts(), blender::nodes::BundleSignature::from_separate_bundle_node(), NODE_SEPARATE_BUNDLE_FLAG_DEFINE_SIGNATURE, result, and bNode::storage.
Referenced by get_sync_state_combine_bundle().
| LinkedClosureSignatures blender::nodes::gather_linked_target_closure_signatures | ( | const ComputeContext * | closure_socket_context, |
| const bNodeSocket & | closure_socket, | ||
| bke::ComputeContextCache & | compute_context_cache ) |
Definition at line 657 of file trace_values.cc.
References find_target_sockets_through_contexts(), blender::nodes::ClosureSignature::from_evaluate_closure_node(), is_evaluate_closure_node_input(), NODE_EVALUATE_CLOSURE_FLAG_DEFINE_SIGNATURE, result, and bNode::storage.
Referenced by get_sync_state_closure_output().
| void blender::nodes::geo_viewer_node_log | ( | const bNode & | node, |
| const Span< bke::SocketValueVariant * > | input_values, | ||
| geo_eval_log::ViewerNodeLog & | r_log ) |
Definition at line 522 of file node_geo_viewer.cc.
References blender::nodes::node_geo_viewer_cc::geo_viewer_node_log_impl().
Referenced by blender::nodes::LazyFunctionForViewerNode::execute_impl().
|
nodiscard |
Definition at line 575 of file node_geo_bake.cc.
References blender::bke::bake::BakeNodeCache::bake, blender::bke::bake::SimulationNodeCache::bake, blender::nodes::BakeDrawContext::bake, blender::bke::bake::ModifierCache::bake_cache_by_id, NodesModifierBake::bake_mode, blender::nodes::BakeDrawContext::bake_rna, blender::nodes::BakeDrawContext::bake_still, blender::nodes::BakeDrawContext::bake_target, blender::bke::bake::Baked, blender::nodes::BakeDrawContext::baked_range, NodesModifierData::bakes, NodesModifierData::bakes_num, BLI_assert, C, blender::bke::bake::SimulationNodeCache::cache_status, CTX_data_scene(), CTX_wm_space_node(), ELEM, blender::ed::space_node::find_nested_node_id_in_root(), blender::nodes::BakeDrawContext::frame_range, blender::bke::bake::NodeBakeCache::frames, GEO_NODE_BAKE, GEO_NODE_SIMULATION_OUTPUT, blender::ed::space_node::get_modifier_for_node_editor(), blender::bke::bake::get_node_bake_frame_range(), blender::bke::bake::get_node_bake_target(), NodesModifierBake::id, Object::id, blender::nodes::BakeDrawContext::is_bakeable_in_current_context, blender::nodes::BakeDrawContext::is_baked, lock, blender::bke::bake::ModifierCache::mutex, blender::nodes::BakeDrawContext::nmd, blender::nodes::BakeDrawContext::node, NODES_MODIFIER_BAKE_MODE_STILL, blender::nodes::BakeDrawContext::object, RNA_pointer_create_discrete(), NodesModifierData::runtime, blender::bke::bake::ModifierCache::simulation_cache_by_id, blender::nodes::BakeDrawContext::snode, and bNode::type_legacy.
Referenced by blender::nodes::node_geo_bake_cc::node_extra_info(), blender::nodes::node_geo_simulation_cc::sim_output_node::node_extra_info(), blender::nodes::node_geo_bake_cc::node_layout(), blender::nodes::node_geo_bake_cc::node_layout_ex(), and blender::nodes::node_geo_simulation_cc::node_layout_ex().
| std::unique_ptr< LazyFunction > blender::nodes::get_bake_lazy_function | ( | const bNode & | node, |
| GeometryNodesLazyFunctionGraphInfo & | lf_graph_info ) |
Definition at line 860 of file node_geo_bake.cc.
References BLI_assert, GEO_NODE_BAKE, and bNode::type_legacy.
| std::optional< std::string > blender::nodes::get_bake_state_string | ( | const BakeDrawContext & | ctx | ) |
Definition at line 655 of file node_geo_bake.cc.
References blender::nodes::BakeDrawContext::bake, NodesModifierBake::bake_size, blender::nodes::BakeDrawContext::bake_still, BLI_str_format_byte_unit(), BLI_STR_FORMAT_INT64_BYTE_UNIT_SIZE, blender::nodes::BakeDrawContext::frame_range, G, get_baked_string(), blender::nodes::BakeDrawContext::is_baked, NodesModifierBake::packed, and RPT_.
Referenced by blender::nodes::node_geo_bake_cc::node_layout_ex(), and blender::nodes::node_geo_simulation_cc::node_layout_ex().
| std::string blender::nodes::get_baked_string | ( | const BakeDrawContext & | ctx | ) |
Definition at line 646 of file node_geo_bake.cc.
References blender::nodes::BakeDrawContext::bake_still, blender::nodes::BakeDrawContext::baked_range, and RPT_.
Referenced by get_bake_state_string(), blender::nodes::node_geo_bake_cc::node_extra_info(), and blender::nodes::node_geo_simulation_cc::sim_output_node::node_extra_info().
|
static |
Definition at line 9 of file math_functions.cc.
References blender::StringRefNull::c_str(), bNode::custom1, blender::nodes::FloatMathOperationInfo::title_case_name, try_dispatch_float_math_fl_fl_fl_to_fl(), try_dispatch_float_math_fl_fl_to_fl(), and try_dispatch_float_math_fl_to_fl().
Referenced by node_math_build_multi_function().
|
static |
Definition at line 440 of file sync_sockets.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::Vector< T, InlineBufferCapacity, Allocator >::is_empty(), blender::nodes::BundleSignature::items, blender::nodes::BundleSignature::Item::key, and TIP_.
Referenced by sync_node_description_get().
| void blender::nodes::get_closest_in_bvhtree | ( | bke::BVHTreeFromMesh & | tree_data, |
| const VArray< float3 > & | positions, | ||
| const IndexMask & | mask, | ||
| MutableSpan< int > | r_indices, | ||
| MutableSpan< float > | r_distances_sq, | ||
| MutableSpan< float3 > | r_positions ) |
Definition at line 23 of file node_geo_sample_nearest.cc.
References BLI_assert, BLI_bvhtree_find_nearest(), BVHTreeNearest::co, BVHTreeNearest::dist_sq, FLT_MAX, i, BVHTreeNearest::index, blender::MutableSpan< T >::is_empty(), mask(), blender::bke::BVHTreeFromMesh::nearest_callback, blender::MutableSpan< T >::size(), blender::VArrayCommon< T >::size(), and blender::bke::BVHTreeFromMesh::tree.
Referenced by blender::nodes::node_geo_sample_nearest_cc::get_closest_mesh_edges(), blender::nodes::node_geo_sample_nearest_cc::get_closest_mesh_points(), and blender::nodes::node_geo_sample_nearest_cc::get_closest_mesh_tris().
|
static |
Definition at line 489 of file sync_sockets.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::nodes::ClosureSignature::inputs, blender::Vector< T, InlineBufferCapacity, Allocator >::is_empty(), blender::nodes::ClosureSignature::Item::key, blender::nodes::ClosureSignature::outputs, and TIP_.
Referenced by sync_node_description_get().
| void blender::nodes::get_compositor_group_input_extra_info | ( | blender::nodes::NodeExtraInfoParams & | parameters | ) |
Definition at line 150 of file node_composite_group_input.cc.
References Vector< T, InlineBufferCapacity, Allocator >::append(), blender::nodes::NodeExtraInfoParams::C, CTX_wm_space_node(), SpaceNode::edittree, blender::nodes::NodeExtraInfoRow::icon, IFACE_, input, blender::nodes::NodeExtraInfoParams::node, SpaceNode::node_tree_sub_type, SpaceNode::nodetree, NTREE_COMPOSIT, blender::nodes::NodeExtraInfoParams::rows, SNODE_COMPOSITOR_SEQUENCER, SOCK_RGBA, blender::nodes::NodeExtraInfoRow::text, TIP_, blender::nodes::NodeExtraInfoRow::tooltip, blender::nodes::NodeExtraInfoParams::tree, and bNodeTree::type.
| void blender::nodes::get_compositor_group_output_extra_info | ( | blender::nodes::NodeExtraInfoParams & | parameters | ) |
Definition at line 152 of file node_composite_group_output.cc.
References Vector< T, InlineBufferCapacity, Allocator >::append(), blender::nodes::NodeExtraInfoParams::C, CTX_wm_space_node(), SpaceNode::edittree, blender::nodes::NodeExtraInfoRow::icon, IFACE_, blender::Span< T >::is_empty(), blender::nodes::NodeExtraInfoParams::node, SpaceNode::nodetree, NTREE_COMPOSIT, blender::nodes::NodeExtraInfoParams::rows, blender::Span< T >::size(), SOCK_RGBA, blender::nodes::NodeExtraInfoRow::text, TIP_, blender::nodes::NodeExtraInfoRow::tooltip, blender::nodes::NodeExtraInfoParams::tree, and bNodeTree::type.
|
static |
Definition at line 55 of file node_composite_scene_time.cc.
Referenced by register_node_type_cmp_scene_time().
|
static |
Currently, nodes that support different socket types have sockets for all supported types with different identifiers (e.g. Attribute, Attribute_001, Attribute_002, ...). In the future, we will hopefully have a better way to handle this that does not require all the sockets of different types to exist at the same time. Instead we want that there is only a single socket that can change its type while the identifier stays the same.
This function prepares us for that future. It returns the identifier that we use for a socket now based on the "base socket name" (e.g. Attribute) and its socket type. It allows us to change the socket identifiers in the future without breaking forward compatibility for the nodes handled here.
Definition at line 328 of file node_socket.cc.
References FN_NODE_COMPARE, FN_NODE_RANDOM_VALUE, get_identifier_from_decl(), bNodeSocket::identifier, SH_NODE_MAP_RANGE, SH_NODE_MIX, SOCK_VECTOR, STREQ, bNodeSocket::type, and bNode::type_legacy.
Referenced by do_forward_compat_versioning().
|
static |
Definition at line 206 of file node_common.cc.
References BLI_assert, blender::bke::node_interface::get_item_as(), GS, ID_NT, bNodeTreeInterfaceSocket::item, bNodeTreeInterfaceSocket::socket_data, and bNodeTree::tree_interface.
Referenced by build_interface_socket_declaration().
|
static |
Definition at line 368 of file derived_node_tree.cc.
References get_dot_cluster_for_context(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add_cb(), blender::dot_export::Graph::new_cluster(), and blender::dot_export::Cluster::set_parent_cluster().
Referenced by get_dot_cluster_for_context(), and blender::nodes::DerivedNodeTree::to_dot().
| std::unique_ptr< LazyFunction > blender::nodes::get_enable_output_node_lazy_function | ( | const bNode & | node, |
| GeometryNodesLazyFunctionGraphInfo & | own_lf_graph_info ) |
Definition at line 210 of file node_geo_enable_output.cc.
References blender::nodes::GeometryNodeLazyFunctionGraphMapping::lf_index_by_bsocket, and blender::nodes::GeometryNodesLazyFunctionGraphInfo::mapping.
| const FloatMathOperationInfo * blender::nodes::get_float3_math_operation_info | ( | const int | operation | ) |
Definition at line 216 of file math_functions.cc.
References NODE_VECTOR_MATH_ABSOLUTE, NODE_VECTOR_MATH_ADD, NODE_VECTOR_MATH_CEIL, NODE_VECTOR_MATH_COSINE, NODE_VECTOR_MATH_CROSS_PRODUCT, NODE_VECTOR_MATH_DISTANCE, NODE_VECTOR_MATH_DIVIDE, NODE_VECTOR_MATH_DOT_PRODUCT, NODE_VECTOR_MATH_FACEFORWARD, NODE_VECTOR_MATH_FLOOR, NODE_VECTOR_MATH_FRACTION, NODE_VECTOR_MATH_LENGTH, NODE_VECTOR_MATH_MAXIMUM, NODE_VECTOR_MATH_MINIMUM, NODE_VECTOR_MATH_MODULO, NODE_VECTOR_MATH_MULTIPLY, NODE_VECTOR_MATH_MULTIPLY_ADD, NODE_VECTOR_MATH_NORMALIZE, NODE_VECTOR_MATH_POWER, NODE_VECTOR_MATH_PROJECT, NODE_VECTOR_MATH_REFLECT, NODE_VECTOR_MATH_REFRACT, NODE_VECTOR_MATH_SCALE, NODE_VECTOR_MATH_SIGN, NODE_VECTOR_MATH_SINE, NODE_VECTOR_MATH_SNAP, NODE_VECTOR_MATH_SUBTRACT, NODE_VECTOR_MATH_TANGENT, NODE_VECTOR_MATH_WRAP, and RETURN_OPERATION_INFO.
Referenced by try_dispatch_float_math_fl3_fl3_fl3_to_fl3(), try_dispatch_float_math_fl3_fl3_fl_to_fl3(), try_dispatch_float_math_fl3_fl3_to_fl(), try_dispatch_float_math_fl3_fl3_to_fl3(), try_dispatch_float_math_fl3_fl_to_fl3(), try_dispatch_float_math_fl3_to_fl(), and try_dispatch_float_math_fl3_to_fl3().
| const FloatMathOperationInfo * blender::nodes::get_float_compare_operation_info | ( | const int | operation | ) |
Definition at line 186 of file math_functions.cc.
References NODE_COMPARE_EQUAL, NODE_COMPARE_GREATER_EQUAL, NODE_COMPARE_GREATER_THAN, NODE_COMPARE_LESS_EQUAL, NODE_COMPARE_LESS_THAN, NODE_COMPARE_NOT_EQUAL, and RETURN_OPERATION_INFO.
| const FloatMathOperationInfo * blender::nodes::get_float_math_operation_info | ( | const int | operation | ) |
Definition at line 86 of file math_functions.cc.
References NODE_MATH_ABSOLUTE, NODE_MATH_ADD, NODE_MATH_ARCCOSINE, NODE_MATH_ARCSINE, NODE_MATH_ARCTAN2, NODE_MATH_ARCTANGENT, NODE_MATH_CEIL, NODE_MATH_COMPARE, NODE_MATH_COSH, NODE_MATH_COSINE, NODE_MATH_DEGREES, NODE_MATH_DIVIDE, NODE_MATH_EXPONENT, NODE_MATH_FLOOR, NODE_MATH_FLOORED_MODULO, NODE_MATH_FRACTION, NODE_MATH_GREATER_THAN, NODE_MATH_INV_SQRT, NODE_MATH_LESS_THAN, NODE_MATH_LOGARITHM, NODE_MATH_MAXIMUM, NODE_MATH_MINIMUM, NODE_MATH_MODULO, NODE_MATH_MULTIPLY, NODE_MATH_MULTIPLY_ADD, NODE_MATH_PINGPONG, NODE_MATH_POWER, NODE_MATH_RADIANS, NODE_MATH_ROUND, NODE_MATH_SIGN, NODE_MATH_SINE, NODE_MATH_SINH, NODE_MATH_SMOOTH_MAX, NODE_MATH_SMOOTH_MIN, NODE_MATH_SNAP, NODE_MATH_SQRT, NODE_MATH_SUBTRACT, NODE_MATH_TANGENT, NODE_MATH_TANH, NODE_MATH_TRUNC, NODE_MATH_WRAP, and RETURN_OPERATION_INFO.
Referenced by blender::nodes::node_shader_math_cc::gpu_shader_get_name(), try_dispatch_float_math_fl_fl_fl_to_fl(), try_dispatch_float_math_fl_fl_to_fl(), and try_dispatch_float_math_fl_to_fl().
|
static |
Gives the domain with the smallest number of elements that always exists.
Definition at line 825 of file geometry_nodes_foreach_geometry_element_zone.cc.
Referenced by blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_generation_items_group().
| Vector< InferenceValue > blender::nodes::get_geometry_nodes_input_inference_values | ( | const bNodeTree & | btree, |
| const IDProperty * | properties, | ||
| ResourceScope & | scope ) |
Get input values for the node tree for static value/usage inferencing. Inferencing does not fully evaluate the node tree (would be way to slow), and does not support all socket types. So this function may return #InferenceValue::Unknown for some sockets.
Definition at line 1056 of file geometry_nodes_execute.cc.
References blender::bke::bNodeSocketType::base_cpp_type, BLI_assert, blender::ResourceScope::construct(), blender::nodes::InferenceValue::from_primitive(), blender::bke::bNodeSocketType::geometry_nodes_default_value, blender::GPointer::get(), blender::bke::SocketValueVariant::get_single_ptr(), id_property_type_matches_socket(), bNodeTreeInterfaceSocket::identifier, IDP_GetPropertyFromGroup_null(), init_socket_cpp_value_from_property(), input_attribute_name_get(), is_layer_selection_field(), blender::bke::SocketValueVariant::is_single(), blender::bke::bNodeSocketType::type, blender::GPointer::type(), and blender::nodes::InferenceValue::Unknown().
Referenced by blender::NodesModifierUsageInferenceCache::ensure(), blender::nodes::gizmos::foreach_active_gizmo_exposed_to_modifier(), and blender::nodes::socket_usage_inference::infer_group_interface_usage().
| compositor::NodeOperation * blender::nodes::get_group_input_compositor_operation | ( | compositor::Context & | context, |
| DNode | node ) |
Definition at line 144 of file node_composite_group_input.cc.
Referenced by register_node_type_group_input().
| compositor::NodeOperation * blender::nodes::get_group_output_compositor_operation | ( | compositor::Context & | context, |
| DNode | node ) |
Definition at line 146 of file node_composite_group_output.cc.
Referenced by register_node_type_group_output().
|
static |
Definition at line 286 of file node_socket.cc.
References BLI_str_startswith(), bNodeSocket::identifier, and bNodeSocket::type.
Referenced by get_current_socket_identifier_for_future_socket(), and get_identifier_from_decl().
|
static |
Definition at line 303 of file node_socket.cc.
References get_identifier_from_decl().
| std::optional< ImplicitInputValueFn > blender::nodes::get_implicit_input_value_fn | ( | const NodeDefaultInputType | type | ) |
Definition at line 1075 of file node_declaration.cc.
References blender::nodes::implicit_field_inputs::handle_left(), blender::nodes::implicit_field_inputs::handle_right(), blender::nodes::implicit_field_inputs::id_or_index(), blender::nodes::implicit_field_inputs::index(), blender::nodes::implicit_field_inputs::instance_transform(), NODE_DEFAULT_INPUT_HANDLE_LEFT_FIELD, NODE_DEFAULT_INPUT_HANDLE_RIGHT_FIELD, NODE_DEFAULT_INPUT_ID_INDEX_FIELD, NODE_DEFAULT_INPUT_INDEX_FIELD, NODE_DEFAULT_INPUT_INSTANCE_TRANSFORM_FIELD, NODE_DEFAULT_INPUT_NORMAL_FIELD, NODE_DEFAULT_INPUT_POSITION_FIELD, NODE_DEFAULT_INPUT_VALUE, blender::nodes::implicit_field_inputs::normal(), and blender::nodes::implicit_field_inputs::position().
| std::unique_ptr< LazyFunction > blender::nodes::get_index_switch_node_lazy_function | ( | const bNode & | node, |
| GeometryNodesLazyFunctionGraphInfo & | lf_graph_info ) |
Definition at line 489 of file node_geo_index_switch.cc.
References BLI_assert, GEO_NODE_INDEX_SWITCH, and bNode::type_legacy.
|
static |
Definition at line 232 of file node_common.cc.
References BLI_assert, blender::bke::node_interface::get_item_as(), GS, bNode::id, bNodeTree::id, ID_NT, blender::bke::bNodeSocketType::interface_init_socket, bNodeTreeInterfaceSocket::item, bNodeTreeInterfaceItem::item_type, ID::name, NODE_INTERFACE_SOCKET, and bNodeTree::tree_interface.
Referenced by build_interface_socket_declaration().
| std::unique_ptr< LazyFunction > blender::nodes::get_menu_switch_node_lazy_function | ( | const bNode & | node, |
| GeometryNodesLazyFunctionGraphInfo & | lf_graph_info ) |
Definition at line 590 of file node_geo_menu_switch.cc.
References BLI_assert, GEO_NODE_MENU_SWITCH, and bNode::type_legacy.
| std::unique_ptr< LazyFunction > blender::nodes::get_menu_switch_node_socket_usage_lazy_function | ( | const bNode & | node | ) |
Definition at line 598 of file node_geo_menu_switch.cc.
References BLI_assert, GEO_NODE_MENU_SWITCH, and bNode::type_legacy.
|
static |
Definition at line 117 of file geometry_nodes_caller_ui.cc.
References BKE_libblock_find_session_uid(), BKE_modifiers_findby_name(), BLI_assert, data, ED_screen_animation_playing(), eModifierType_Nodes, ID_OB, and ModifierData::type.
|
static |
Definition at line 742 of file geometry_nodes_caller_ui.cc.
References IFACE_.
Referenced by draw_warnings().
|
static |
Definition at line 4251 of file geometry_nodes_lazy_function.cc.
References DEG_get_evaluated(), depsgraph, and get_only_evaluated_id().
Referenced by blender::nodes::GeoNodesOperatorDepsgraphs::get_evaluated_id(), and get_only_evaluated_id().
|
static |
Definition at line 108 of file geometry_nodes_caller_ui.cc.
References blender::ComputeContext::hash(), and NodesModifierData::runtime.
Referenced by draw_geometry_nodes_modifier_ui(), draw_named_attributes_panel(), and draw_warnings().
| std::unique_ptr< LazyFunction > blender::nodes::get_simulation_input_lazy_function | ( | const bNodeTree & | node_tree, |
| const bNode & | node, | ||
| GeometryNodesLazyFunctionGraphInfo & | own_lf_graph_info ) |
Definition at line 902 of file node_geo_simulation.cc.
References BLI_assert, GEO_NODE_SIMULATION_INPUT, and bNode::type_legacy.
| std::unique_ptr< LazyFunction > blender::nodes::get_simulation_output_lazy_function | ( | const bNode & | node, |
| GeometryNodesLazyFunctionGraphInfo & | own_lf_graph_info ) |
Definition at line 913 of file node_geo_simulation.cc.
References BLI_assert, GEO_NODE_SIMULATION_OUTPUT, and bNode::type_legacy.
| NodeSocketInterfaceStructureType blender::nodes::get_structure_type_for_bundle_signature | ( | const bNodeSocket & | socket, |
| const NodeSocketInterfaceStructureType | stored_structure_type, | ||
| const bool | allow_auto_structure_type ) |
Definition at line 204 of file geometry_nodes_bundle.cc.
References NODE_INTERFACE_SOCKET_STRUCTURE_TYPE_AUTO, and bNodeSocket::runtime.
Referenced by blender::nodes::ClosureSignature::from_closure_output_node(), blender::nodes::BundleSignature::from_combine_bundle_node(), blender::nodes::ClosureSignature::from_evaluate_closure_node(), and blender::nodes::BundleSignature::from_separate_bundle_node().
| std::unique_ptr< LazyFunction > blender::nodes::get_switch_node_lazy_function | ( | const bNode & | node | ) |
Definition at line 299 of file node_geo_switch.cc.
References BLI_assert, GEO_NODE_SWITCH, and bNode::type_legacy.
|
static |
Definition at line 132 of file sync_sockets.cc.
References BLI_assert, CanBeSynced, blender::ed::space_node::compute_context_for_edittree_socket(), ConflictingSyncSources, SpaceNode::edittree, blender::nodes::ClosureSignature::from_closure_output_node(), gather_linked_target_closure_signatures(), blender::nodes::LinkedClosureSignatures::get_merged_signature(), blender::nodes::LinkedClosureSignatures::has_type_definition(), Vector< T, InlineBufferCapacity, Allocator >::is_empty(), blender::nodes::LinkedClosureSignatures::items, NoSyncSource, SOCK_CLOSURE, and Synced.
Referenced by sync_node_description_get(), and sync_sockets_closure().
|
static |
Definition at line 94 of file sync_sockets.cc.
References BLI_assert, CanBeSynced, blender::ed::space_node::compute_context_for_edittree_socket(), ConflictingSyncSources, SpaceNode::edittree, blender::nodes::BundleSignature::from_combine_bundle_node(), gather_linked_target_bundle_signatures(), blender::nodes::LinkedBundleSignatures::get_merged_signature(), blender::nodes::LinkedBundleSignatures::has_type_definition(), Vector< T, InlineBufferCapacity, Allocator >::is_empty(), blender::nodes::LinkedBundleSignatures::items, NoSyncSource, SOCK_BUNDLE, and Synced.
Referenced by sync_node_description_get(), and sync_sockets_combine_bundle().
|
static |
Definition at line 169 of file sync_sockets.cc.
References BLI_assert, CanBeSynced, blender::ed::space_node::compute_context_for_edittree_socket(), ConflictingSyncSources, SpaceNode::edittree, blender::nodes::ClosureSignature::from_evaluate_closure_node(), gather_linked_origin_closure_signatures(), blender::nodes::LinkedClosureSignatures::get_merged_signature(), blender::nodes::LinkedClosureSignatures::has_type_definition(), Vector< T, InlineBufferCapacity, Allocator >::is_empty(), blender::nodes::LinkedClosureSignatures::items, NoSyncSource, SOCK_CLOSURE, and Synced.
Referenced by sync_node_description_get(), and sync_sockets_evaluate_closure().
|
static |
Definition at line 56 of file sync_sockets.cc.
References BLI_assert, CanBeSynced, blender::ed::space_node::compute_context_for_edittree_socket(), ConflictingSyncSources, SpaceNode::edittree, blender::nodes::BundleSignature::from_separate_bundle_node(), gather_linked_origin_bundle_signatures(), blender::nodes::LinkedBundleSignatures::get_merged_signature(), blender::nodes::LinkedBundleSignatures::has_type_definition(), Vector< T, InlineBufferCapacity, Allocator >::is_empty(), blender::nodes::LinkedBundleSignatures::items, NoSyncSource, SOCK_BUNDLE, and Synced.
Referenced by sync_node_description_get(), and sync_sockets_separate_bundle().
| std::unique_ptr< LazyFunction > blender::nodes::get_warning_node_lazy_function | ( | const bNode & | node | ) |
Definition at line 124 of file node_geo_warning.cc.
References BLI_assert, GEO_NODE_WARNING, and bNode::type_legacy.
|
static |
Checks if the geometry nodes caller requested this gizmo to be evaluated.
Definition at line 874 of file geometry_nodes_lazy_function.cc.
References blender::nodes::GeoNodesUserData::call_data, blender::nodes::GeoNodesUserData::compute_context, blender::Span< T >::contains(), gizmo_is_used(), blender::ComputeContext::hash(), blender::nodes::GeoNodesSideEffectNodes::nodes_by_context, and blender::nodes::GeoNodesCallData::side_effect_nodes.
Referenced by blender::nodes::LazyFunctionForGizmoInputsUsage::execute_impl(), blender::nodes::LazyFunctionForGizmoNode::execute_impl(), and gizmo_is_used().
| const EnumPropertyItem * blender::nodes::grid_data_type_socket_items_filter_fn | ( | bContext * | , |
| PointerRNA * | , | ||
| PropertyRNA * | , | ||
| bool * | r_free ) |
Definition at line 83 of file node_geometry_util.cc.
References enum_items_filter(), blender::bke::grid_type_to_socket_type(), rna_enum_volume_grid_data_type_items, and EnumPropertyItem::value.
Referenced by blender::nodes::node_geo_store_named_grid_cc::node_rna().
| const EnumPropertyItem * blender::nodes::grid_socket_type_items_filter_fn | ( | bContext * | , |
| PointerRNA * | , | ||
| PropertyRNA * | , | ||
| bool * | r_free ) |
Definition at line 95 of file node_geometry_util.cc.
References enum_items_filter(), rna_enum_node_socket_data_type_items, socket_type_supports_grids(), and EnumPropertyItem::value.
Referenced by blender::nodes::node_geo_get_named_grid_cc::node_rna(), blender::nodes::node_geo_grid_info_cc::node_rna(), blender::nodes::node_geo_grid_prune_cc::node_rna(), blender::nodes::node_geo_grid_voxelize_cc::node_rna(), blender::nodes::node_geo_sample_grid_cc::node_rna(), blender::nodes::node_geo_sample_grid_index_cc::node_rna(), blender::nodes::node_geo_set_grid_background::node_rna(), and blender::nodes::node_geo_set_grid_transform::node_rna().
|
static |
Definition at line 783 of file node_common.cc.
References b, build_interface_socket_declaration(), bNodeTreeInterfaceSocket::flag, blender::bke::node_interface::get_item_as(), bNodeTreeInterfaceItem::item_type, NODE_INTERFACE_PANEL, NODE_INTERFACE_SOCKET, NODE_INTERFACE_SOCKET_INPUT, SOCK_OUT, and bNodeTree::tree_interface.
Referenced by register_node_type_group_input().
|
static |
Definition at line 838 of file node_common.cc.
References blender::bke::node_interface::add_interface_socket_from_node(), BLI_assert, bNodeTreeInterfaceSocket::identifier, node_group_input_find_socket(), params, SOCK_IN, blender::StringRefBase::startswith(), and update_node_declaration_and_sockets().
Referenced by register_node_type_group_input().
|
static |
Definition at line 813 of file node_common.cc.
References b, build_interface_socket_declaration(), bNodeTreeInterfaceSocket::flag, blender::bke::node_interface::get_item_as(), bNodeTreeInterfaceItem::item_type, NODE_INTERFACE_PANEL, NODE_INTERFACE_SOCKET, NODE_INTERFACE_SOCKET_OUTPUT, SOCK_IN, and bNodeTree::tree_interface.
Referenced by register_node_type_group_output().
|
static |
Definition at line 859 of file node_common.cc.
References blender::bke::node_interface::add_interface_socket_from_node(), BLI_assert, bNodeTreeInterfaceSocket::identifier, node_group_output_find_socket(), params, SOCK_OUT, blender::StringRefBase::startswith(), and update_node_declaration_and_sockets().
Referenced by register_node_type_group_output().
|
static |
Definition at line 130 of file geometry_nodes_dependencies.cc.
References tree.
Referenced by add_own_transform_dependencies(), and gather_geometry_nodes_eval_dependencies().
|
static |
Definition at line 833 of file geometry_nodes_caller_ui.cc.
References SOCK_CUSTOM, socket_type_has_attribute_toggle(), tree, and blender::bke::bNodeSocketType::type.
Referenced by draw_geometry_nodes_modifier_ui().
|
static |
When the extension socket on group input nodes is hidden, we consider the socket visibility fixed and don't want to add newly created group inputs.
Definition at line 405 of file node_socket.cc.
References BLI_assert, ListBase::last, and bNode::outputs.
Referenced by refresh_node_sockets_and_panels().
|
static |
Definition at line 104 of file geometry_nodes_execute.cc.
References blender::bke::idprop::create(), IDPropertyUIDataID::id_type, IDP_ui_data_ensure(), and ID::name.
Referenced by id_property_create_from_socket().
| std::unique_ptr< IDProperty, bke::idprop::IDPropertyDeleter > blender::nodes::id_property_create_from_socket | ( | const bNodeTreeInterfaceSocket & | socket, |
| const nodes::StructureType | structure_type, | ||
| const bool | use_name_for_ids ) |
Definition at line 116 of file geometry_nodes_execute.cc.
References IDPropertyUIDataFloat::base, IDPropertyUIDataInt::base, IDPropertyUIDataString::base, BLI_strdup(), blender::bke::idprop::create(), blender::bke::idprop::create_bool(), IDPropertyUIDataFloat::default_array, IDPropertyUIDataFloat::default_array_len, IDPropertyUIDataBool::default_value, IDPropertyUIDataFloat::default_value, IDPropertyUIDataInt::default_value, IDPropertyUIDataString::default_value, bNodeSocketValueVector::dimensions, FLT_MAX, i, ID_GR, ID_IM, ID_MA, id_name_or_value_prop(), ID_OB, id_property_int_update_enum_items(), ID_TE, bNodeTreeInterfaceSocket::identifier, IDP_ui_data_ensure(), is_layer_selection_field(), bNodeSocketValueFloat::max, bNodeSocketValueInt::max, bNodeSocketValueVector::max, MEM_malloc_arrayN(), bNodeSocketValueFloat::min, bNodeSocketValueInt::min, bNodeSocketValueVector::min, PROP_COLOR, PROP_EULER, IDPropertyUIData::rna_subtype, SOCK_BOOLEAN, SOCK_BUNDLE, SOCK_CLOSURE, SOCK_COLLECTION, SOCK_CUSTOM, SOCK_FLOAT, SOCK_GEOMETRY, SOCK_IMAGE, SOCK_INT, SOCK_MATERIAL, SOCK_MATRIX, SOCK_MENU, SOCK_OBJECT, SOCK_RGBA, SOCK_ROTATION, SOCK_SHADER, SOCK_STRING, SOCK_TEXTURE, SOCK_VECTOR, bNodeTreeInterfaceSocket::socket_data, IDPropertyUIDataFloat::soft_max, IDPropertyUIDataInt::soft_max, IDPropertyUIDataFloat::soft_min, IDPropertyUIDataInt::soft_min, bNodeSocketValueFloat::subtype, bNodeSocketValueInt::subtype, bNodeSocketValueString::subtype, bNodeSocketValueVector::subtype, blender::Span< T >::take_front(), blender::bke::bNodeSocketType::type, bNodeSocketValueBoolean::value, bNodeSocketValueCollection::value, bNodeSocketValueFloat::value, bNodeSocketValueImage::value, bNodeSocketValueInt::value, bNodeSocketValueMaterial::value, bNodeSocketValueMenu::value, bNodeSocketValueObject::value, bNodeSocketValueRGBA::value, bNodeSocketValueString::value, bNodeSocketValueTexture::value, bNodeSocketValueVector::value, and bNodeSocketValueRotation::value_euler.
Referenced by update_input_properties_from_node_tree().
|
static |
Definition at line 62 of file geometry_nodes_execute.cc.
References BLI_assert, BLI_strdup(), BLI_strdup_null(), blender::bke::RuntimeNodeEnumItem::description, IDPropertyUIDataEnumItem::description, bNodeSocketValueMenu::enum_items, IDPropertyUIDataInt::enum_items, IDPropertyUIDataInt::enum_items_num, i, IDPropertyUIDataEnumItem::icon, blender::bke::RuntimeNodeEnumItem::identifier, IDPropertyUIDataEnumItem::identifier, IDP_EnumItemsValidate(), blender::Span< T >::index_range(), MEM_calloc_arrayN(), blender::bke::RuntimeNodeEnumItem::name, IDPropertyUIDataEnumItem::name, blender::Span< T >::size(), and IDPropertyUIDataEnumItem::value.
Referenced by id_property_create_from_socket().
| bool blender::nodes::id_property_type_matches_socket | ( | const bNodeTreeInterfaceSocket & | socket, |
| const IDProperty & | property, | ||
| const bool | use_name_for_ids ) |
Definition at line 462 of file geometry_nodes_execute.cc.
References old_id_property_type_matches_socket_convert_to_new().
Referenced by blender::check_property_socket_sync(), draw_interface_panel_as_panel(), draw_property_for_socket(), get_geometry_nodes_input_inference_values(), and initialize_group_input().
|
static |
Definition at line 1597 of file geometry_nodes_lazy_function.cc.
References ignore_zone_bsocket(), and bNodeSocket::typeinfo.
Referenced by ignore_zone_bsocket(), initialize_zone_wrapper(), zone_wrapper_input_name(), and zone_wrapper_output_name().
|
nodiscard |
Performs implicit conversion between socket types. Returns false if the conversion is not possible. In that case, r_to_value is left uninitialized.
Definition at line 539 of file geometry_nodes_lazy_function.cc.
References blender::bke::bNodeSocketType::base_cpp_type, execute_multi_function_on_value_variant(), blender::bke::DataTypeConversions::get_conversion_multi_function(), blender::bke::get_implicit_type_conversions(), blender::bke::DataTypeConversions::is_convertible(), blender::gpu::shader::to_type(), and blender::bke::bNodeSocketType::type.
Referenced by blender::nodes::BundleItemValue::as_socket_value(), evaluate_closure_eagerly(), blender::nodes::LazyFunctionForMutedNode::execute_impl(), and blender::nodes::node_geo_separate_bundle_cc::node_geo_exec().
|
static |
Definition at line 470 of file geometry_nodes_execute.cc.
References BLI_assert, BLI_assert_unreachable, float, blender::bke::SocketValueVariant::From(), GS, i, ID_GR, ID_IM, ID_MA, ID_OB, ID_TE, IDP_array_voidp_get, IDP_bool_get, IDP_DOUBLE, IDP_double_get, IDP_FLOAT, IDP_float_get, IDP_ID_get, IDP_INT, IDP_int_get, IDP_string_get, IDProperty::len, ID::name, SOCK_BOOLEAN, SOCK_COLLECTION, SOCK_FLOAT, SOCK_IMAGE, SOCK_INT, SOCK_MATERIAL, SOCK_MENU, SOCK_OBJECT, SOCK_RGBA, SOCK_ROTATION, SOCK_STRING, SOCK_TEXTURE, SOCK_VECTOR, IDProperty::subtype, texture(), blender::math::to_quaternion(), and IDProperty::type.
Referenced by get_geometry_nodes_input_inference_values(), and initialize_group_input().
|
static |
Definition at line 616 of file geometry_nodes_execute.cc.
References blender::bke::allow_procedural_attribute_access(), blender::bke::bNodeSocketType::base_cpp_type, blender::bke::SocketValueVariant::From(), blender::bke::AttributeFieldInput::from(), blender::bke::bNodeSocketType::get_geometry_nodes_cpp_value, id_property_type_matches_socket(), bNodeTreeInterfaceSocket::identifier, IDP_GetPropertyFromGroup_null(), IDP_string_get, init_socket_cpp_value_from_property(), input_attribute_name_get(), input_has_attribute_toggle(), is_layer_selection_field(), SOCK_CUSTOM, bNodeTreeInterfaceSocket::socket_data, tree, and blender::bke::bNodeSocketType::type.
Referenced by execute_geometry_nodes_on_geometry().
| void blender::nodes::initialize_zone_wrapper | ( | const bNodeTreeZone & | zone, |
| ZoneBuildInfo & | zone_info, | ||
| const ZoneBodyFunction & | body_fn, | ||
| const bool | expose_all_reference_sets, | ||
| Vector< lf::Input > & | r_inputs, | ||
| Vector< lf::Output > & | r_outputs ) |
Definition at line 1609 of file geometry_nodes_lazy_function.cc.
References Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::Vector< T, InlineBufferCapacity, Allocator >::append_and_get_index_as(), blender::nodes::ZoneFunctionIndices::border_link_usages, blender::bke::bNodeTreeZone::border_links, blender::nodes::ZoneFunctionIndices::border_links, bNodeLink::fromsock, blender::CPPType::get(), ignore_zone_bsocket(), blender::nodes::ZoneBodyFunction::indices, blender::nodes::ZoneBuildInfo::indices, initialize_zone_wrapper(), blender::bke::bNodeTreeZone::input_node(), blender::nodes::ZoneFunctionIndices::input_usages, blender::nodes::ZoneFunctionIndices::inputs, Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::items(), blender::nodes::ZoneFunctionIndices::main, blender::fn::lazy_function::Maybe, bNodeSocket::name, blender::bke::bNodeTreeZone::output_node(), blender::nodes::ZoneFunctionIndices::output_usages, blender::nodes::ZoneFunctionIndices::outputs, and blender::nodes::ZoneFunctionIndices::reference_sets.
Referenced by initialize_zone_wrapper(), blender::nodes::LazyFunctionForClosureZone::LazyFunctionForClosureZone(), blender::nodes::LazyFunctionForForeachGeometryElementZone::LazyFunctionForForeachGeometryElementZone(), and blender::nodes::LazyFunctionForRepeatZone::LazyFunctionForRepeatZone().
| bool blender::nodes::inline_shader_node_tree | ( | const bNodeTree & | src_tree, |
| bNodeTree & | dst_tree, | ||
| InlineShaderNodeTreeParams & | params ) |
Definition at line 1419 of file shader_nodes_inline.cc.
References BLI_assert, bNodeLink::flag, bNodeLink::fromsock, bNodeSocket::link, bNodeTree::links, LISTBASE_FOREACH, NODE_LINK_VALID, bNodeTree::nodes, params, bNodeLink::tosock, bNodeSocket::typeinfo, and bNodeTree::typeinfo.
Referenced by add_nodes(), create_from_shader_node_tree(), blender::nodes::materialx::export_to_materialx(), GPU_material_from_nodetree(), and blender::ed::space_node::test_inline_shader_nodes_exec().
| std::optional< StringRef > blender::nodes::input_attribute_name_get | ( | const IDProperty * | properties, |
| const bNodeTreeInterfaceSocket & | io_input ) |
Definition at line 591 of file geometry_nodes_execute.cc.
References bNodeTreeInterfaceSocket::identifier, IDP_bool_get, IDP_BOOLEAN, IDP_GetPropertyFromGroup_null(), IDP_INT, IDP_int_get, IDP_string_get, input_attribute_name_suffix, input_use_attribute_suffix, and IDProperty::type.
Referenced by add_attribute_search_or_value_buttons(), get_geometry_nodes_input_inference_values(), and initialize_group_input().
| bool blender::nodes::input_has_attribute_toggle | ( | const bNodeTree & | node_tree, |
| const int | socket_index ) |
Definition at line 47 of file geometry_nodes_execute.cc.
References BLI_assert, ELEM, blender::nodes::FieldInferencingInterface::inputs, None, bNodeTree::runtime, SOCK_MENU, and blender::bke::bNodeSocketType::type.
Referenced by draw_property_for_socket(), and initialize_group_input().
|
static |
Definition at line 629 of file geometry_nodes_caller_ui.cc.
References interface_panel_affects_output(), NODE_INTERFACE_PANEL, NODE_INTERFACE_SOCKET, NODE_INTERFACE_SOCKET_HIDE_IN_MODIFIER, and NODE_INTERFACE_SOCKET_INPUT.
Referenced by draw_interface_panel_as_panel(), and interface_panel_affects_output().
|
static |
Definition at line 602 of file geometry_nodes_caller_ui.cc.
References bNodeTreeInterfaceSocket::flag, interface_panel_has_socket(), NODE_INTERFACE_PANEL, NODE_INTERFACE_SOCKET, NODE_INTERFACE_SOCKET_HIDE_IN_MODIFIER, and NODE_INTERFACE_SOCKET_INPUT.
Referenced by draw_interface_panel_as_panel(), and interface_panel_has_socket().
|
static |
Definition at line 27 of file trace_values.cc.
Referenced by find_origin_sockets_through_contexts(), find_target_sockets_through_contexts(), and gather_linked_origin_closure_signatures().
|
static |
Definition at line 21 of file trace_values.cc.
References blender::nodes::SocketInContext::owner_node().
Referenced by compute_context_for_closure_evaluation(), find_origin_sockets_through_contexts(), find_target_sockets_through_contexts(), and gather_linked_target_closure_signatures().
|
constexpr |
Definition at line 139 of file NOD_geometry_nodes_bundle.hh.
References blender::is_ImplicitSharingPtr_strong_v.
Referenced by blender::nodes::BundleItemValue::as(), and to_stored_type().
|
static |
Definition at line 40 of file geometry_nodes_bundle.cc.
References blender::StringRefBase::find(), and blender::StringRefBase::not_found.
Referenced by blender::nodes::Bundle::add_new(), blender::nodes::Bundle::contains(), and blender::nodes::Bundle::remove().
|
static |
Definition at line 204 of file geometry_nodes_caller_ui.cc.
References C, data, ED_undo_push(), IDP_AssignString(), and IDP_GetPropertyFromGroup().
Referenced by add_layer_name_search_button().
|
static |
Definition at line 161 of file geometry_nodes_caller_ui.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::Vector< T, InlineBufferCapacity, Allocator >::as_span(), BLI_assert, C, data, blender::ui::grease_pencil_layer_search_add_items(), name, SOCK_GEOMETRY, and str.
Referenced by add_layer_name_search_button().
|
static |
Checks which sockets of the node are available and creates corresponding inputs/outputs on the lazy-function.
Definition at line 80 of file geometry_nodes_lazy_function.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append_and_get_index_as(), blender::CPPType::get(), and blender::fn::lazy_function::Used.
Referenced by blender::nodes::LazyFunctionForGeometryNode::LazyFunctionForGeometryNode(), blender::nodes::LazyFunctionForMultiFunctionNode::LazyFunctionForMultiFunctionNode(), blender::nodes::LazyFunctionForMutedNode::LazyFunctionForMutedNode(), blender::nodes::LazyFunctionForUndefinedNode::LazyFunctionForUndefinedNode(), and blender::nodes::LazyFunctionForViewerNode::LazyFunctionForViewerNode().
| std::string blender::nodes::make_anonymous_attribute_socket_inspection_string | ( | const bNodeSocket & | socket | ) |
Definition at line 417 of file geometry_nodes_lazy_function.cc.
References make_anonymous_attribute_socket_inspection_string(), and bNodeSocket::name.
Referenced by blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_generation_items_group(), blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_main_items_and_geometry(), make_anonymous_attribute_socket_inspection_string(), blender::nodes::node_geo_bake_cc::LazyFunctionForBakeNode::make_attribute_field(), blender::nodes::node_geo_simulation_cc::make_attribute_field(), and blender::nodes::LazyFunctionForGeometryNode::output_anonymous_attribute_field().
| std::string blender::nodes::make_anonymous_attribute_socket_inspection_string | ( | StringRef | node_name, |
| StringRef | socket_name ) |
Definition at line 422 of file geometry_nodes_lazy_function.cc.
References TIP_.
| std::unique_ptr< SocketDeclaration > blender::nodes::make_declaration_for_socket_type | ( | const eNodeSocketDatatype | socket_type | ) |
Definition at line 371 of file node_declaration.cc.
References socket_type_to_static_decl_type().
| void blender::nodes::mix_baked_data_item | ( | eNodeSocketDatatype | socket_type, |
| SocketValueVariant & | prev, | ||
| const SocketValueVariant & | next, | ||
| const float | factor ) |
Definition at line 922 of file node_geo_simulation.cc.
References blender::bke::SocketValueVariant::convert_to_single(), blender::bke::attribute_math::convert_to_static_type(), blender::GPointer::get(), blender::bke::SocketValueVariant::get_single_ptr(), blender::bke::attribute_math::mix2(), blender::geometry::mix_geometries(), next, SOCK_BOOLEAN, SOCK_FLOAT, SOCK_GEOMETRY, SOCK_INT, SOCK_MATRIX, SOCK_RGBA, SOCK_ROTATION, SOCK_VECTOR, blender::bke::socket_type_to_geo_nodes_base_cpp_type(), and T.
Referenced by blender::nodes::node_geo_bake_cc::LazyFunctionForBakeNode::output_mixed_cached_state(), and blender::nodes::node_geo_simulation_cc::sim_output_node::LazyFunctionForSimulationOutputNode::output_mixed_cached_state().
|
static |
Definition at line 170 of file geometry_nodes_dependencies.cc.
Referenced by gather_geometry_nodes_eval_dependencies().
| void blender::nodes::node_can_sync_cache_clear | ( | Main & | bmain | ) |
Definition at line 680 of file sync_sockets.cc.
References bScreen::areabase, BKE_workspace_active_screen_get(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::clear(), ListBase::first, LISTBASE_FOREACH, node_can_sync_cache_clear(), blender::ed::space_node::node_can_sync_cache_get(), SpaceNode::runtime, SPACE_NODE, SpaceLink::spacetype, and Main::wm.
Referenced by node_can_sync_cache_clear(), and blender::bke::NodeTreeMainUpdater::update_rooted().
| bool blender::nodes::node_can_sync_sockets | ( | const bContext & | C, |
| const bNodeTree & | tree, | ||
| const bNode & | node ) |
Access (cached) information of whether a specific node can be synced currently.
Definition at line 655 of file sync_sockets.cc.
References C, CTX_wm_space_node(), bNode::identifier, if(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add_cb(), and blender::ed::space_node::node_can_sync_cache_get().
Referenced by blender::ed::space_node::node_draw_basis().
| void blender::nodes::node_geo_exec_with_missing_openvdb | ( | GeoNodeExecParams & | params | ) |
Definition at line 107 of file node_geometry_util.cc.
References Error, params, and TIP_.
Referenced by blender::nodes::node_geo_distribute_points_in_grid_cc::node_geo_exec(), blender::nodes::node_geo_distribute_points_in_volume_cc::node_geo_exec(), blender::nodes::node_geo_field_to_grid_cc::node_geo_exec(), blender::nodes::node_geo_get_named_grid_cc::node_geo_exec(), blender::nodes::node_geo_grid_advect_cc::node_geo_exec(), blender::nodes::node_geo_grid_curl_cc::node_geo_exec(), blender::nodes::node_geo_grid_divergence_cc::node_geo_exec(), blender::nodes::node_geo_grid_gradient_cc::node_geo_exec(), blender::nodes::node_geo_grid_info_cc::node_geo_exec(), blender::nodes::node_geo_grid_laplacian_cc::node_geo_exec(), blender::nodes::node_geo_grid_prune_cc::node_geo_exec(), blender::nodes::node_geo_grid_to_mesh_cc::node_geo_exec(), blender::nodes::node_geo_grid_voxelize_cc::node_geo_exec(), blender::nodes::node_geo_import_vdb::node_geo_exec(), blender::nodes::node_geo_input_voxel_index_cc::node_geo_exec(), blender::nodes::node_geo_mesh_to_density_grid_cc::node_geo_exec(), blender::nodes::node_geo_mesh_to_sdf_grid_cc::node_geo_exec(), blender::nodes::node_geo_mesh_to_volume_cc::node_geo_exec(), blender::nodes::node_geo_points_to_sdf_grid_cc::node_geo_exec(), blender::nodes::node_geo_points_to_volume_cc::node_geo_exec(), blender::nodes::node_geo_sample_grid_cc::node_geo_exec(), blender::nodes::node_geo_sample_grid_index_cc::node_geo_exec(), blender::nodes::node_geo_sdf_grid_boolean_cc::node_geo_exec(), blender::nodes::node_geo_sdf_grid_fillet_cc::node_geo_exec(), blender::nodes::node_geo_sdf_grid_laplacian_cc::node_geo_exec(), blender::nodes::node_geo_sdf_grid_mean_cc::node_geo_exec(), blender::nodes::node_geo_sdf_grid_mean_curvature_cc::node_geo_exec(), blender::nodes::node_geo_sdf_grid_median_cc::node_geo_exec(), blender::nodes::node_geo_sdf_grid_offset_cc::node_geo_exec(), blender::nodes::node_geo_set_grid_background::node_geo_exec(), blender::nodes::node_geo_set_grid_transform::node_geo_exec(), blender::nodes::node_geo_store_named_grid_cc::node_geo_exec(), blender::nodes::node_geo_volume_cube_cc::node_geo_exec(), and blender::nodes::node_geo_volume_to_mesh_cc::node_geo_exec().
| void blender::nodes::node_geo_exec_with_too_old_openvdb | ( | GeoNodeExecParams & | params | ) |
Definition at line 114 of file node_geometry_util.cc.
References Error, params, and TIP_.
Referenced by blender::nodes::node_geo_sdf_grid_fillet_cc::node_geo_exec().
| void blender::nodes::node_geo_sdf_grid_error_not_levelset | ( | GeoNodeExecParams & | params | ) |
Definition at line 43 of file node_geometry_util.cc.
Referenced by blender::nodes::node_geo_sdf_grid_fillet_cc::node_geo_exec(), blender::nodes::node_geo_sdf_grid_laplacian_cc::node_geo_exec(), blender::nodes::node_geo_sdf_grid_mean_cc::node_geo_exec(), blender::nodes::node_geo_sdf_grid_mean_curvature_cc::node_geo_exec(), blender::nodes::node_geo_sdf_grid_median_cc::node_geo_exec(), and blender::nodes::node_geo_sdf_grid_offset_cc::node_geo_exec().
| void blender::nodes::node_group_declare | ( | NodeDeclarationBuilder & | b | ) |
Definition at line 457 of file node_common.cc.
References blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), b, ELEM, i, bNode::id, bNodeTree::id, ID_IS_LINKED, ID_TAG_MISSING, blender::nodes::FieldInferencingInterface::inputs, blender::nodes::NodeDeclaration::inputs, inputs, node_group_declare_panel_recursive(), NTREE_COMPOSIT, NTREE_GEOMETRY, blender::nodes::FieldInferencingInterface::outputs, blender::nodes::NodeDeclaration::outputs, outputs, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::reserve(), bNodeTreeInterface::root_panel, bNodeTree::runtime, blender::nodes::NodeDeclaration::skip_updating_sockets, ID::tag, bNodeTree::tree_interface, bNodeTree::type, and blender::nodes::NodeDeclaration::use_custom_socket_order.
Referenced by register_node_type_cmp_custom_group(), register_node_type_cmp_group(), register_node_type_geo_custom_group(), register_node_type_geo_group(), register_node_type_sh_custom_group(), register_node_type_sh_group(), and register_node_type_tex_group().
|
static |
Definition at line 409 of file node_common.cc.
References b, build_interface_socket_declaration(), blender::bke::node_interface::get_item_as(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_try(), node_group_declare_panel_recursive(), NODE_INTERFACE_PANEL, NODE_INTERFACE_PANEL_DEFAULT_CLOSED, NODE_INTERFACE_SOCKET, NODE_INTERFACE_SOCKET_INPUT, SOCK_IN, SOCK_OUT, and bNode::typeinfo.
Referenced by node_group_declare(), and node_group_declare_panel_recursive().
|
static |
Definition at line 880 of file node_common.cc.
References C, blender::ed::space_node::node_tree_interface_draw(), and ptr.
Referenced by register_node_type_group_input().
|
static |
Definition at line 885 of file node_common.cc.
References C, blender::ed::space_node::node_tree_interface_draw(), and ptr.
Referenced by register_node_type_group_output().
| void blender::nodes::node_math_build_multi_function | ( | NodeMultiFunctionBuilder & | builder | ) |
Definition at line 73 of file math_functions.cc.
References blender::nodes::NodeMultiFunctionBuilder::construct_and_set_matching_fn(), bNode::custom2, get_base_multi_function(), blender::nodes::NodeMultiFunctionBuilder::node(), and blender::nodes::NodeMultiFunctionBuilder::set_matching_fn().
Referenced by register_node_type_sh_math().
| int blender::nodes::node_warning_type_icon | ( | const NodeWarningType | type | ) |
Definition at line 10 of file geometry_nodes_warning.cc.
References BLI_assert_unreachable, Error, Info, and Warning.
Referenced by blender::ed::space_node::node_add_error_message_button().
| int blender::nodes::node_warning_type_severity | ( | const NodeWarningType | type | ) |
Definition at line 24 of file geometry_nodes_warning.cc.
References BLI_assert_unreachable, Error, Info, and Warning.
|
static |
Check if the given old_property property type is compatible with the given socket type. E.g. a SOCK_FLOAT socket can use data from IDP_FLOAT, IDP_INT and IDP_DOUBLE ID-properties.
If new_property is given, it is expected to be of the 'perfect match' type with the given socket (see id_property_create_from_socket), and its value will be set from the value of old_property, if possible.
Definition at line 363 of file geometry_nodes_execute.cc.
References BLI_assert, BLI_assert_unreachable, IDProperty::data, bNodeSocketValueVector::dimensions, ELEM, id_us_plus(), IDP_bool_get, IDP_bool_set, IDP_BOOLEAN, IDP_DOUBLE, IDP_double_get, IDP_FLOAT, IDP_float_get, IDP_float_set, IDP_ID, IDP_ID_get, IDP_INT, IDP_int_get, is_layer_selection_field(), old_id_property_type_matches_socket_convert_to_new_float_vec(), old_id_property_type_matches_socket_convert_to_new_int(), old_id_property_type_matches_socket_convert_to_new_string(), IDPropertyData::pointer, SOCK_BOOLEAN, SOCK_BUNDLE, SOCK_CLOSURE, SOCK_COLLECTION, SOCK_CUSTOM, SOCK_FLOAT, SOCK_GEOMETRY, SOCK_IMAGE, SOCK_INT, SOCK_MATERIAL, SOCK_MATRIX, SOCK_MENU, SOCK_OBJECT, SOCK_RGBA, SOCK_ROTATION, SOCK_SHADER, SOCK_STRING, SOCK_TEXTURE, SOCK_VECTOR, bNodeTreeInterfaceSocket::socket_data, blender::bke::bNodeSocketType::type, and IDProperty::type.
Referenced by id_property_type_matches_socket(), and update_input_properties_from_node_tree().
|
static |
Definition at line 285 of file geometry_nodes_execute.cc.
References BLI_assert, IDProperty::data, ELEM, float, i, IDP_ARRAY, IDP_array_double_get, IDP_array_float_get, IDP_array_int_get, IDP_DOUBLE, IDP_FLOAT, IDP_INT, IDProperty::len, len, IDPropertyData::pointer, IDProperty::subtype, and IDProperty::type.
Referenced by old_id_property_type_matches_socket_convert_to_new().
|
static |
Definition at line 272 of file geometry_nodes_execute.cc.
References BLI_assert, IDP_INT, IDP_int_get, IDP_int_set, and IDProperty::type.
Referenced by old_id_property_type_matches_socket_convert_to_new().
|
static |
Definition at line 342 of file geometry_nodes_execute.cc.
References BLI_assert, IDP_AssignString(), IDP_STRING, IDP_string_get, IDP_STRING_SUB_UTF8, IDProperty::subtype, and IDProperty::type.
Referenced by old_id_property_type_matches_socket_convert_to_new().
| bool blender::nodes::operator!= | ( | const BundleSignature & | a, |
| const BundleSignature & | b ) |
Definition at line 22 of file geometry_nodes_bundle.cc.
| bool blender::nodes::operator!= | ( | const ClosureSignature & | a, |
| const ClosureSignature & | b ) |
Definition at line 49 of file geometry_nodes_closure.cc.
| bool blender::nodes::operator== | ( | const BundleSignature & | a, |
| const BundleSignature & | b ) |
Definition at line 17 of file geometry_nodes_bundle.cc.
| bool blender::nodes::operator== | ( | const ClosureSignature & | a, |
| const ClosureSignature & | b ) |
Definition at line 44 of file geometry_nodes_closure.cc.
|
static |
Definition at line 498 of file node_socket.cc.
References blender::nodes::NodeDeclaration::matches(), blender::bke::node_socket_declarations_update(), refresh_node_sockets_and_panels(), and blender::nodes::NodeDeclaration::skip_updating_sockets.
Referenced by update_node_declaration_and_sockets().
|
static |
Definition at line 250 of file node_socket.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::begin(), blender::nodes::PanelDeclaration::build(), i, blender::nodes::PanelDeclaration::identifier, bNodePanelState::identifier, blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), blender::nodes::PanelDeclaration::matches(), blender::Vector< T, InlineBufferCapacity, Allocator >::remove_and_reorder(), and blender::nodes::PanelDeclaration::update_or_build().
Referenced by refresh_node_sockets_and_panels().
|
static |
Definition at line 185 of file node_socket.cc.
References blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), BKE_ntree_update_tag_socket_new(), blender::nodes::SocketDeclaration::build(), bNodeSocket::flag, bNodeLink::fromsock, i, blender::nodes::SocketDeclaration::identifier, bNodeSocket::identifier, blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), bNodeTree::links, LISTBASE_FOREACH, blender::nodes::SocketDeclaration::matches(), blender::nodes::SocketDeclaration::name, bNodeSocket::name, blender::Vector< T, InlineBufferCapacity, Allocator >::remove_and_reorder(), bNode::runtime, SET_FLAG_FROM_TEST, SOCK_HIDDEN, STRNCPY_UTF8, bNodeLink::tosock, and blender::nodes::SocketDeclaration::update_or_build().
Referenced by refresh_node_sockets_and_panels().
|
static |
Definition at line 415 of file node_socket.cc.
References blender::nodes::NodeDeclaration::all_items, blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BLI_addtail(), BLI_listbase_clear(), blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), do_forward_compat_versioning(), hide_new_group_input_sockets(), bNode::inputs, LISTBASE_FOREACH, LISTBASE_FOREACH_MUTABLE, MEM_calloc_arrayN(), MEM_SAFE_FREE, blender::bke::node_remove_socket_ex(), bNode::num_panel_states, bNode::outputs, bNode::panel_states_array, refresh_node_panel(), refresh_node_socket(), bNode::runtime, and SOCK_IN.
Referenced by refresh_node().
|
static |
Definition at line 17 of file node_geo_common.cc.
References BLI_assert, blender::bke::bNodeType::declare, blender::bke::bNodeType::enum_name_legacy, geo_node_poll_default(), GROUP_NODE_DEFAULT_WIDTH, GROUP_NODE_MAX_WIDTH, GROUP_NODE_MIN_WIDTH, blender::bke::bNodeType::insert_link, blender::bke::bNodeType::labelfunc, NODE_CLASS_GROUP, NODE_GROUP, node_group_declare(), node_group_label(), node_group_poll_instance(), node_group_ui_class(), node_group_ui_description(), node_insert_link_default(), blender::bke::node_register_type(), blender::bke::node_type_base_custom(), blender::bke::node_type_size(), blender::bke::bNodeType::poll, blender::bke::bNodeType::poll_instance, blender::bke::bNodeType::rna_ext, RNA_struct_blender_type_set(), RNA_struct_find(), ExtensionRNA::srna, blender::bke::bNodeType::type_legacy, blender::bke::bNodeType::ui_class, and blender::bke::bNodeType::ui_description_fn.
| void blender::nodes::report_from_multi_function | ( | const mf::Context & | context, |
| NodeWarningType | type, | ||
| std::string | message ) |
Report an error from a multi-function evaluation within a Geometry Nodes evaluation.
NOTE: Currently, this the error is only actually reported under limited circumstances. It's still safe to call this function from any multi-function though.
Definition at line 1524 of file geometry_nodes_lazy_function.cc.
References blender::nodes::geo_eval_log::GeoTreeLogger::allocator, log, blender::nodes::geo_eval_log::GeoTreeLogger::node_warnings, blender::ComputeContext::parent(), and report_from_multi_function().
Referenced by blender::nodes::node_fn_format_string_cc::FormatStringMultiFunction::call(), and report_from_multi_function().
|
static |
Definition at line 23 of file node_declaration.cc.
Referenced by build_node_declaration().
| PropertyRNA * blender::nodes::RNA_def_node_boolean | ( | StructRNA * | srna, |
| const char * | identifier, | ||
| const char * | ui_name, | ||
| const char * | ui_description, | ||
| const BooleanRNAAccessors | accessors, | ||
| std::optional< bool > | default_value, | ||
| bool | allow_animation ) |
Definition at line 54 of file node_rna_define.cc.
References blender::nodes::BooleanRNAAccessors::getter, NA_EDITED, NC_NODE, PROP_ANIMATABLE, PROP_BOOLEAN, PROP_NONE, RNA_def_property(), RNA_def_property_boolean_default(), RNA_def_property_boolean_funcs_runtime(), RNA_def_property_clear_flag(), RNA_def_property_ui_text(), RNA_def_property_update_notifier(), RNA_def_property_update_runtime(), rna_Node_socket_update(), and blender::nodes::BooleanRNAAccessors::setter.
Referenced by blender::nodes::node_geo_curve_resample_cc::node_rna().
| PropertyRNA * blender::nodes::RNA_def_node_enum | ( | StructRNA * | srna, |
| const char * | identifier, | ||
| const char * | ui_name, | ||
| const char * | ui_description, | ||
| const EnumPropertyItem * | static_items, | ||
| const EnumRNAAccessors | accessors, | ||
| std::optional< int > | default_value, | ||
| const EnumPropertyItemFunc | item_func, | ||
| const bool | allow_animation ) |
Definition at line 25 of file node_rna_define.cc.
References blender::nodes::EnumRNAAccessors::getter, NA_EDITED, NC_NODE, PROP_ANIMATABLE, PROP_ENUM, PROP_NONE, RNA_def_property(), RNA_def_property_clear_flag(), RNA_def_property_enum_default(), RNA_def_property_enum_funcs_runtime(), RNA_def_property_enum_items(), RNA_def_property_ui_text(), RNA_def_property_update_notifier(), RNA_def_property_update_runtime(), rna_Node_socket_update(), rna_Node_update(), and blender::nodes::EnumRNAAccessors::setter.
Referenced by blender::nodes::node_composite_relative_to_pixel_cc::node_rna(), blender::nodes::node_fn_align_euler_to_vector_cc::node_rna(), blender::nodes::node_fn_align_rotation_to_vector_cc::node_rna(), blender::nodes::node_fn_axes_to_rotation_cc::node_rna(), blender::nodes::node_fn_bit_math_cc::node_rna(), blender::nodes::node_fn_boolean_math_cc::node_rna(), blender::nodes::node_fn_combine_color_cc::node_rna(), blender::nodes::node_fn_compare_cc::node_rna(), blender::nodes::node_fn_hash_value_cc::node_rna(), blender::nodes::node_fn_integer_math_cc::node_rna(), blender::nodes::node_fn_rotate_rotation_cc::node_rna(), blender::nodes::node_fn_separate_color_cc::node_rna(), blender::nodes::node_fn_string_to_value_cc::node_rna(), blender::nodes::node_fn_value_to_string_cc::node_rna(), blender::nodes::node_geo_accumulate_field_cc::node_rna(), blender::nodes::node_geo_attribute_domain_size_cc::node_rna(), blender::nodes::node_geo_attribute_statistic_cc::node_rna(), blender::nodes::node_geo_blur_attribute_cc::node_rna(), blender::nodes::node_geo_boolean_cc::node_rna(), blender::nodes::node_geo_collection_info_cc::node_rna(), blender::nodes::node_geo_curve_primitive_arc_cc::node_rna(), blender::nodes::node_geo_curve_primitive_bezier_segment_cc::node_rna(), blender::nodes::node_geo_curve_primitive_circle_cc::node_rna(), blender::nodes::node_geo_curve_primitive_line_cc::node_rna(), blender::nodes::node_geo_curve_primitive_quadrilateral_cc::node_rna(), blender::nodes::node_geo_curve_spline_type_cc::node_rna(), blender::nodes::node_geo_curve_to_points_cc::node_rna(), blender::nodes::node_geo_curve_trim_cc::node_rna(), blender::nodes::node_geo_delete_geometry_cc::node_rna(), blender::nodes::node_geo_distribute_points_in_grid_cc::node_rna(), blender::nodes::node_geo_duplicate_elements_cc::node_rna(), blender::nodes::node_geo_enable_output_cc::node_rna(), blender::nodes::node_geo_evaluate_at_index_cc::node_rna(), blender::nodes::node_geo_evaluate_on_domain_cc::node_rna(), blender::nodes::node_geo_extrude_mesh_cc::node_rna(), blender::nodes::node_geo_field_average_cc::node_rna(), blender::nodes::node_geo_field_min_and_max_cc::node_rna(), blender::nodes::node_geo_field_variance_cc::node_rna(), blender::nodes::node_geo_get_named_grid_cc::node_rna(), blender::nodes::node_geo_gizmo_dial_cc::node_rna(), blender::nodes::node_geo_gizmo_linear_cc::node_rna(), blender::nodes::node_geo_grease_pencil_set_depth_mode::node_rna(), blender::nodes::node_geo_grid_advect_cc::node_rna(), blender::nodes::node_geo_grid_info_cc::node_rna(), blender::nodes::node_geo_grid_prune_cc::node_rna(), blender::nodes::node_geo_grid_voxelize_cc::node_rna(), blender::nodes::node_geo_index_switch_cc::node_rna(), blender::nodes::node_geo_input_named_attribute_cc::node_rna(), blender::nodes::node_geo_list_cc::node_rna(), blender::nodes::node_geo_list_get_item_cc::node_rna(), blender::nodes::node_geo_list_length_cc::node_rna(), blender::nodes::node_geo_menu_switch_cc::node_rna(), blender::nodes::node_geo_merge_layers_cc::node_rna(), blender::nodes::node_geo_mesh_primitive_circle_cc::node_rna(), blender::nodes::node_geo_mesh_primitive_cone_cc::node_rna(), blender::nodes::node_geo_mesh_primitive_cylinder_cc::node_rna(), blender::nodes::node_geo_mesh_primitive_line_cc::node_rna(), blender::nodes::node_geo_mesh_to_curve_cc::node_rna(), blender::nodes::node_geo_mesh_to_points_cc::node_rna(), blender::nodes::node_geo_object_info_cc::node_rna(), blender::nodes::node_geo_proximity_cc::node_rna(), blender::nodes::node_geo_raycast_cc::node_rna(), blender::nodes::node_geo_sample_grid_cc::node_rna(), blender::nodes::node_geo_sample_grid_index_cc::node_rna(), blender::nodes::node_geo_sample_nearest_cc::node_rna(), blender::nodes::node_geo_sample_nearest_surface_cc::node_rna(), blender::nodes::node_geo_sample_uv_surface_cc::node_rna(), blender::nodes::node_geo_scale_elements_cc::node_rna(), blender::nodes::node_geo_sdf_grid_boolean_cc::node_rna(), blender::nodes::node_geo_separate_geometry_cc::node_rna(), blender::nodes::node_geo_set_curve_handles_cc::node_rna(), blender::nodes::node_geo_set_grease_pencil_color_cc::node_rna(), blender::nodes::node_geo_set_grid_background::node_rna(), blender::nodes::node_geo_set_grid_transform::node_rna(), blender::nodes::node_geo_set_mesh_normal_cc::node_rna(), blender::nodes::node_geo_set_shade_smooth_cc::node_rna(), blender::nodes::node_geo_sort_elements_cc::node_rna(), blender::nodes::node_geo_split_to_instances_cc::node_rna(), blender::nodes::node_geo_store_named_attribute_cc::node_rna(), blender::nodes::node_geo_store_named_grid_cc::node_rna(), blender::nodes::node_geo_switch_cc::node_rna(), blender::nodes::node_geo_tool_active_element_cc::node_rna(), blender::nodes::node_geo_tool_set_selection_cc::node_rna(), and blender::nodes::node_geo_warning_cc::node_rna().
| void blender::nodes::search_link_ops_for_basic_node | ( | GatherLinkSearchOpParams & | params | ) |
This callback can be used for a node type when a few things are true about its inputs. To avoid creating more boilerplate, it is the default callback for node types.
If a node type does not meet these criteria, the function will do nothing in a release build. In a debug build, an assert will most likely be hit.
Definition at line 167 of file socket_search_link.cc.
References params, search_link_ops_for_declarations(), blender::nodes::NodeDeclaration::sockets(), and blender::bke::bNodeType::static_declaration.
Referenced by cmp_node_type_base(), common_node_type_base(), fn_node_type_base(), geo_cmp_node_type_base(), geo_node_type_base(), search_link_ops_for_tool_node(), sh_geo_node_type_base(), and sh_node_type_base().
| void blender::nodes::search_link_ops_for_declarations | ( | GatherLinkSearchOpParams & | params, |
| Span< SocketDeclaration * > | declarations ) |
Definition at line 122 of file socket_search_link.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::nodes::SocketDeclaration::can_connect(), i, IFACE_, blender::Span< T >::index_range(), blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), blender::nodes::SocketDeclaration::is_default_link_socket, blender::nodes::SocketDeclaration::name, and params.
Referenced by blender::nodes::node_fn_random_value_cc::node_gather_link_search_ops(), blender::nodes::node_geo_accumulate_field_cc::node_gather_link_searches(), blender::nodes::node_geo_attribute_statistic_cc::node_gather_link_searches(), blender::nodes::node_geo_blur_attribute_cc::node_gather_link_searches(), blender::nodes::node_geo_curve_primitive_quadrilateral_cc::node_gather_link_searches(), blender::nodes::node_geo_curve_sample_cc::node_gather_link_searches(), blender::nodes::node_geo_curve_trim_cc::node_gather_link_searches(), blender::nodes::node_geo_field_average_cc::node_gather_link_searches(), blender::nodes::node_geo_field_min_and_max_cc::node_gather_link_searches(), blender::nodes::node_geo_field_variance_cc::node_gather_link_searches(), blender::nodes::node_geo_input_named_attribute_cc::node_gather_link_searches(), blender::nodes::node_geo_mesh_primitive_line_cc::node_gather_link_searches(), blender::nodes::node_geo_raycast_cc::node_gather_link_searches(), blender::nodes::node_geo_sample_index_cc::node_gather_link_searches(), blender::nodes::node_geo_sample_nearest_surface_cc::node_gather_link_searches(), blender::nodes::node_geo_sample_uv_surface_cc::node_gather_link_searches(), blender::nodes::node_geo_store_named_attribute_cc::node_gather_link_searches(), blender::nodes::node_shader_tex_sky_cc::node_gather_link_searches(), and search_link_ops_for_basic_node().
| void blender::nodes::search_link_ops_for_tool_node | ( | GatherLinkSearchOpParams & | params | ) |
Definition at line 36 of file node_geometry_util.cc.
References params, search_link_ops_for_basic_node(), and SNODE_GEOMETRY_TOOL.
Referenced by blender::nodes::node_geo_mouse_position_cc::node_register(), blender::nodes::node_geo_tool_3d_cursor_cc::node_register(), blender::nodes::node_geo_tool_active_element_cc::node_register(), blender::nodes::node_geo_tool_face_set_cc::node_register(), blender::nodes::node_geo_tool_selection_cc::node_register(), blender::nodes::node_geo_tool_set_face_set_cc::node_register(), blender::nodes::node_geo_tool_set_selection_cc::node_register(), and blender::nodes::node_geo_viewport_transform_cc::node_register().
| void blender::nodes::set_default_remaining_node_outputs | ( | lf::Params & | params, |
| const bNode & | node ) |
Outputs the default value of each output socket that has not been output yet. This needs the bNode because otherwise the default values for the outputs are not known. The lazy-function parameters do not differentiate between e.g. float and vector sockets. The SocketValueVariant type is used for both.
Definition at line 400 of file geometry_nodes_lazy_function.cc.
References params, bNodeTree::runtime, and set_default_value_for_output_socket().
Referenced by blender::nodes::LazyFunctionForGizmoNode::execute_impl(), blender::nodes::LazyFunctionForMultiFunctionNode::execute_impl(), blender::nodes::LazyFunctionForUndefinedNode::execute_impl(), blender::nodes::node_geo_enable_output_cc::LazyFunctionForEnableOutputNode::execute_impl(), blender::nodes::node_geo_index_switch_cc::LazyFunctionForIndexSwitchNode::execute_single(), blender::nodes::node_geo_menu_switch_cc::LazyFunctionForMenuSwitchNode::execute_single(), blender::nodes::node_geo_bake_cc::LazyFunctionForBakeNode::set_default_outputs(), blender::nodes::node_geo_simulation_cc::sim_input_node::LazyFunctionForSimulationInputNode::set_default_outputs(), blender::nodes::node_geo_simulation_cc::sim_output_node::LazyFunctionForSimulationOutputNode::set_default_outputs(), and blender::nodes::GeoNodeExecParams::set_default_remaining_outputs().
| void blender::nodes::set_default_value_for_output_socket | ( | lf::Params & | params, |
| const int | lf_index, | ||
| const bNodeSocket & | bsocket ) |
Definition at line 391 of file geometry_nodes_lazy_function.cc.
References construct_socket_default_value(), params, and bNodeSocket::typeinfo.
Referenced by blender::nodes::LazyFunctionForMutedNode::execute_impl(), blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_generation_items_group_lazyness(), blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_invalid_generation_items(), blender::nodes::LazyFunctionForEvaluateClosureNode::set_default_outputs(), and set_default_remaining_node_outputs().
|
static |
Definition at line 28 of file geometry_nodes_list.cc.
References data, blender::implicit_sharing::info_for_mem_free(), blender::CPPType::is_trivially_destructible, and size().
Referenced by blender::nodes::List::ArrayData::ForConstructed(), blender::nodes::List::ArrayData::ForUninitialized(), and blender::nodes::List::ArrayData::ForValue().
|
static |
Definition at line 98 of file geometry_nodes_list.cc.
References data, blender::implicit_sharing::info_for_mem_free(), and blender::CPPType::is_trivially_destructible.
Referenced by blender::nodes::List::SingleData::ForValue().
| bool blender::nodes::should_log_socket_values_for_context | ( | const GeoNodesUserData & | user_data, |
| const ComputeContextHash | hash ) |
Definition at line 1076 of file geometry_nodes_lazy_function.cc.
References blender::nodes::GeoNodesUserData::call_data, hash, blender::nodes::GeoNodesCallData::operator_data, should_log_socket_values_for_context(), and blender::nodes::GeoNodesCallData::socket_log_contexts.
Referenced by blender::nodes::LazyFunctionForGroupNode::execute_impl(), blender::nodes::LazyFunctionForSimulationZone::execute_impl(), blender::nodes::ForeachGeometryElementNodeExecuteWrapper::execute_node(), blender::nodes::RepeatBodyNodeExecuteWrapper::execute_node(), and should_log_socket_values_for_context().
| bool blender::nodes::socket_type_always_single | ( | const eNodeSocketDatatype | socket_type | ) |
Definition at line 543 of file node_socket.cc.
References SOCK_BOOLEAN, SOCK_BUNDLE, SOCK_CLOSURE, SOCK_COLLECTION, SOCK_CUSTOM, SOCK_FLOAT, SOCK_GEOMETRY, SOCK_IMAGE, SOCK_INT, SOCK_MATERIAL, SOCK_MATRIX, SOCK_MENU, SOCK_OBJECT, SOCK_RGBA, SOCK_ROTATION, SOCK_SHADER, SOCK_STRING, SOCK_TEXTURE, and SOCK_VECTOR.
Referenced by blender::bke::node_structure_type_inferencing::calc_structure_type_interface(), blender::bke::node_structure_type_inferencing::init_input_requirements(), blender::nodes::node_geo_index_switch_cc::node_declare(), blender::nodes::node_geo_menu_switch_cc::node_declare(), blender::nodes::node_geo_switch_cc::node_declare(), blender::nodes::node_geo_closure_cc::node_layout_ex(), blender::nodes::node_geo_combine_bundle_cc::node_layout_ex(), blender::nodes::node_geo_evaluate_closure_cc::node_layout_ex(), and blender::nodes::node_geo_separate_bundle_cc::node_layout_ex().
| bool blender::nodes::socket_type_has_attribute_toggle | ( | eNodeSocketDatatype | type | ) |
Definition at line 42 of file geometry_nodes_execute.cc.
References socket_type_supports_fields().
Referenced by draw_output_attributes_panel(), find_output_attributes_to_store(), has_output_attribute(), update_input_properties_from_node_tree(), and update_output_properties_from_node_tree().
|
inline |
Definition at line 119 of file NOD_geometry_nodes_bundle.hh.
References BLI_assert, blender::bke::geo_nodes_base_cpp_type_to_socket_type(), blender::CPPType::get(), blender::fn::is_field_v, and blender::bke::node_socket_type_find_static().
Referenced by blender::nodes::BundleItemValue::as(), and to_stored_type().
|
inline |
Definition at line 13 of file NOD_geo_bundle.hh.
References ELEM, NTREE_GEOMETRY, NTREE_SHADER, SOCK_BOOLEAN, SOCK_BUNDLE, SOCK_CLOSURE, SOCK_COLLECTION, SOCK_FLOAT, SOCK_GEOMETRY, SOCK_IMAGE, SOCK_INT, SOCK_MATERIAL, SOCK_MATRIX, SOCK_OBJECT, SOCK_RGBA, SOCK_ROTATION, SOCK_SHADER, SOCK_STRING, and SOCK_VECTOR.
Referenced by blender::nodes::CombineBundleItemsAccessor::supports_socket_type(), and blender::nodes::SeparateBundleItemsAccessor::supports_socket_type().
|
inline |
Definition at line 13 of file NOD_geo_closure.hh.
References ELEM, NTREE_GEOMETRY, NTREE_SHADER, SOCK_BOOLEAN, SOCK_BUNDLE, SOCK_CLOSURE, SOCK_COLLECTION, SOCK_FLOAT, SOCK_GEOMETRY, SOCK_IMAGE, SOCK_INT, SOCK_MATERIAL, SOCK_MATRIX, SOCK_OBJECT, SOCK_RGBA, SOCK_ROTATION, SOCK_SHADER, SOCK_STRING, and SOCK_VECTOR.
Referenced by blender::nodes::ClosureInputItemsAccessor::supports_socket_type(), blender::nodes::ClosureOutputItemsAccessor::supports_socket_type(), blender::nodes::EvaluateClosureInputItemsAccessor::supports_socket_type(), and blender::nodes::EvaluateClosureOutputItemsAccessor::supports_socket_type().
| bool blender::nodes::socket_type_supports_default_input_type | ( | const bke::bNodeSocketType & | socket_type, |
| const NodeDefaultInputType | input_type ) |
Definition at line 1098 of file node_declaration.cc.
References NODE_DEFAULT_INPUT_HANDLE_LEFT_FIELD, NODE_DEFAULT_INPUT_HANDLE_RIGHT_FIELD, NODE_DEFAULT_INPUT_ID_INDEX_FIELD, NODE_DEFAULT_INPUT_INDEX_FIELD, NODE_DEFAULT_INPUT_INSTANCE_TRANSFORM_FIELD, NODE_DEFAULT_INPUT_NORMAL_FIELD, NODE_DEFAULT_INPUT_POSITION_FIELD, NODE_DEFAULT_INPUT_VALUE, SOCK_INT, SOCK_MATRIX, SOCK_VECTOR, and blender::bke::bNodeSocketType::type.
Referenced by blender::bke::node_interface::item_types::item_read_data().
| bool blender::nodes::socket_type_supports_fields | ( | const eNodeSocketDatatype | socket_type | ) |
Definition at line 525 of file node_socket.cc.
References ELEM, SOCK_BOOLEAN, SOCK_FLOAT, SOCK_INT, SOCK_MATRIX, SOCK_MENU, SOCK_RGBA, SOCK_ROTATION, and SOCK_VECTOR.
Referenced by blender::bke::node_tree_reference_lifetimes::can_contain_reference(), blender::bke::node_field_inferencing::determine_group_input_states(), blender::nodes::node_geo_bake_cc::draw_bake_items(), blender::nodes::node_geo_simulation_cc::draw_simulation_state(), blender::bke::node_field_inferencing::is_field_socket_type(), blender::nodes::node_geo_index_switch_cc::LazyFunctionForIndexSwitchNode::LazyFunctionForIndexSwitchNode(), blender::nodes::node_geo_menu_switch_cc::LazyFunctionForMenuSwitchNode::LazyFunctionForMenuSwitchNode(), blender::nodes::node_geo_switch_cc::LazyFunctionForSwitchNode::LazyFunctionForSwitchNode(), blender::nodes::node_geo_viewer_cc::log_viewer_attribute(), blender::nodes::node_geo_bake_cc::node_declare(), blender::nodes::node_geo_enable_output_cc::node_declare(), blender::nodes::node_geo_index_switch_cc::node_declare(), blender::nodes::node_geo_menu_switch_cc::node_declare(), blender::nodes::node_geo_repeat_cc::repeat_input_node::node_declare(), blender::nodes::node_geo_repeat_cc::repeat_output_node::node_declare(), blender::nodes::node_geo_simulation_cc::sim_input_node::node_declare(), blender::nodes::node_geo_simulation_cc::sim_output_node::node_declare(), blender::nodes::node_geo_switch_cc::node_declare(), blender::nodes::node_geo_viewer_cc::node_declare(), blender::nodes::node_geo_viewer_cc::node_layout(), blender::nodes::node_geo_list_cc::node_rna(), blender::nodes::node_geo_list_get_item_cc::node_rna(), blender::nodes::node_geo_list_length_cc::node_rna(), blender::ed::space_node::node_tree_interface_draw(), socket_type_has_attribute_toggle(), and blender::ed::space_node::std_node_socket_interface_draw().
| bool blender::nodes::socket_type_supports_grids | ( | const eNodeSocketDatatype | socket_type | ) |
Definition at line 538 of file node_socket.cc.
References ELEM, SOCK_BOOLEAN, SOCK_FLOAT, SOCK_INT, and SOCK_VECTOR.
Referenced by grid_socket_type_items_filter_fn(), blender::ed::space_node::std_node_socket_interface_draw(), and blender::nodes::FieldToGridItemsAccessor::supports_socket_type().
|
static |
Definition at line 312 of file node_declaration.cc.
References SOCK_BOOLEAN, SOCK_BUNDLE, SOCK_CLOSURE, SOCK_COLLECTION, SOCK_FLOAT, SOCK_GEOMETRY, SOCK_IMAGE, SOCK_INT, SOCK_MATERIAL, SOCK_MATRIX, SOCK_MENU, SOCK_OBJECT, SOCK_RGBA, SOCK_ROTATION, SOCK_SHADER, SOCK_STRING, and SOCK_VECTOR.
Referenced by blender::nodes::DeclarationListBuilder::add_input(), blender::nodes::DeclarationListBuilder::add_output(), and make_declaration_for_socket_type().
Definition at line 139 of file geometry_nodes_bundle.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::StringRefBase::find_first_of(), blender::StringRefBase::is_empty(), blender::StringRefBase::not_found, and blender::StringRefBase::substr().
Referenced by blender::nodes::Bundle::lookup_path().
|
static |
Definition at line 751 of file geometry_nodes_execute.cc.
References blender::bke::MutableAttributeAccessor::add(), blender::bke::GeometryComponent::attributes_for_write(), blender::bke::cpp_type_to_attribute_type(), blender::bke::GAttributeWriter::finish(), blender::bke::AttributeAccessor::lookup_meta_data(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write(), MEM_freeN(), blender::bke::MutableAttributeAccessor::remove(), blender::GVMutableArray::set_all(), and blender::bke::GAttributeWriter::varray.
Referenced by store_output_attributes().
|
static |
Definition at line 793 of file geometry_nodes_execute.cc.
References compute_attributes_to_store(), blender::bke::GeometryComponent::Curve, find_output_attributes_to_store(), blender::geometry::foreach_real_geometry(), blender::bke::Instance, blender::bke::GeometryComponent::Instance, blender::MultiValueMap< Key, Value >::keys(), blender::bke::GeometryComponent::Mesh, blender::bke::GeometryComponent::PointCloud, blender::MultiValueMap< Key, Value >::size(), store_computed_output_attributes(), and tree.
Referenced by execute_geometry_nodes_on_geometry().
| void blender::nodes::sync_node | ( | bContext & | C, |
| bNode & | node, | ||
| ReportList * | reports ) |
Sync the sockets of that node if possible. For example, a Separate Bundle node will be updated to match a linked Combine Bundle if one is found.
Definition at line 578 of file sync_sockets.cc.
References C, CTX_wm_space_node(), SpaceNode::edittree, blender::bke::bNodeZoneType::get_corresponding_input(), blender::bke::bNodeZoneType::get_corresponding_output(), NODE_CLOSURE_OUTPUT, sync_sockets_closure(), sync_sockets_combine_bundle(), sync_sockets_evaluate_closure(), sync_sockets_separate_bundle(), and blender::bke::zone_type_by_node_type().
Referenced by blender::ed::space_node::sockets_sync_exec().
Get a description of what syncing the node would do. This can be used as tooltip.
Definition at line 609 of file sync_sockets.cc.
References C, CTX_wm_space_node(), blender::nodes::ClosureSignature::from_closure_output_node(), blender::nodes::BundleSignature::from_combine_bundle_node(), blender::nodes::ClosureSignature::from_evaluate_closure_node(), blender::nodes::BundleSignature::from_separate_bundle_node(), get_bundle_sync_tooltip(), get_closure_sync_tooltip(), get_sync_state_closure_output(), get_sync_state_combine_bundle(), get_sync_state_evaluate_closure(), and get_sync_state_separate_bundle().
Referenced by blender::ed::space_node::sockets_sync_get_description().
| void blender::nodes::sync_sockets_closure | ( | SpaceNode & | snode, |
| bNode & | closure_input_node, | ||
| bNode & | closure_output_node, | ||
| ReportList * | reports, | ||
| const bNodeSocket * | src_closure_socket ) |
Definition at line 348 of file sync_sockets.cc.
References blender::nodes::socket_items::add_item_with_socket_type_and_name(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BKE_ntree_update_tag_node_property(), BKE_report(), CanBeSynced, blender::nodes::socket_items::clear(), ConflictingSyncSources, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), SpaceNode::edittree, get_sync_state_closure_output(), i, NodeClosureInputItem::identifier, NodeClosureOutputItem::identifier, blender::nodes::ClosureSignature::inputs, blender::nodes::ClosureSignature::Item::key, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_try(), NodeClosureInputItem::name, NodeClosureOutputItem::name, blender::bke::node_add_link(), NoSyncSource, blender::nodes::ClosureSignature::outputs, RPT_INFO, blender::nodes::ClosureSyncState::source_signature, blender::nodes::ClosureSyncState::state, bNode::storage, blender::nodes::ClosureSignature::Item::structure_type, NodeClosureInputItem::structure_type, NodeClosureOutputItem::structure_type, Synced, blender::bke::bNodeSocketType::type, blender::nodes::ClosureSignature::Item::type, bNodeTree::typeinfo, and update_node_declaration_and_sockets().
Referenced by blender::nodes::node_geo_closure_cc::output_node::node_gather_link_searches(), blender::nodes::node_geo_closure_cc::output_node::node_insert_link(), and sync_node().
| void blender::nodes::sync_sockets_combine_bundle | ( | SpaceNode & | snode, |
| bNode & | combine_bundle_node, | ||
| ReportList * | reports, | ||
| const bNodeSocket * | src_bundle_socket ) |
Definition at line 247 of file sync_sockets.cc.
References blender::nodes::socket_items::add_item_with_socket_type_and_name(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), BKE_ntree_update_tag_node_property(), BKE_report(), CanBeSynced, blender::nodes::socket_items::clear(), ConflictingSyncSources, SpaceNode::edittree, get_sync_state_combine_bundle(), i, NodeCombineBundleItem::identifier, blender::nodes::BundleSignature::Item::key, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_try(), NodeCombineBundleItem::name, NoSyncSource, RPT_INFO, blender::nodes::BundleSyncState::source_signature, blender::nodes::BundleSyncState::state, bNode::storage, blender::nodes::BundleSignature::Item::structure_type, NodeCombineBundleItem::structure_type, Synced, blender::bke::bNodeSocketType::type, and blender::nodes::BundleSignature::Item::type.
Referenced by blender::nodes::node_geo_combine_bundle_cc::node_gather_link_searches(), blender::nodes::node_geo_combine_bundle_cc::node_insert_link(), and sync_node().
| void blender::nodes::sync_sockets_evaluate_closure | ( | SpaceNode & | snode, |
| bNode & | evaluate_closure_node, | ||
| ReportList * | reports, | ||
| const bNodeSocket * | src_closure_socket ) |
Definition at line 289 of file sync_sockets.cc.
References blender::nodes::socket_items::add_item_with_socket_type_and_name(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), BKE_ntree_update_tag_node_property(), BKE_report(), CanBeSynced, blender::nodes::socket_items::clear(), ConflictingSyncSources, SpaceNode::edittree, get_sync_state_evaluate_closure(), i, NodeEvaluateClosureInputItem::identifier, NodeEvaluateClosureOutputItem::identifier, blender::nodes::ClosureSignature::Item::key, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_try(), NodeEvaluateClosureInputItem::name, NodeEvaluateClosureOutputItem::name, NoSyncSource, RPT_INFO, blender::nodes::ClosureSyncState::source_signature, blender::nodes::ClosureSyncState::state, bNode::storage, blender::nodes::ClosureSignature::Item::structure_type, NodeEvaluateClosureInputItem::structure_type, NodeEvaluateClosureOutputItem::structure_type, Synced, blender::bke::bNodeSocketType::type, and blender::nodes::ClosureSignature::Item::type.
Referenced by blender::nodes::node_geo_evaluate_closure_cc::node_gather_link_searches(), blender::nodes::node_geo_evaluate_closure_cc::node_insert_link(), and sync_node().
| void blender::nodes::sync_sockets_separate_bundle | ( | SpaceNode & | snode, |
| bNode & | separate_bundle_node, | ||
| ReportList * | reports, | ||
| const bNodeSocket * | src_bundle_socket ) |
Definition at line 206 of file sync_sockets.cc.
References blender::nodes::socket_items::add_item_with_socket_type_and_name(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), BKE_ntree_update_tag_node_property(), BKE_report(), CanBeSynced, blender::nodes::socket_items::clear(), ConflictingSyncSources, SpaceNode::edittree, get_sync_state_separate_bundle(), i, NodeSeparateBundleItem::identifier, blender::nodes::BundleSignature::Item::key, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_try(), NodeSeparateBundleItem::name, NoSyncSource, RPT_INFO, blender::nodes::BundleSyncState::source_signature, blender::nodes::BundleSyncState::state, bNode::storage, blender::nodes::BundleSignature::Item::structure_type, NodeSeparateBundleItem::structure_type, Synced, blender::bke::bNodeSocketType::type, and blender::nodes::BundleSignature::Item::type.
Referenced by blender::nodes::node_geo_separate_bundle_cc::node_gather_link_searches(), blender::nodes::node_geo_separate_bundle_cc::node_insert_link(), and sync_node().
|
inline |
Definition at line 201 of file NOD_geometry_nodes_bundle.hh.
References blender::ImplicitSharingInfo::add_user(), BLI_assert_unreachable, blender::bke::SocketValueVariant::From(), is_valid_internal_bundle_item_type(), socket_type_info_by_static_type(), and T.
Referenced by blender::nodes::Bundle::add(), blender::nodes::Bundle::add_override(), blender::nodes::Bundle::add_path(), and blender::nodes::Bundle::add_path_override().
|
inline |
This is similar to try_dispatch_float_math_fl_to_fl, just with a different callback signature.
Definition at line 307 of file NOD_math_functions.hh.
References b, faceforward, get_float3_math_operation_info(), NODE_VECTOR_MATH_FACEFORWARD, NODE_VECTOR_MATH_MULTIPLY_ADD, NODE_VECTOR_MATH_WRAP, and wrapf().
Referenced by blender::nodes::node_shader_vector_math_cc::get_multi_function().
|
inline |
This is similar to try_dispatch_float_math_fl_to_fl, just with a different callback signature.
Definition at line 346 of file NOD_math_functions.hh.
References b, get_float3_math_operation_info(), NODE_VECTOR_MATH_REFRACT, normalize, and refract().
Referenced by blender::nodes::node_shader_vector_math_cc::get_multi_function().
|
inline |
This is similar to try_dispatch_float_math_fl_to_fl, just with a different callback signature.
Definition at line 274 of file NOD_math_functions.hh.
References b, distance(), dot(), get_float3_math_operation_info(), NODE_VECTOR_MATH_DISTANCE, and NODE_VECTOR_MATH_DOT_PRODUCT.
Referenced by blender::nodes::node_shader_vector_math_cc::get_multi_function().
|
inline |
This is similar to try_dispatch_float_math_fl_to_fl, just with a different callback signature.
Definition at line 215 of file NOD_math_functions.hh.
References b, blender::math::cross_high_precision(), floor, get_float3_math_operation_info(), max, min, mod, NODE_VECTOR_MATH_ADD, NODE_VECTOR_MATH_CROSS_PRODUCT, NODE_VECTOR_MATH_DIVIDE, NODE_VECTOR_MATH_MAXIMUM, NODE_VECTOR_MATH_MINIMUM, NODE_VECTOR_MATH_MODULO, NODE_VECTOR_MATH_MULTIPLY, NODE_VECTOR_MATH_POWER, NODE_VECTOR_MATH_PROJECT, NODE_VECTOR_MATH_REFLECT, NODE_VECTOR_MATH_SNAP, NODE_VECTOR_MATH_SUBTRACT, normalize, project(), reflect, safe_divide(), and safe_powf().
Referenced by blender::nodes::node_shader_vector_math_cc::get_multi_function().
|
inline |
This is similar to try_dispatch_float_math_fl_to_fl, just with a different callback signature.
Definition at line 409 of file NOD_math_functions.hh.
References b, get_float3_math_operation_info(), and NODE_VECTOR_MATH_SCALE.
Referenced by blender::nodes::node_shader_vector_math_cc::get_multi_function().
|
inline |
This is similar to try_dispatch_float_math_fl_to_fl, just with a different callback signature.
Definition at line 378 of file NOD_math_functions.hh.
References get_float3_math_operation_info(), in, length(), and NODE_VECTOR_MATH_LENGTH.
Referenced by blender::nodes::node_shader_vector_math_cc::get_multi_function().
|
inline |
This is similar to try_dispatch_float_math_fl_to_fl, just with a different callback signature.
Definition at line 438 of file NOD_math_functions.hh.
References abs, ceil, cosf, floor, fract(), get_float3_math_operation_info(), in, NODE_VECTOR_MATH_ABSOLUTE, NODE_VECTOR_MATH_CEIL, NODE_VECTOR_MATH_COSINE, NODE_VECTOR_MATH_FLOOR, NODE_VECTOR_MATH_FRACTION, NODE_VECTOR_MATH_NORMALIZE, NODE_VECTOR_MATH_SIGN, NODE_VECTOR_MATH_SINE, NODE_VECTOR_MATH_TANGENT, normalize, sign(), sinf, and tanf.
Referenced by blender::nodes::node_shader_vector_math_cc::get_multi_function().
|
inline |
This is similar to try_dispatch_float_math_fl_to_fl, just with a different callback signature.
Definition at line 176 of file NOD_math_functions.hh.
References b, fabsf, fmaxf, get_float_math_operation_info(), NODE_MATH_COMPARE, NODE_MATH_MULTIPLY_ADD, NODE_MATH_SMOOTH_MAX, NODE_MATH_SMOOTH_MIN, NODE_MATH_WRAP, smoothminf(), and wrapf().
Referenced by get_base_multi_function().
|
inline |
This is similar to try_dispatch_float_math_fl_to_fl, just with a different callback signature.
Definition at line 120 of file NOD_math_functions.hh.
References atan2f, b, floorf, get_float_math_operation_info(), NODE_MATH_ADD, NODE_MATH_ARCTAN2, NODE_MATH_DIVIDE, NODE_MATH_FLOORED_MODULO, NODE_MATH_GREATER_THAN, NODE_MATH_LESS_THAN, NODE_MATH_LOGARITHM, NODE_MATH_MAXIMUM, NODE_MATH_MINIMUM, NODE_MATH_MODULO, NODE_MATH_MULTIPLY, NODE_MATH_PINGPONG, NODE_MATH_POWER, NODE_MATH_SNAP, NODE_MATH_SUBTRACT, pingpongf(), safe_divide(), safe_floored_modf(), safe_logf(), safe_modf(), and safe_powf().
Referenced by get_base_multi_function().
|
inline |
This calls the callback with two arguments:
The math function that is passed to the callback is actually a lambda function that is different for every operation. Therefore, if the callback is templated on the math function, it will get instantiated for every operation separately. This has two benefits:
If separate instantiations are not desired, the callback can also take a function pointer with the following signature as input instead: float (*math_function)(float a).
Definition at line 53 of file NOD_math_functions.hh.
References atanf, ceilf, compatible_signf(), cosf, coshf, DEG2RAD, expf, fabs(), floorf, get_float_math_operation_info(), NODE_MATH_ABSOLUTE, NODE_MATH_ARCCOSINE, NODE_MATH_ARCSINE, NODE_MATH_ARCTANGENT, NODE_MATH_CEIL, NODE_MATH_COSH, NODE_MATH_COSINE, NODE_MATH_DEGREES, NODE_MATH_EXPONENT, NODE_MATH_FLOOR, NODE_MATH_FRACTION, NODE_MATH_INV_SQRT, NODE_MATH_RADIANS, NODE_MATH_ROUND, NODE_MATH_SIGN, NODE_MATH_SINE, NODE_MATH_SINH, NODE_MATH_SQRT, NODE_MATH_TANGENT, NODE_MATH_TANH, NODE_MATH_TRUNC, RAD2DEG, safe_acosf(), safe_asinf(), safe_inverse_sqrtf(), safe_sqrtf(), sinf, sinhf, tanf, and tanhf.
Referenced by get_base_multi_function().
| void blender::nodes::update_input_properties_from_node_tree | ( | const bNodeTree & | tree, |
| const IDProperty * | old_properties, | ||
| IDProperty & | properties, | ||
| const bool | use_name_for_ids ) |
Definition at line 938 of file geometry_nodes_execute.cc.
References BLI_strdup(), blender::bke::idprop::create(), blender::bke::idprop::create_bool(), bNodeTreeInterfaceSocket::default_attribute_name, bNodeTreeInterfaceSocket::description, IDPropertyUIData::description, IDProperty::flag, i, id_property_create_from_socket(), bNodeTreeInterfaceSocket::identifier, IDP_AddToGroup(), IDP_AssignStringMaxSize(), IDP_bool_set, IDP_CopyPropertyContent(), IDP_FLAG_OVERRIDABLE_LIBRARY, IDP_FLAG_STATIC_TYPE, IDP_GetPropertyFromGroup(), IDP_ui_data_ensure(), blender::Span< T >::index_range(), input_attribute_name_suffix, input_use_attribute_suffix, MAX_NAME, old_id_property_type_matches_socket_convert_to_new(), SOCK_CUSTOM, socket_type_has_attribute_toggle(), tree, and blender::bke::bNodeSocketType::type.
Referenced by blender::update_id_properties_from_node_group().
Definition at line 512 of file node_socket.cc.
References build_node_declaration(), refresh_node(), bNode::runtime, and bNode::typeinfo.
Referenced by blender::ed::space_node::attribute_search_exec_fn(), group_input_insert_link(), group_output_insert_link(), blender::bke::node_declaration_ensure_on_outdated_node(), blender::nodes::node_geo_evaluate_closure_cc::node_gather_link_searches(), blender::nodes::node_geo_repeat_cc::repeat_output_node::node_gather_link_searches(), blender::nodes::node_geo_simulation_cc::sim_output_node::node_gather_link_searches(), blender::ed::space_node::node_group_make_insert_selected(), blender::ed::space_node::viewer_linking::node_link_viewer_get_socket(), ntree_update_reroute_nodes(), blender::ed::space_node::remap_node_pairing(), blender::ed::space_node::remap_pairing(), blender::ed::space_node::search_link_ops_for_asset_metadata(), sync_sockets_closure(), blender::nodes::socket_items::try_add_item_via_extend_socket(), and blender::nodes::LinkSearchOpParams::update_and_connect_available_socket().
| void blender::nodes::update_output_properties_from_node_tree | ( | const bNodeTree & | tree, |
| const IDProperty * | old_properties, | ||
| IDProperty & | properties ) |
Definition at line 1011 of file geometry_nodes_execute.cc.
References BLI_strdup(), bNodeTreeInterfaceSocket::default_attribute_name, bNodeTreeInterfaceSocket::description, IDPropertyUIData::description, i, bNodeTreeInterfaceSocket::identifier, IDP_AddToGroup(), IDP_AssignStringMaxSize(), IDP_CopyPropertyContent(), IDP_GetPropertyFromGroup(), IDP_NewStringMaxSize(), IDP_ui_data_ensure(), IDP_ui_data_free(), blender::Span< T >::index_range(), input_attribute_name_suffix, MAX_NAME, SOCK_CUSTOM, socket_type_has_attribute_toggle(), tree, blender::bke::bNodeSocketType::type, and IDProperty::ui_data.
Referenced by blender::ed::geometry::run_node_group_invoke(), and blender::update_id_properties_from_node_group().
|
static |
Definition at line 32 of file trace_values.cc.
References bNodeLink::fromnode, bNodeLink::fromsock, bNodeLink::tosock, tree, and bNodeSocket::type.
Referenced by find_origin_sockets_through_contexts(), and find_target_sockets_through_contexts().
| std::string blender::nodes::zone_wrapper_input_name | ( | const ZoneBuildInfo & | zone_info, |
| const bNodeTreeZone & | zone, | ||
| const Span< lf::Input > | inputs, | ||
| const int | lf_socket_i ) |
Definition at line 1663 of file geometry_nodes_lazy_function.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::contains(), blender::Vector< T, InlineBufferCapacity, Allocator >::first(), ignore_zone_bsocket(), blender::nodes::ZoneBuildInfo::indices, blender::nodes::ZoneFunctionIndices::inputs, inputs, blender::bke::bNodeTreeZone::output_node(), blender::nodes::ZoneFunctionIndices::output_usages, and zone_wrapper_input_name().
Referenced by blender::nodes::LazyFunctionForForeachGeometryElementZone::input_name(), blender::nodes::LazyFunctionForRepeatZone::input_name(), and zone_wrapper_input_name().
| std::string blender::nodes::zone_wrapper_output_name | ( | const ZoneBuildInfo & | zone_info, |
| const bNodeTreeZone & | zone, | ||
| const Span< lf::Output > | outputs, | ||
| const int | lf_socket_i ) |
Definition at line 1684 of file geometry_nodes_lazy_function.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::contains(), blender::Vector< T, InlineBufferCapacity, Allocator >::first(), ignore_zone_bsocket(), blender::nodes::ZoneBuildInfo::indices, blender::bke::bNodeTreeZone::input_node(), blender::nodes::ZoneFunctionIndices::input_usages, blender::nodes::ZoneFunctionIndices::outputs, outputs, and zone_wrapper_output_name().
Referenced by blender::nodes::LazyFunctionForForeachGeometryElementZone::output_name(), blender::nodes::LazyFunctionForRepeatZone::output_name(), and zone_wrapper_output_name().
|
constexpr |
Definition at line 34 of file NOD_geometry_nodes_execute.hh.
Referenced by add_attribute_search_or_value_buttons(), attribute_search_exec_fn(), draw_property_for_output_socket(), find_output_attributes_to_store(), input_attribute_name_get(), update_input_properties_from_node_tree(), and update_output_properties_from_node_tree().
|
constexpr |
Definition at line 33 of file NOD_geometry_nodes_execute.hh.
Referenced by draw_geometry_nodes_operator_redo_ui(), input_attribute_name_get(), and update_input_properties_from_node_tree().
Definition at line 40 of file NOD_geometry_nodes_values.hh.
Referenced by blender::nodes::GeoNodeExecParams::extract_input(), and blender::nodes::GeoNodeExecParams::get_input().
|
constexpr |
Definition at line 41 of file NOD_geometry_nodes_values.hh.