|
Blender V4.5
|
Typedefs | |
| using | JoinReferenceSetsCache = Map<Vector<lf::OutputSocket *>, lf::OutputSocket *> |
| using | BundlePtr = ImplicitSharingPtr<Bundle> |
| using | ClosurePtr = ImplicitSharingPtr<Closure> |
| using | PropertiesVectorSet = CustomIDVectorSet<IDProperty *, IDPropNameGetter, 16> |
| using | ReferenceSetIndex = int |
| using | ItemDeclarationPtr = std::unique_ptr<ItemDeclaration> |
| using | CustomSocketDrawFn = std::function<void(CustomSocketDrawParams ¶ms)> |
| 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 | 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" |
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 192 of file NOD_node_declaration.hh.
| using blender::nodes::DrawNodeLayoutFn = void(uiLayout *, bContext *, PointerRNA *) |
Definition at line 470 of file NOD_node_declaration.hh.
| using blender::nodes::ImplicitInputValueFn = std::function<void(const bNode &node, void *r_value)> |
Definition at line 692 of file NOD_node_declaration.hh.
| using blender::nodes::ItemDeclarationPtr = std::unique_ptr<ItemDeclaration> |
Definition at line 175 of file NOD_node_declaration.hh.
Definition at line 1642 of file geometry_nodes_lazy_function.cc.
| using blender::nodes::PanelDeclarationPtr = std::unique_ptr<PanelDeclaration> |
Definition at line 581 of file NOD_node_declaration.hh.
Use a VectorSet to store properties for constant time lookup, to avoid slowdown with many inputs.
Definition at line 45 of file NOD_geometry_nodes_execute.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 468 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 55 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 31 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.
Definition at line 75 of file NOD_geometry_nodes_log.hh.
|
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 40 of file NOD_node_declaration.hh.
Definition at line 41 of file BKE_node_tree_reference_lifetimes.hh.
Definition at line 41 of file BKE_node_tree_reference_lifetimes.hh.
|
static |
Definition at line 348 of file geometry_nodes_caller_ui.cc.
References blender::bke::allow_procedural_attribute_access(), attribute_search_exec_fn(), attribute_search_update_fn(), BLI_assert, blender::StringRefNull::c_str(), blender::ed::object::context_object(), data, bNodeTreeInterfaceSocket::description, MEM_freeN(), MEM_mallocN(), uiLayout::prop(), RNA_string_get_alloc(), UI_BTYPE_SEARCH_MENU, 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, uiDefIconTextButR(), and uiLayoutGetBlock().
Referenced by add_attribute_search_or_value_buttons(), and draw_property_for_output_socket().
|
static |
Definition at line 406 of file geometry_nodes_caller_ui.cc.
References add_attribute_search_button(), BLI_str_escape(), blender::StringRefNull::c_str(), bNodeTreeInterfaceSocket::identifier, IFACE_, input_attribute_name_get(), input_attribute_name_suffix, uiLayout::label(), bNodeTreeInterfaceSocket::name, uiLayout::prop(), uiLayout::row(), SOCK_BOOLEAN, SOCK_CUSTOM, split(), uiLayout::split(), blender::bke::bNodeSocketType::type, UI_ITEM_NONE, UI_LAYOUT_ALIGN_EXPAND, UI_LAYOUT_ALIGN_RIGHT, uiItemDecoratorR(), uiLayoutSetAlignment(), uiLayoutSetPropDecorate(), and uiLayoutSetPropSep().
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 219 of file geometry_nodes_caller_ui.cc.
References BLI_assert, BLI_str_escape(), 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(), split(), uiLayout::split(), UI_BTYPE_SEARCH_MENU, 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_LAYOUT_ALIGN_RIGHT, UI_MENU_ARROW_SEP, UI_UNIT_X, UI_UNIT_Y, uiDefIconTextButR(), uiLayoutGetBlock(), uiLayoutSetAlignment(), and uiLayoutSetPropDecorate().
Referenced by draw_property_for_socket().
|
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 174 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 328 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 280 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 856 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 865 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 1252 of file geometry_nodes_foreach_geometry_element_zone.cc.
References blender::ResourceScope::construct().
| const 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 636 of file geometry_nodes_lazy_function.cc.
References blender::bke::bNodeSocketType::base_cpp_type, blender::ResourceScope::construct(), blender::bke::bNodeSocketType::geometry_nodes_cpp_type, 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 255 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, NODE_DEFAULT_INPUT_VALUE, NODE_INTERFACE_SOCKET_COMPACT, NODE_INTERFACE_SOCKET_HIDE_VALUE, NODE_INTERFACE_SOCKET_MENU_EXPANDED, NODE_INTERFACE_SOCKET_PANEL_TOGGLE, blender::bke::node_socket_type_find(), 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 27 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().
| PropertiesVectorSet blender::nodes::build_properties_vector_set | ( | const IDProperty * | properties | ) |
Definition at line 465 of file geometry_nodes_execute.cc.
References blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), BLI_listbase_count(), IDProperty::data, IDPropertyData::group, LISTBASE_FOREACH, and blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::reserve().
Referenced by draw_geometry_nodes_modifier_ui(), draw_geometry_nodes_operator_redo_ui(), blender::nodes::gizmos::foreach_active_gizmo_exposed_to_modifier(), blender::modifyGeometry(), and blender::ed::geometry::run_node_group_exec().
| 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 24 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 738 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::bke::GeometryComponent::Curve, blender::nodes::OutputAttributeToStore::data, blender::bke::AttributeAccessor::domain_size(), blender::bke::AttributeAccessor::domain_supported(), blender::fn::FieldEvaluator::evaluate(), blender::bke::GeometryComponent::Instance, blender::MultiValueMap< Key, Value >::items(), blender::bke::AttributeAccessor::lookup_validator(), MEM_mallocN_aligned(), blender::bke::GeometryComponent::Mesh, blender::bke::GeometryComponent::PointCloud, blender::CPPType::size, and blender::bke::AttributeValidator::validate_field_if_necessary().
Referenced by store_output_attributes().
| void blender::nodes::construct_socket_default_value | ( | const bke::bNodeSocketType & | stype, |
| void * | r_value ) |
Definition at line 420 of file geometry_nodes_lazy_function.cc.
References BLI_assert, blender::CPPType::copy_construct(), blender::bke::bNodeSocketType::geometry_nodes_cpp_type, blender::bke::bNodeSocketType::geometry_nodes_default_cpp_value, and blender::CPPType::value_initialize().
Referenced by evaluate_closure_eagerly(), blender::nodes::LazyFunctionForClosureZone::execute_impl(), blender::nodes::LazyFunctionForImplicitConversion::execute_impl(), blender::nodes::LazyFunctionForMultiFunctionNode::execute_impl(), blender::nodes::LazyFunctionForEvaluateClosureNode::initialize_execution_graph(), blender::nodes::LazyFunctionForEvaluateClosureNode::initialize_pass_through_graph(), blender::nodes::node_geo_separate_bundle_cc::node_geo_exec(), and set_default_value_for_output_socket().
|
static |
Try to update identifiers of sockets created in the future to match identifiers that exist now.
Definition at line 377 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().
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 730 of file node_geo_bake.cc.
References blender::nodes::BakeDrawContext::bake, blender::nodes::BakeDrawContext::bake_target, col, uiLayout::column(), G, NodesModifierBake::id, Object::id, IFACE_, 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, uiLayoutSetActive(), WM_OP_INVOKE_DEFAULT, 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 853 of file node_geo_bake.cc.
References PointerRNA::data, blender::StringRefBase::is_empty(), uiLayout::prop(), uiLayout::row(), and UI_ITEM_NONE.
Referenced by draw_data_blocks().
|
static |
Definition at line 827 of file geometry_nodes_caller_ui.cc.
References col, uiLayout::column(), IFACE_, UI_ITEM_NONE, uiLayoutSetPropDecorate(), and uiLayoutSetPropSep().
Referenced by draw_manage_panel().
| void blender::nodes::draw_common_bake_settings | ( | bContext * | C, |
| BakeDrawContext & | ctx, | ||
| uiLayout * | layout ) |
Definition at line 800 of file node_geo_bake.cc.
References 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, uiLayoutSetActive(), uiLayoutSetPropDecorate(), and uiLayoutSetPropSep().
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 878 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(), 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 923 of file geometry_nodes_caller_ui.cc.
References build_properties_vector_set(), 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::nodes::socket_usage_inference::infer_group_interface_inputs_usage(), NodesModifierData::modifier, modifier_error_message_draw(), ModifierData::name, NodesModifierData::node_group, NODE_INTERFACE_SOCKET_OUTPUT, NODES_MODIFIER_HIDE_DATABLOCK_SELECTOR, 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::settings, STRNCPY(), bNodeTree::tree_interface, UI_ITEM_NONE, uiLayoutSetPropDecorate(), uiLayoutSetPropSep(), uiTemplateID(), and WM_OP_INVOKE_DEFAULT.
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 1001 of file geometry_nodes_caller_ui.cc.
References BKE_panel_layout_panel_state_ensure(), BLI_str_escape(), build_properties_vector_set(), C, CTX_data_main(), data, draw_interface_panel_content(), Panel::flag, blender::nodes::socket_usage_inference::infer_group_interface_inputs_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(), state, STRNCPY(), tree, UI_ITEM_R_ICON_ONLY, uiLayoutGetRootPanel(), uiLayoutSetPropDecorate(), and uiLayoutSetPropSep().
Referenced by blender::ed::geometry::run_node_group_ui().
|
static |
Definition at line 654 of file geometry_nodes_caller_ui.cc.
References BLI_str_escape(), PanelLayout::body, blender::StringRefNull::c_str(), draw_interface_panel_content(), draw_property_for_socket(), bNodeTreeInterfaceSocket::flag, PanelLayout::header, id_property_type_matches_socket(), bNodeTreeInterfaceSocket::identifier, IFACE_, interface_panel_affects_output(), interface_panel_has_socket(), uiLayout::label(), MAX_NAME, NODE_INTERFACE_PANEL, NODE_INTERFACE_SOCKET, NODE_INTERFACE_SOCKET_HIDE_IN_MODIFIER, NODE_INTERFACE_SOCKET_INPUT, uiLayout::panel_prop(), uiLayout::panel_prop_with_bool_header(), SNPRINTF, uiLayoutSetActive(), and uiLayoutSetTooltipFunc().
Referenced by draw_geometry_nodes_modifier_ui(), draw_geometry_nodes_operator_redo_ui(), and draw_interface_panel_content().
|
static |
Definition at line 906 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 836 of file geometry_nodes_caller_ui.cc.
References 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(), blender::nodes::geo_eval_log::None, blender::nodes::geo_eval_log::Read, blender::nodes::geo_eval_log::Remove, RPT_, split(), uiLayout::split(), UI_LAYOUT_ALIGN_RIGHT, uiLayoutSetActive(), uiLayoutSetAlignment(), 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 814 of file geometry_nodes_caller_ui.cc.
References draw_property_for_output_socket(), SOCK_CUSTOM, socket_type_has_attribute_toggle(), and blender::bke::bNodeSocketType::type.
Referenced by draw_geometry_nodes_modifier_ui().
|
static |
Definition at line 798 of file geometry_nodes_caller_ui.cc.
References add_attribute_search_button(), BLI_str_escape(), bNodeTreeInterfaceSocket::identifier, input_attribute_name_suffix, uiLayout::label(), bNodeTreeInterfaceSocket::name, split(), uiLayout::split(), UI_LAYOUT_ALIGN_RIGHT, and uiLayoutSetAlignment().
Referenced by draw_output_attributes_panel().
|
static |
Definition at line 473 of file geometry_nodes_caller_ui.cc.
References 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, IFACE_, input_has_attribute_toggle(), is_layer_selection_field(), uiLayout::label(), bNodeTreeInterfaceSocket::name, NODE_INTERFACE_SOCKET_MENU_EXPANDED, pos, uiLayout::prop(), uiLayout::row(), blender::StringRefBase::size(), SOCK_BOOLEAN, SOCK_COLLECTION, SOCK_CUSTOM, SOCK_IMAGE, SOCK_MATERIAL, SOCK_MENU, SOCK_OBJECT, SOCK_TEXTURE, blender::StringRefBase::trim(), blender::bke::bNodeSocketType::type, UI_ITEM_NONE, UI_ITEM_R_EXPAND, UI_TEMPLATE_ID_FILTER_ALL, uiItemPointerR(), uiLayoutSetActive(), uiLayoutSetPropDecorate(), and uiTemplateID().
Referenced by draw_interface_panel_content().
|
static |
Definition at line 735 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(), G, get_root_tree_log(), PanelLayout::header, i, if(), IFACE_, blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), uiLayout::label(), and uiLayout::panel_prop().
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 4230 of file geometry_nodes_lazy_function.cc.
References blender::nodes::GeometryNodesLazyFunctionBuilder::build(), DEG_get_original(), ensure_geometry_nodes_lazy_function_graph(), blender::bke::bNodeSocketType::geometry_nodes_cpp_type, bNodeTree::id, ID_TAG_MISSING, blender::bke::bNodeTreeZone::input_node(), lock, NTREE_GEOMETRY, blender::bke::bNodeTreeZone::output_node(), bNodeTree::runtime, bNodeTree::type, and blender::bke::bNodeTreeZones::zones.
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().
| 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::enums::attribute_type_type_with_socket_fn(), blender::nodes::node_geo_sample_grid_cc::data_type_filter_fn(), blender::nodes::node_geo_sample_grid_index_cc::data_type_filter_fn(), 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_menu_switch_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 721 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::CPPType::copy_construct(), 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(), blender::bke::bNodeSocketType::geometry_nodes_cpp_type, CPPType::get(), i, implicitly_convert_socket_value(), blender::Array< T, InlineBufferCapacity, Allocator >::index_range(), blender::nodes::Closure::indices(), indices, blender::nodes::ClosureSignature::inputs, blender::CPPType::move_construct(), 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 180 of file node_geo_evaluate_closure.cc.
References BLI_assert, i, blender::nodes::SocketInterfaceKey::matches(), NodeGeometryEvaluateClosureInputItem::name, NodeGeometryEvaluateClosureOutputItem::name, NodeGeometryEvaluateClosureInputItem::socket_type, NodeGeometryEvaluateClosureOutputItem::socket_type, bNode::storage, and tree.
Referenced by blender::nodes::LazyFunctionForEvaluateClosureNode::initialize_pass_through_graph(), blender::nodes::node_geo_evaluate_closure_cc::node_internally_linked_input(), and blender::nodes::node_geo_closure_cc::output_node::try_initialize_closure_from_evaluator().
| bke::GeometrySet blender::nodes::execute_geometry_nodes_on_geometry | ( | const bNodeTree & | btree, |
| const PropertiesVectorSet & | properties_set, | ||
| const ComputeContext & | base_compute_context, | ||
| GeoNodesCallData & | call_data, | ||
| bke::GeometrySet | input_geometry ) |
Definition at line 863 of file geometry_nodes_execute.cc.
References blender::LinearAllocator< Allocator >::allocate(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::Array< T, InlineBufferCapacity, Allocator >::as_mutable_span(), BLI_assert, blender::nodes::GeoNodesUserData::call_data, blender::nodes::GeoNodesUserData::compute_context, blender::fn::lazy_function::LazyFunction::destruct_storage(), ensure_geometry_nodes_lazy_function_graph(), blender::fn::lazy_function::LazyFunction::execute(), blender::nodes::GeometryNodesGroupFunction::function, blender::nodes::GeometryNodesLazyFunctionGraphInfo::function, blender::bke::bNodeSocketType::geometry_nodes_cpp_type, 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::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().
|
staticnodiscard |
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 539 of file geometry_nodes_lazy_function.cc.
References execute_multi_function_on_value_variant__field(), 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(), and blender::bke::SocketValueVariant::is_volume_grid().
Referenced by blender::nodes::LazyFunctionForImplicitConversion::execute_impl(), blender::nodes::LazyFunctionForMultiFunctionNode::execute_impl(), and implicitly_convert_socket_value().
|
static |
Definition at line 505 of file geometry_nodes_lazy_function.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::fn::FieldOperation::Create(), extract(), i, and blender::Span< T >::index_range().
Referenced by execute_multi_function_on_value_variant().
|
static |
Definition at line 469 of file geometry_nodes_lazy_function.cc.
References blender::bke::SocketValueVariant::allocate_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 722 of file volume_grid_function_eval.cc.
References execute_multi_function_on_value_variant__volume_grid(), and TIP_.
Referenced by execute_multi_function_on_value_variant(), and execute_multi_function_on_value_variant__volume_grid().
|
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 4304 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().
|
static |
The output attributes are organized based on their domain, because attributes on the same domain can be evaluated together.
Definition at line 695 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_String, input_attribute_name_suffix, blender::StringRefBase::is_empty(), blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_key_default_as(), blender::nodes::OutputAttributeInfo::name, socket_type_has_attribute_toggle(), and tree.
Referenced by store_output_attributes().
|
static |
Definition at line 460 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 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.
|
nodiscard |
Definition at line 626 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 911 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 706 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 697 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().
| void blender::nodes::get_closest_in_bvhtree | ( | bke::BVHTreeFromMesh & | tree_data, |
| const VArray< float3float3 > & | positions, | ||
| const IndexMask & | mask, | ||
| MutableSpan< int > | r_indices, | ||
| MutableSpan< float > | r_distances_sq, | ||
| MutableSpan< float3float3 > | 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 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 326 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 202 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().
| 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_composite_math_cc::get_shader_function_name(), 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 820 of file geometry_nodes_foreach_geometry_element_zone.cc.
Referenced by blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_generation_items_group().
| void blender::nodes::get_geometry_nodes_input_base_values | ( | const bNodeTree & | btree, |
| const PropertiesVectorSet & | properties, | ||
| ResourceScope & | scope, | ||
| MutableSpan< GPointer > | r_values ) |
Get the "base" input values that are passed into geometry nodes. In this context, "base" means that the retrieved input types are #bNodeSocketType::base_cpp_type (e.g. float for float sockets). If the input value can't be represented as base value, null is returned instead (e.g. for attribute inputs).
Definition at line 1088 of file geometry_nodes_execute.cc.
References blender::ResourceScope::allocate_owned(), blender::bke::bNodeSocketType::base_cpp_type, BLI_assert, blender::MutableSpan< T >::fill(), blender::bke::bNodeSocketType::geometry_nodes_cpp_type, blender::CPPType::get(), blender::bke::SocketValueVariant::get_single_ptr(), id_property_type_matches_socket(), bNodeTreeInterfaceSocket::identifier, init_socket_cpp_value_from_property(), input_attribute_name_get(), is_layer_selection_field(), blender::bke::SocketValueVariant::is_single(), blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_key_default_as(), blender::bke::bNodeSocketType::type, and blender::GPointer::type().
Referenced by blender::nodes::socket_usage_inference::infer_group_interface_inputs_usage().
| compositor::NodeOperation * blender::nodes::get_group_input_compositor_operation | ( | compositor::Context & | context, |
| DNode | node ) |
Definition at line 132 of file node_composite_group_input.cc.
Referenced by register_node_type_group_input().
|
static |
Definition at line 284 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 301 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 955 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 431 of file node_geo_index_switch.cc.
References BLI_assert, GEO_NODE_INDEX_SWITCH, and bNode::type_legacy.
|
static |
Definition at line 228 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 467 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 475 of file node_geo_menu_switch.cc.
References BLI_assert, GEO_NODE_MENU_SWITCH, and bNode::type_legacy.
|
static |
Definition at line 114 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 4318 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 105 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 958 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 969 of file node_geo_simulation.cc.
References BLI_assert, GEO_NODE_SIMULATION_OUTPUT, and bNode::type_legacy.
|
static |
Definition at line 71 of file geometry_nodes_lazy_function.cc.
References BLI_assert, blender::bke::bNodeSocketType::geometry_nodes_cpp_type, and blender::CPPType::has_special_member_functions.
Referenced by get_socket_cpp_type(), get_socket_default_value(), lazy_function_interface_from_node(), and blender::nodes::LazyFunctionForMultiInput::LazyFunctionForMultiInput().
|
static |
Definition at line 81 of file geometry_nodes_lazy_function.cc.
References get_socket_cpp_type(), and bNodeSocket::typeinfo.
|
static |
Definition at line 1294 of file geometry_nodes_lazy_function.cc.
References blender::LinearAllocator< Allocator >::allocate(), bNodeSocket::default_value, blender::bke::bNodeSocketType::get_geometry_nodes_cpp_value, get_socket_cpp_type(), get_socket_default_value(), and bNodeSocket::typeinfo.
Referenced by get_socket_default_value().
| std::unique_ptr< LazyFunction > blender::nodes::get_switch_node_lazy_function | ( | const bNode & | node | ) |
Definition at line 289 of file node_geo_switch.cc.
References BLI_assert, GEO_NODE_SWITCH, and bNode::type_legacy.
Definition at line 86 of file geometry_nodes_lazy_function.cc.
References blender::VectorCPPType::get_from_value(), and blender::VectorCPPType::self.
Referenced by lazy_function_interface_from_node(), and blender::nodes::LazyFunctionForMultiInput::LazyFunctionForMultiInput().
| 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 967 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 80 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 92 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(), and blender::nodes::node_geo_grid_info_cc::node_rna().
|
static |
Definition at line 775 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 830 of file node_common.cc.
References blender::bke::node_interface::add_interface_socket_from_node(), BLI_assert, bNodeLink::fromsock, bNodeSocket::identifier, bNodeTreeInterfaceSocket::identifier, bNodeSocket::in_out, node_group_input_find_socket(), SOCK_IN, blender::StringRefBase::startswith(), bNodeLink::tonode, bNodeLink::tosock, and update_node_declaration_and_sockets().
Referenced by register_node_type_group_input().
|
static |
Definition at line 805 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 851 of file node_common.cc.
References blender::bke::node_interface::add_interface_socket_from_node(), BLI_assert, bNodeLink::fromnode, bNodeLink::fromsock, bNodeSocket::identifier, bNodeTreeInterfaceSocket::identifier, bNodeSocket::in_out, node_group_output_find_socket(), SOCK_OUT, blender::StringRefBase::startswith(), bNodeLink::tosock, 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 783 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 403 of file node_socket.cc.
References BLI_assert, ListBase::last, and bNode::outputs.
Referenced by refresh_node_sockets_and_panels().
|
static |
Definition at line 99 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 111 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 57 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 457 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_content(), draw_property_for_socket(), get_geometry_nodes_input_base_values(), and initialize_group_input().
|
static |
Definition at line 1682 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 572 of file geometry_nodes_lazy_function.cc.
References blender::bke::bNodeSocketType::base_cpp_type, BLI_assert, blender::CPPType::copy_construct(), execute_multi_function_on_value_variant(), blender::bke::bNodeSocketType::geometry_nodes_cpp_type, 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 evaluate_closure_eagerly(), blender::nodes::LazyFunctionForMutedNode::execute_impl(), and blender::nodes::node_geo_separate_bundle_cc::node_geo_exec().
|
static |
Definition at line 478 of file geometry_nodes_execute.cc.
References BLI_assert, BLI_assert_unreachable, GS, i, ID_GR, ID_IM, ID_MA, ID_OB, ID_TE, IDP_Array, IDP_Bool, IDP_DOUBLE, IDP_Double, IDP_FLOAT, IDP_Float, IDP_Id, IDP_INT, IDP_Int, IDP_String, 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_base_values(), and initialize_group_input().
|
static |
Definition at line 638 of file geometry_nodes_execute.cc.
References blender::bke::allow_procedural_attribute_access(), blender::bke::bNodeSocketType::base_cpp_type, blender::bke::AttributeFieldInput::Create(), blender::bke::bNodeSocketType::get_geometry_nodes_cpp_value, id_property_type_matches_socket(), bNodeTreeInterfaceSocket::identifier, IDP_String, init_socket_cpp_value_from_property(), input_attribute_name_get(), input_has_attribute_toggle(), is_layer_selection_field(), blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_key_as(), blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_key_default_as(), 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 1694 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, blender::nodes::ZoneFunctionIndices::reference_sets, bNodeLink::tosock, and bNodeSocket::typeinfo.
Referenced by initialize_zone_wrapper(), blender::nodes::LazyFunctionForClosureZone::LazyFunctionForClosureZone(), blender::nodes::LazyFunctionForForeachGeometryElementZone::LazyFunctionForForeachGeometryElementZone(), and blender::nodes::LazyFunctionForRepeatZone::LazyFunctionForRepeatZone().
| std::optional< StringRef > blender::nodes::input_attribute_name_get | ( | const PropertiesVectorSet & | properties, |
| const bNodeTreeInterfaceSocket & | io_input ) |
Definition at line 613 of file geometry_nodes_execute.cc.
References bNodeTreeInterfaceSocket::identifier, IDP_Bool, IDP_BOOLEAN, IDP_INT, IDP_Int, IDP_String, input_attribute_name_suffix, input_use_attribute_suffix, blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_key_default_as(), and IDProperty::type.
Referenced by add_attribute_search_or_value_buttons(), get_geometry_nodes_input_base_values(), and initialize_group_input().
| bool blender::nodes::input_has_attribute_toggle | ( | const bNodeTree & | node_tree, |
| const int | socket_index ) |
Definition at line 42 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 628 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_content(), and interface_panel_affects_output().
|
static |
Definition at line 601 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_content(), and interface_panel_has_socket().
|
static |
Definition at line 201 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 158 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(), 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 99 of file geometry_nodes_lazy_function.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append_and_get_index_as(), get_socket_cpp_type(), get_vector_type(), 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 458 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 463 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 376 of file node_declaration.cc.
References socket_type_to_static_decl_type().
| void blender::nodes::mix_baked_data_item | ( | eNodeSocketDatatype | socket_type, |
| void * | prev, | ||
| const void * | next, | ||
| const float | factor ) |
Definition at line 978 of file node_geo_simulation.cc.
References blender::bke::attribute_math::convert_to_static_type(), blender::GPointer::get(), blender::bke::SocketValueVariant::get_single_ptr(), blender::bke::SocketValueVariant::is_context_dependent_field(), 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_geo_exec_with_missing_openvdb | ( | GeoNodeExecParams & | params | ) |
Definition at line 104 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_get_named_grid_cc::node_geo_exec(), blender::nodes::node_geo_grid_to_mesh_cc::node_geo_exec(), blender::nodes::node_geo_import_vdb::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_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_group_declare | ( | NodeDeclarationBuilder & | b | ) |
Definition at line 451 of file node_common.cc.
References blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), b, 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_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 403 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().
| 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_cmp_math(), and 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 358 of file geometry_nodes_execute.cc.
References BLI_assert, BLI_assert_unreachable, IDProperty::data, bNodeSocketValueVector::dimensions, ELEM, id_us_plus(), IDP_Bool, IDP_BOOLEAN, IDP_DOUBLE, IDP_Double, IDP_FLOAT, IDP_Float, IDP_ID, IDP_Id, IDP_INT, IDP_Int, 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 280 of file geometry_nodes_execute.cc.
References BLI_assert, IDProperty::data, ELEM, i, IDP_ARRAY, IDP_Array, 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 267 of file geometry_nodes_execute.cc.
References BLI_assert, IDP_INT, IDP_Int, and IDProperty::type.
Referenced by old_id_property_type_matches_socket_convert_to_new().
|
static |
Definition at line 337 of file geometry_nodes_execute.cc.
References BLI_assert, IDP_AssignString(), IDP_STRING, IDP_String, IDP_STRING_SUB_UTF8, IDProperty::subtype, and IDProperty::type.
Referenced by old_id_property_type_matches_socket_convert_to_new().
|
static |
Definition at line 496 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 248 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 183 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(), bNodeLink::tosock, and blender::nodes::SocketDeclaration::update_or_build().
Referenced by refresh_node_sockets_and_panels().
|
static |
Definition at line 413 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 1609 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 21 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 53 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_match_string_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_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_fill_cc::node_rna(), blender::nodes::node_geo_curve_fillet_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_resample_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_distribute_points_in_volume_cc::node_rna(), blender::nodes::node_geo_duplicate_elements_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_info_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_menu_switch_cc::node_rna(), blender::nodes::node_geo_merge_by_distance_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_mesh_to_volume_cc::node_rna(), blender::nodes::node_geo_object_info_cc::node_rna(), blender::nodes::node_geo_points_to_volume_cc::node_rna(), blender::nodes::node_geo_proximity_cc::node_rna(), blender::nodes::node_geo_raycast_cc::node_rna(), blender::nodes::node_geo_remove_attribute_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_curve_normal_cc::node_rna(), blender::nodes::node_geo_set_grease_pencil_color_cc::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_subdivision_surface_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(), blender::nodes::node_geo_transform_geometry_cc::node_rna(), blender::nodes::node_geo_triangulate_cc::node_rna(), blender::nodes::node_geo_uv_unwrap_cc::node_rna(), blender::nodes::node_geo_viewer_cc::node_rna(), blender::nodes::node_geo_volume_to_mesh_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 152 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_node_type_base(), search_link_ops_for_tool_node(), search_link_ops_for_volume_grid_node(), and sh_node_type_base().
| void blender::nodes::search_link_ops_for_declarations | ( | GatherLinkSearchOpParams & | params, |
| Span< SocketDeclaration * > | declarations ) |
Definition at line 107 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 34 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::search_link_ops_for_volume_grid_node | ( | GatherLinkSearchOpParams & | params | ) |
Definition at line 41 of file node_geometry_util.cc.
References params, search_link_ops_for_basic_node(), U, and USER_EXPERIMENTAL_TEST.
Referenced by blender::nodes::node_geo_distribute_points_in_grid_cc::node_register(), blender::nodes::node_geo_get_named_grid_cc::node_register(), blender::nodes::node_geo_grid_to_mesh_cc::node_register(), blender::nodes::node_geo_mesh_to_density_grid_cc::node_register(), blender::nodes::node_geo_mesh_to_sdf_grid_cc::node_register(), blender::nodes::node_geo_points_to_sdf_grid_cc::node_register(), and blender::nodes::node_geo_sdf_grid_boolean_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 441 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::LazyFunctionForUndefinedNode::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 432 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().
| bool blender::nodes::should_log_socket_values_for_context | ( | const GeoNodesUserData & | user_data, |
| const ComputeContextHash | hash ) |
Definition at line 1170 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_has_attribute_toggle | ( | eNodeSocketDatatype | type | ) |
Definition at line 37 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 13 of file NOD_geo_bundle.hh.
References ELEM, 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_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, 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_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 978 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 523 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_bake_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(), 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 536 of file node_socket.cc.
References ELEM, SOCK_FLOAT, and SOCK_VECTOR.
Referenced by grid_socket_type_items_filter_fn(), and blender::ed::space_node::std_node_socket_interface_draw().
|
static |
Definition at line 320 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_STRING, and SOCK_VECTOR.
Referenced by blender::nodes::DeclarationListBuilder::add_input(), blender::nodes::DeclarationListBuilder::add_output(), and make_declaration_for_socket_type().
|
static |
Definition at line 787 of file geometry_nodes_execute.cc.
References blender::bke::MutableAttributeAccessor::add(), blender::bke::GeometryComponent::attributes_for_write(), blender::bke::cpp_type_to_custom_data_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 829 of file geometry_nodes_execute.cc.
References compute_attributes_to_store(), find_output_attributes_to_store(), blender::bke::Instance, blender::MultiValueMap< Key, Value >::keys(), blender::MultiValueMap< Key, Value >::size(), store_computed_output_attributes(), and tree.
Referenced by execute_geometry_nodes_on_geometry().
|
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 970 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_CopyPropertyContent(), IDP_FLAG_OVERRIDABLE_LIBRARY, IDP_FLAG_STATIC_TYPE, IDP_GetPropertyFromGroup(), IDP_Int, 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 510 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_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(), blender::nodes::socket_items::try_add_item_via_extend_socket(), blender::nodes::node_geo_closure_cc::output_node::try_initialize_closure_from_evaluator(), 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 1043 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().
| 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 1751 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 1772 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 32 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 31 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().