Blender
V3.3
|
#include <cstring>
#include <iostream>
#include <string>
#include "MEM_guardedalloc.h"
#include "BLI_array.hh"
#include "BLI_listbase.h"
#include "BLI_math_vec_types.hh"
#include "BLI_multi_value_map.hh"
#include "BLI_set.hh"
#include "BLI_string.h"
#include "BLI_string_search.h"
#include "BLI_utildefines.h"
#include "DNA_collection_types.h"
#include "DNA_curves_types.h"
#include "DNA_defaults.h"
#include "DNA_material_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_modifier_types.h"
#include "DNA_node_types.h"
#include "DNA_object_types.h"
#include "DNA_pointcloud_types.h"
#include "DNA_scene_types.h"
#include "DNA_screen_types.h"
#include "DNA_space_types.h"
#include "DNA_windowmanager_types.h"
#include "BKE_attribute_math.hh"
#include "BKE_customdata.h"
#include "BKE_geometry_fields.hh"
#include "BKE_geometry_set_instances.hh"
#include "BKE_global.h"
#include "BKE_idprop.h"
#include "BKE_lib_id.h"
#include "BKE_lib_query.h"
#include "BKE_main.h"
#include "BKE_mesh.h"
#include "BKE_modifier.h"
#include "BKE_node_runtime.hh"
#include "BKE_node_tree_update.h"
#include "BKE_object.h"
#include "BKE_pointcloud.h"
#include "BKE_screen.h"
#include "BKE_simulation.h"
#include "BKE_workspace.h"
#include "BLO_read_write.h"
#include "UI_interface.h"
#include "UI_interface.hh"
#include "UI_resources.h"
#include "BLT_translation.h"
#include "WM_types.h"
#include "RNA_access.h"
#include "RNA_enum_types.h"
#include "RNA_prototypes.h"
#include "DEG_depsgraph_build.h"
#include "DEG_depsgraph_query.h"
#include "MOD_modifiertypes.h"
#include "MOD_nodes.h"
#include "MOD_nodes_evaluator.hh"
#include "MOD_ui_common.h"
#include "ED_object.h"
#include "ED_screen.h"
#include "ED_spreadsheet.h"
#include "ED_undo.h"
#include "NOD_derived_node_tree.hh"
#include "NOD_geometry.h"
#include "NOD_geometry_nodes_eval_log.hh"
#include "NOD_node_declaration.hh"
#include "FN_field.hh"
#include "FN_field_cpp_type.hh"
#include "FN_multi_function.hh"
Go to the source code of this file.
Classes | |
struct | OutputAttributeInfo |
struct | OutputAttributeToStore |
struct | AttributeSearchData |
Variables | |
static const CustomData_MeshMasks | dependency_data_mask |
static const std::string | use_attribute_suffix = "_use_attribute" |
static const std::string | attribute_name_suffix = "_attribute_name" |
ModifierTypeInfo | modifierType_Nodes |
|
static |
Definition at line 1403 of file MOD_nodes.cc.
References blender::bke::allow_procedural_attribute_access(), attribute_search_exec_fn(), attribute_search_update_fn(), BLI_assert, C, blender::StringRefNull::c_str(), data, bNodeSocket::description, ED_object_context(), bNodeSocket::identifier, log(), MEM_freeN, NodesModifierData::modifier, ModifierData::name, RNA_string_get_alloc(), NodesModifierData::runtime_eval_log, STRNCPY, 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_MENU_ARROW_SEP, UI_UNIT_X, UI_UNIT_Y, uiDefIconTextButR(), uiItemR(), and uiLayoutGetBlock().
Referenced by add_attribute_search_or_value_buttons(), and draw_property_for_output_socket().
|
static |
Definition at line 1468 of file MOD_nodes.cc.
References add_attribute_search_button(), attribute_name_suffix, BLI_str_escape(), C, bNodeSocket::identifier, NodesModifierData::modifier, ModifierData::name, bNodeSocket::name, RNA_int_get(), RNA_string_set(), blender::io::alembic::split(), UI_LAYOUT_ALIGN_RIGHT, uiItemDecoratorR(), uiItemFullO(), uiItemL(), uiItemR(), uiLayoutRow(), uiLayoutSetAlignment(), uiLayoutSplit(), use_attribute_suffix, and WM_OP_INVOKE_DEFAULT.
Referenced by draw_property_for_socket().
|
static |
Definition at line 243 of file MOD_nodes.cc.
References DEG_add_collection_geometry_customdata_mask(), DEG_add_collection_geometry_relation(), dependency_data_mask, and ModifierUpdateDepsgraphContext::node.
Referenced by add_object_relation(), and updateDepsgraph().
|
static |
Definition at line 250 of file MOD_nodes.cc.
References add_collection_relation(), DEG_add_customdata_mask(), DEG_add_object_relation(), DEG_OB_COMP_GEOMETRY, DEG_OB_COMP_TRANSFORM, DEG_object_has_geometry_component(), dependency_data_mask, Object::id, ModifierUpdateDepsgraphContext::node, OB_EMPTY, ModifierUpdateDepsgraphContext::object, and type.
Referenced by updateDepsgraph().
Definition at line 135 of file MOD_nodes.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), Material::id, image(), LISTBASE_FOREACH, material, SOCK_COLLECTION, SOCK_IMAGE, SOCK_MATERIAL, SOCK_OBJECT, and SOCK_TEXTURE.
Referenced by process_nodes_for_depsgraph().
Definition at line 1383 of file MOD_nodes.cc.
References attribute_name_suffix, C, CTX_data_main(), CTX_wm_manager(), data, ED_undo_push(), get_modifier_data(), IDP_AssignString(), IDP_GetPropertyFromGroup(), blender::nodes::geometry_nodes_eval_log::GeometryAttributeInfo::name, NodesModifierSettings::properties, and NodesModifierData::settings.
Referenced by add_attribute_search_button(), and blender::ed::space_node::node_geometry_add_attribute_search_button().
|
static |
Definition at line 1352 of file MOD_nodes.cc.
References blender::Array< T, InlineBufferCapacity, Allocator >::as_span(), blender::ui::attribute_search_add_items(), blender::nodes::geometry_nodes_eval_log::GeometryValueLog::attributes(), C, CTX_data_main(), CTX_wm_manager(), data, get_modifier_data(), blender::Span< T >::index_range(), blender::nodes::geometry_nodes_eval_log::ModifierLog::input_geometry_log(), blender::nodes::geometry_nodes_eval_log::ModifierLog::output_geometry_log(), NodesModifierData::runtime_eval_log, blender::Span< T >::size(), and str.
Referenced by add_attribute_search_button(), and blender::ed::space_node::node_geometry_add_attribute_search_button().
|
static |
Definition at line 1779 of file MOD_nodes.cc.
References BLO_read_data_address, IDP_BlendDataRead, NodesModifierData::node_group, NodesModifierSettings::properties, NodesModifierData::runtime_eval_log, and NodesModifierData::settings.
|
static |
Definition at line 1766 of file MOD_nodes.cc.
References BLO_write_struct, IDP_BlendWrite(), NodesModifierSettings::properties, and NodesModifierData::settings.
BLI_STATIC_ASSERT | ( | std::is_trivially_destructible_v< AttributeSearchData > | , |
"" | |||
) |
|
static |
Definition at line 1183 of file MOD_nodes.cc.
References BKE_modifier_set_error(), ListBase::first, id_property_type_matches_socket(), IDP_GetPropertyFromGroup(), bNodeTree::inputs, LISTBASE_FOREACH_INDEX, ModifierData::name, NodesModifierData::node_group, NodesModifierSettings::properties, NodesModifierData::settings, and SOCK_GEOMETRY.
Referenced by modifyGeometry().
|
static |
Definition at line 314 of file MOD_nodes.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), GEO_NODE_INPUT_SCENE_TIME, LISTBASE_FOREACH, node, NODE_GROUP, and tree.
Referenced by dependsOnTime().
|
static |
Definition at line 922 of file MOD_nodes.cc.
References NodesModifierData::runtime_eval_log.
Referenced by compute_geometry(), and freeData().
|
static |
The computed values are stored in newly allocated arrays. They still have to be moved to the actual geometry.
Definition at line 989 of file MOD_nodes.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), component(), blender::bke::AttributeAccessor::domain_size(), blender::bke::AttributeAccessor::domain_supported(), GEO_COMPONENT_TYPE_CURVE, GEO_COMPONENT_TYPE_INSTANCES, GEO_COMPONENT_TYPE_MESH, GEO_COMPONENT_TYPE_POINT_CLOUD, GeometrySet::get_component_for_read(), GeometrySet::has(), blender::MultiValueMap< Key, Value >::items(), MEM_malloc_arrayN, OutputAttributeToStore::name, and type.
Referenced by store_output_attributes().
|
static |
Evaluate a node group to compute the output geometry.
Definition at line 1089 of file MOD_nodes.cc.
References blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), blender::CPPType::alignment(), blender::LinearAllocator< Allocator >::allocate(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::begin(), BKE_modifier_get_original(), blender::nodes::SocketRef::bsocket(), GeometrySet::clear(), clear_runtime_data(), blender::LinearAllocator< Allocator >::construct(), ModifierEvalContext::depsgraph, blender::modifiers::geometry_nodes::GeometryNodesEvaluationParams::depsgraph, blender::GMutablePointer::destruct(), blender::Span< T >::drop_back(), blender::Span< T >::drop_front(), blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::end(), blender::modifiers::geometry_nodes::evaluate_geometry_nodes(), blender::Vector< T, InlineBufferCapacity, Allocator >::extend(), find_sockets_to_preview(), blender::modifiers::geometry_nodes::GeometryNodesEvaluationParams::force_compute_sockets, blender::modifiers::geometry_nodes::GeometryNodesEvaluationParams::geo_logger, initialize_group_input(), blender::modifiers::geometry_nodes::GeometryNodesEvaluationParams::input_values, blender::nodes::NodeRef::inputs(), blender::Span< T >::is_empty(), blender::ResourceScope::linear_allocator(), logging_enabled(), blender::modifiers::geometry_nodes::GeometryNodesEvaluationParams::mf_by_node, NodesModifierData::modifier, blender::modifiers::geometry_nodes::GeometryNodesEvaluationParams::modifier_, ModifierEvalContext::object, blender::modifiers::geometry_nodes::GeometryNodesEvaluationParams::output_sockets, blender::modifiers::geometry_nodes::GeometryNodesEvaluationParams::r_output_values, NodesModifierData::runtime_eval_log, blender::modifiers::geometry_nodes::GeometryNodesEvaluationParams::self_object, blender::CPPType::size(), SOCK_GEOMETRY, store_output_attributes(), tree, and bNodeSocket::type.
Referenced by modifyGeometry().
|
static |
Definition at line 1792 of file MOD_nodes.cc.
References BKE_modifier_copydata_generic(), IDP_CopyProperty_ex(), NodesModifierSettings::properties, NodesModifierData::runtime_eval_log, and NodesModifierData::settings.
|
static |
Definition at line 334 of file MOD_nodes.cc.
References check_tree_for_time_node(), NodesModifierData::node_group, and tree.
|
static |
Definition at line 1582 of file MOD_nodes.cc.
References add_attribute_search_button(), attribute_name_suffix, BLI_str_escape(), C, bNodeSocket::identifier, bNodeSocket::name, blender::io::alembic::split(), UI_LAYOUT_ALIGN_RIGHT, uiItemL(), uiLayoutRow(), uiLayoutSetAlignment(), and uiLayoutSplit().
Referenced by output_attribute_panel_draw().
|
static |
Definition at line 1515 of file MOD_nodes.cc.
References add_attribute_search_or_value_buttons(), ARRAY_SIZE, BLI_snprintf(), BLI_str_escape(), C, id_property_type_matches_socket(), bNodeSocket::identifier, IDP_GetPropertyFromGroup(), input_has_attribute_toggle(), bNodeSocket::name, NodesModifierData::node_group, NodesModifierSettings::properties, NodesModifierData::settings, SOCK_COLLECTION, SOCK_IMAGE, SOCK_MATERIAL, SOCK_OBJECT, SOCK_TEXTURE, bNodeSocket::type, uiItemPointerR(), uiItemR(), uiLayoutRow(), and uiLayoutSetPropDecorate().
Referenced by panel_draw().
|
static |
The output attributes are organized based on their domain, because attributes on the same domain can be evaluated together.
Definition at line 946 of file MOD_nodes.cc.
References blender::MultiValueMap< Key, Value >::add(), blender::bke::allow_procedural_attribute_access(), blender::fn::ValueOrFieldCPPType::as_field(), bNodeSocket::attribute_domain, attribute_name_suffix, BLI_assert, BLI_findlink(), OutputAttributeInfo::field, blender::GPointer::get(), IDP_GetPropertyFromGroup(), IDP_String, blender::nodes::NodeRef::inputs(), blender::StringRefBase::is_empty(), NodesModifierData::node_group, bNodeTree::outputs, NodesModifierSettings::properties, NodesModifierData::settings, socket_type_has_attribute_toggle(), and blender::GPointer::type().
Referenced by store_output_attributes().
|
static |
Definition at line 907 of file MOD_nodes.cc.
References DEG_get_bmain(), ModifierEvalContext::depsgraph, find_sockets_to_preview_for_spreadsheet(), find_spreadsheet_editors(), and tree.
Referenced by compute_geometry().
|
static |
Definition at line 841 of file MOD_nodes.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), blender::Vector< T, InlineBufferCapacity, Allocator >::as_span(), blender::compositor::context, SpaceSpreadsheet::context_path, DEG_get_original_object(), blender::Vector< T, InlineBufferCapacity, Allocator >::last(), NodesModifierData::modifier, SpreadsheetContextModifier::modifier_name, ModifierData::name, blender::ed::space_node::node_context(), blender::nodes::NodeTreeRef::nodes(), blender::nodes::NodeTreeRef::nodes_by_type(), ModifierEvalContext::object, SpreadsheetContextObject::object, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), SPREADSHEET_CONTEXT_MODIFIER, SPREADSHEET_CONTEXT_NODE, SPREADSHEET_CONTEXT_OBJECT, tree, and type.
Referenced by find_sockets_to_preview().
|
static |
Definition at line 822 of file MOD_nodes.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::compositor::area(), bScreen::areabase, BKE_workspace_active_screen_get(), ListBase::first, if(), LISTBASE_FOREACH, SPACE_SPREADSHEET, SpaceLink::spacetype, wmWindowManager::windows, and Main::wm.
Referenced by find_sockets_to_preview().
|
static |
Definition at line 221 of file MOD_nodes.cc.
References IDP_foreach_property(), IDP_TYPE_FILTER_ID, NodesModifierSettings::properties, and user_data.
Referenced by updateDepsgraph().
|
static |
Definition at line 345 of file MOD_nodes.cc.
References IDP_foreach_property(), IDP_TYPE_FILTER_ID, IDWALK_CB_USER, NodesModifierData::node_group, NodesModifierSettings::properties, NodesModifierData::settings, and user_data.
|
static |
Definition at line 367 of file MOD_nodes.cc.
|
static |
Definition at line 1806 of file MOD_nodes.cc.
References clear_runtime_data(), IDP_FreeProperty_ex(), NodesModifierSettings::properties, and NodesModifierData::settings.
|
static |
Definition at line 1328 of file MOD_nodes.cc.
References BKE_libblock_find_session_uuid(), BKE_modifiers_findby_name(), BLI_assert, data, ED_screen_animation_playing(), eModifierType_Nodes, ID_OB, and ModifierData::type.
Referenced by attribute_search_exec_fn(), and attribute_search_update_fn().
|
static |
Definition at line 419 of file MOD_nodes.cc.
References IDPropertyUIDataInt::base, IDPropertyUIDataFloat::base, IDPropertyUIDataInt::default_value, IDPropertyUIDataFloat::default_value, bNodeSocket::default_value, double(), IDPropertyTemplate::f, IDPropertyTemplate::i, bNodeSocket::identifier, IDP_FLOAT, IDP_INT, IDP_New(), IDP_ui_data_ensure(), IDPropertyUIDataInt::max, IDPropertyUIDataFloat::max, IDPropertyUIDataInt::min, IDPropertyUIDataFloat::min, IDPropertyUIData::rna_subtype, SOCK_FLOAT, SOCK_INT, IDPropertyUIDataInt::soft_max, IDPropertyUIDataFloat::soft_max, IDPropertyUIDataInt::soft_min, IDPropertyUIDataFloat::soft_min, and bNodeSocket::type.
Referenced by MOD_nodes_update_interface().
|
static |
Definition at line 537 of file MOD_nodes.cc.
References BLI_assert_unreachable, ELEM, IDP_ARRAY, IDP_DOUBLE, IDP_FLOAT, IDP_ID, IDP_INT, IDP_STRING, SOCK_BOOLEAN, SOCK_COLLECTION, SOCK_FLOAT, SOCK_IMAGE, SOCK_INT, SOCK_MATERIAL, SOCK_OBJECT, SOCK_RGBA, SOCK_STRING, SOCK_TEXTURE, SOCK_VECTOR, IDProperty::type, and bNodeSocket::type.
Referenced by check_property_socket_sync(), draw_property_for_socket(), initialize_group_input(), and MOD_nodes_update_interface().
|
static |
Definition at line 563 of file MOD_nodes.cc.
References BLI_assert_unreachable, copy_v3_v3(), copy_v4_v4(), float(), GS, id, ID_GR, ID_IM, ID_MA, ID_OB, ID_TE, IDP_Array, IDP_Double, IDP_DOUBLE, IDP_Float, IDP_FLOAT, IDP_Id, IDP_Int, IDP_String, image(), material, ID::name, SOCK_BOOLEAN, SOCK_COLLECTION, SOCK_FLOAT, SOCK_IMAGE, SOCK_INT, SOCK_MATERIAL, SOCK_OBJECT, SOCK_RGBA, SOCK_STRING, SOCK_TEXTURE, SOCK_VECTOR, and IDProperty::type.
Referenced by initialize_group_input().
|
static |
Definition at line 126 of file MOD_nodes.cc.
References BLI_assert, DNA_struct_default_get, MEMCMP_STRUCT_AFTER_IS_ZERO, and MEMCPY_STRUCT_AFTER.
|
static |
Definition at line 765 of file MOD_nodes.cc.
References blender::bke::allow_procedural_attribute_access(), attribute_name_suffix, bNodeSocketType::base_cpp_type, BLI_assert, blender::nodes::SocketRef::bsocket(), blender::StringRefNull::c_str(), blender::fn::ValueOrFieldCPPType::construct_from_field(), bNodeSocketType::geometry_nodes_cpp_type, bNodeSocketType::get_geometry_nodes_cpp_value, id_property_type_matches_socket(), blender::nodes::SocketRef::identifier(), IDP_GetPropertyFromGroup(), IDP_Int, IDP_String, blender::nodes::SocketRef::index(), init_socket_cpp_value_from_property(), input_has_attribute_toggle(), NodesModifierData::node_group, NodesModifierSettings::properties, NodesModifierData::settings, bNodeSocket::type, blender::nodes::SocketRef::typeinfo(), and use_attribute_suffix.
Referenced by compute_geometry().
|
static |
Definition at line 411 of file MOD_nodes.cc.
References BLI_assert, and blender::nodes::FieldInferencingInterface::inputs.
Referenced by draw_property_for_socket(), and initialize_group_input().
Definition at line 1675 of file MOD_nodes.cc.
References Freestyle::a, blender::Vector< T, InlineBufferCapacity, Allocator >::append(), attribute, usdtokens::b(), blender::Vector< T, InlineBufferCapacity, Allocator >::begin(), blender::StringRefNull::c_str(), PointerRNA::data, blender::Vector< T, InlineBufferCapacity, Allocator >::end(), 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(), Panel::layout, log(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add_as(), modifier_panel_get_property_pointers(), ptr, NodesModifierData::runtime_eval_log, sort(), blender::io::alembic::split(), TIP_, UI_LAYOUT_ALIGN_RIGHT, uiItemL(), uiLayoutRow(), uiLayoutSetActive(), uiLayoutSetAlignment(), uiLayoutSplit(), and blender::nodes::geometry_nodes_eval_log::NodeLog::used_named_attributes().
Referenced by panelRegister().
|
static |
Definition at line 372 of file MOD_nodes.cc.
References NodesModifierData::node_group.
|
static |
Definition at line 385 of file MOD_nodes.cc.
References DEG_is_active(), ModifierEvalContext::depsgraph, ModifierEvalContext::flag, and MOD_APPLY_ORCO.
Referenced by compute_geometry().
void MOD_nodes_update_interface | ( | struct Object * | object, |
struct NodesModifierData * | nmd | ||
) |
Rebuild the list of properties based on the sockets exposed as the modifier's node group inputs. If any properties correspond to the old properties by name and type, carry over the values.
Definition at line 643 of file MOD_nodes.cc.
References attribute_name_suffix, BLI_assert, BLI_strdup(), DEG_id_tag_update(), IDPropertyUIData::description, IDProperty::flag, Object::id, id_property_create_from_socket(), id_property_type_matches_socket(), ID_RECALC_GEOMETRY, IDP_AddToGroup(), IDP_AssignString(), IDP_CopyPropertyContent(), IDP_FLAG_OVERRIDABLE_LIBRARY, IDP_FreeProperty(), IDP_GetPropertyFromGroup(), IDP_GROUP, IDP_Int, IDP_INT, IDP_New(), IDP_NewString(), IDP_STRING, IDP_ui_data_ensure(), IDP_ui_data_free(), bNodeTree::inputs, LISTBASE_FOREACH, LISTBASE_FOREACH_INDEX, MAX_NAME, NodesModifierData::node_group, bNodeTree::outputs, NodesModifierSettings::properties, NodesModifierData::settings, SOCK_GEOMETRY, socket_type_has_attribute_toggle(), IDProperty::ui_data, and use_attribute_suffix.
Referenced by blender::bke::NodeTreeMainUpdater::update_rooted().
|
static |
Definition at line 1225 of file MOD_nodes.cc.
References BKE_modifier_set_error(), CD_DEFAULT, CD_ORIGINDEX, check_property_socket_sync(), GeometrySet::clear(), compute_geometry(), CustomData_add_layer(), CustomData_has_layer(), Mesh::edata, GeometrySet::get_mesh_for_read(), GeometrySet::get_mesh_for_write(), GeometrySet::has_mesh(), blender::nodes::SocketRef::idname(), blender::nodes::NodeRef::inputs(), blender::Span< T >::is_empty(), mesh, NodesModifierData::node_group, blender::nodes::NodeTreeRef::nodes_by_type(), ModifierEvalContext::object, Mesh::pdata, blender::Span< T >::size(), Mesh::totedge, Mesh::totpoly, Mesh::totvert, tree, and Mesh::vdata.
Referenced by modifyGeometrySet(), and modifyMesh().
|
static |
Definition at line 1312 of file MOD_nodes.cc.
References modifyGeometry().
|
static |
Definition at line 1299 of file MOD_nodes.cc.
References BKE_mesh_new_nomain(), GeometrySet::create_with_mesh(), Editable, GeometrySet::get_component_for_write(), mesh, and modifyGeometry().
Definition at line 180 of file MOD_nodes.cc.
References GEO_NODE_COLLECTION_INFO, GEO_NODE_DEFORM_CURVES_ON_SURFACE, GEO_NODE_OBJECT_INFO, GEO_NODE_TRANSFORM_SPACE_RELATIVE, node, NodeGeometryObjectInfo::transform_space, and NodeGeometryCollectionInfo::transform_space.
Referenced by process_nodes_for_depsgraph().
Definition at line 1651 of file MOD_nodes.cc.
References C, PointerRNA::data, draw_property_for_output_socket(), Panel::layout, LISTBASE_FOREACH, modifier_panel_get_property_pointers(), NodesModifierData::node_group, bNodeTree::outputs, NodesModifierSettings::properties, ptr, NodesModifierData::settings, socket_type_has_attribute_toggle(), TIP_, uiItemL(), uiLayoutSetPropDecorate(), and uiLayoutSetPropSep().
Referenced by panelRegister().
Definition at line 1602 of file MOD_nodes.cc.
References C, CTX_data_main(), PointerRNA::data, draw_property_for_socket(), blender::nodes::geometry_nodes_eval_log::Info, bNodeTree::inputs, Panel::layout, LISTBASE_FOREACH_INDEX, log(), modifier_panel_end(), modifier_panel_get_property_pointers(), NodesModifierData::node_group, NodesModifierSettings::properties, ptr, RNA_main_pointer_create(), NodesModifierData::runtime_eval_log, NodesModifierData::settings, uiItemL(), uiLayoutSetPropDecorate(), uiLayoutSetPropSep(), uiTemplateID(), and blender::nodes::geometry_nodes_eval_log::NodeLog::warnings().
Referenced by panelRegister().
|
static |
Definition at line 1749 of file MOD_nodes.cc.
References eModifierType_Nodes, internal_dependencies_panel_draw(), modifier_panel_register(), modifier_subpanel_register(), N_, output_attribute_panel_draw(), and panel_draw().
|
static |
Definition at line 201 of file MOD_nodes.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), add_used_ids_from_sockets(), ELEM, if(), LISTBASE_FOREACH, node, NODE_CUSTOM_GROUP, NODE_GROUP, node_needs_own_transform_relation(), and tree.
Referenced by updateDepsgraph().
|
static |
Definition at line 1817 of file MOD_nodes.cc.
References CD_MASK_MDEFORMVERT, CD_MASK_PROP_ALL, and CustomData_MeshMasks::vmask.
|
static |
Definition at line 402 of file MOD_nodes.cc.
References ELEM, SOCK_BOOLEAN, SOCK_FLOAT, SOCK_INT, SOCK_RGBA, SOCK_VECTOR, and bNodeSocket::type.
Referenced by find_output_attributes_to_store(), MOD_nodes_update_interface(), and output_attribute_panel_draw().
|
static |
Definition at line 1032 of file MOD_nodes.cc.
References blender::bke::MutableAttributeAccessor::add(), attribute, component(), blender::bke::cpp_type_to_custom_data_type(), GeometrySet::get_component_for_write(), blender::bke::AttributeAccessor::lookup_meta_data(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write(), MEM_freeN, and blender::bke::MutableAttributeAccessor::remove().
Referenced by store_output_attributes().
|
static |
Definition at line 1072 of file MOD_nodes.cc.
References compute_attributes_to_store(), find_output_attributes_to_store(), and store_computed_output_attributes().
Referenced by compute_geometry().
|
static |
Definition at line 264 of file MOD_nodes.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), add_collection_relation(), add_object_relation(), Object::data, DEG_add_generic_id_relation(), DEG_add_modifier_to_transform_relation(), DEG_add_node_tree_output_relation(), find_used_ids_from_settings(), GS, id, Object::id, ID_GR, ID_IM, ID_OB, ID_TE, ID::name, ModifierUpdateDepsgraphContext::node, NodesModifierData::node_group, OB_CURVES, ModifierUpdateDepsgraphContext::object, process_nodes_for_depsgraph(), NodesModifierData::settings, Curves::surface, and Object::type.
|
static |
Definition at line 397 of file MOD_nodes.cc.
Referenced by add_attribute_search_or_value_buttons(), attribute_search_exec_fn(), draw_property_for_output_socket(), find_output_attributes_to_store(), initialize_group_input(), and MOD_nodes_update_interface().
|
static |
Definition at line 237 of file MOD_nodes.cc.
Referenced by add_collection_relation(), and add_object_relation().
ModifierTypeInfo modifierType_Nodes |
Definition at line 1827 of file MOD_nodes.cc.
|
static |
Definition at line 396 of file MOD_nodes.cc.
Referenced by add_attribute_search_or_value_buttons(), initialize_group_input(), and MOD_nodes_update_interface().