|
Blender V4.5
|
Namespaces | |
| namespace | id |
| namespace | animdata |
| namespace | attribute_math |
| namespace | bake |
| namespace | blendfile |
| namespace | brush |
| namespace | compositor |
| namespace | greasepencil |
| namespace | crazyspace |
| namespace | cryptomatte |
| namespace | curves |
| namespace | compare_geometry |
| namespace | idprop |
| namespace | image |
| namespace | liboverride |
| namespace | library |
| namespace | mesh |
| namespace | mesh_surface_sample |
| namespace | subdiv |
| namespace | nla |
| namespace | node_tree_reference_lifetimes |
| namespace | node_tree_runtime |
| namespace | node_field_inferencing |
| namespace | node_structure_type_inferencing |
| namespace | node_interface |
| namespace | outliner |
| namespace | pbvh |
| namespace | object |
| namespace | path_templates |
| namespace | preferences |
| namespace | shrinkwrap |
| namespace | ccg |
| namespace | volume_grid |
| namespace | tests |
| namespace | attribute_accessor_functions |
| namespace | calc_edges |
| namespace | forward_compat |
| namespace | versioning_internal |
| namespace | paint |
Typedefs | |
| using | FoundFCurveCallback = blender::FunctionRef<void(FCurve *fcurve, const char *bone_name)> |
| using | FoundFCurveCallbackConst |
| using | SelectedBoneCallback = blender::FunctionRef<void(Bone *bone)> |
| using | BoneNameSet = blender::Set<std::string> |
| using | AttributeForeachCallback |
| using | GeometryComponentPtr = ImplicitSharingPtr<GeometryComponent> |
| using | NodeIDVectorSet = CustomIDVectorSet<bNode *, NodeIDGetter> |
| using | Clock = std::chrono::high_resolution_clock |
| using | TreeNodePair = std::pair<bNodeTree *, bNode *> |
| using | ObjectModifierPair = std::pair<Object *, ModifierData *> |
| using | NodeSocketPair = std::pair<bNode *, bNodeSocket *> |
Enumerations | |
| enum class | AttrStorageType : int8_t { Array , Single } |
| enum class | AttrType : int16_t { Bool , Int8 , Int16_2D , Int32 , Int32_2D , Float , Float2 , Float3 , Float4x4 , ColorByte , ColorFloat , Quaternion , String } |
| enum class | AttrDomain : int8_t { Auto = -1 , Point = 0 , Edge = 1 , Face = 2 , Corner = 3 , Curve = 4 , Instance = 5 , Layer = 6 } |
| enum class | GeometryOwnershipType { Owned = 0 , Editable = 1 , ReadOnly = 2 } |
| enum class | MeshNormalDomain : int8_t { Face = 0 , Point = 1 , Corner = 2 } |
| enum | NodeSocketValueMenuRuntimeFlag { NODE_MENU_ITEMS_CONFLICT = (1 << 0) } |
| enum class | FieldSocketState : int8_t { RequiresSingle , CanBeField , IsField } |
Variables | |
| const char * | no_procedural_access_message |
| template<typename T> | |
| constexpr bool | is_geometry_component_v = std::is_base_of_v<GeometryComponent, T> |
| static AssetTypeInfo | AssetType_AC |
| constexpr StringRef | ATTR_POSITION = "position" |
| constexpr StringRef | ATTR_RADIUS = "radius" |
| constexpr StringRef | ATTR_TILT = "tilt" |
| constexpr StringRef | ATTR_CURVE_TYPE = "curve_type" |
| constexpr StringRef | ATTR_CYCLIC = "cyclic" |
| constexpr StringRef | ATTR_RESOLUTION = "resolution" |
| constexpr StringRef | ATTR_NORMAL_MODE = "normal_mode" |
| constexpr StringRef | ATTR_HANDLE_TYPE_LEFT = "handle_type_left" |
| constexpr StringRef | ATTR_HANDLE_TYPE_RIGHT = "handle_type_right" |
| constexpr StringRef | ATTR_HANDLE_POSITION_LEFT = "handle_left" |
| constexpr StringRef | ATTR_HANDLE_POSITION_RIGHT = "handle_right" |
| constexpr StringRef | ATTR_NURBS_ORDER = "nurbs_order" |
| constexpr StringRef | ATTR_NURBS_WEIGHT = "nurbs_weight" |
| constexpr StringRef | ATTR_NURBS_KNOTS_MODE = "knots_mode" |
| constexpr StringRef | ATTR_SURFACE_UV_COORDINATE = "surface_uv_coordinate" |
| template<typename T, typename U> | |
| static constexpr bool | is_single_or_field_or_grid_v |
| template<typename T> | |
| static constexpr bool | is_VolumeGrid_v |
Node Type Access | |
| enum class | eNodeSizePreset : int8_t { Default , Small , Middle , Large } |
| bool | node_group_poll (const bNodeTree *nodetree, const bNodeTree *grouptree, const char **r_disabled_hint) |
| void | node_type_base_custom (bNodeType &ntype, StringRefNull idname, StringRefNull name, StringRefNull enum_name, short nclass) |
| void | node_type_storage (bNodeType &ntype, std::optional< StringRefNull > storagename, void(*freefunc)(bNode *node), void(*copyfunc)(bNodeTree *dest_ntree, bNode *dest_node, const bNode *src_node)) |
| std::string | node_label (const bNodeTree &ntree, const bNode &node) |
| StringRefNull | node_socket_label (const bNodeSocket &sock) |
| std::optional< StringRefNull > | node_socket_short_label (const bNodeSocket &sock) |
| void | node_type_base (bNodeType &ntype, std::string idname, std::optional< int16_t > legacy_type=std::nullopt) |
| void | node_type_socket_templates (bNodeType *ntype, bNodeSocketTemplate *inputs, bNodeSocketTemplate *outputs) |
| void | node_type_size (bNodeType &ntype, int width, int minwidth, int maxwidth) |
| void | node_type_size_preset (bNodeType &ntype, eNodeSizePreset size) |
Put the most common types directly into the blender::bke namespace.
Definition at line 178 of file BKE_attribute.hh.
| using blender::bke::bNodeClassCallback = void (*)(void *calldata, int nclass, StringRefNull name) |
Definition at line 478 of file BKE_node.hh.
| using blender::bke::BoneNameSet = blender::Set<std::string> |
Definition at line 696 of file BKE_armature.hh.
| using blender::bke::Clock = std::chrono::high_resolution_clock |
Definition at line 1484 of file blenkernel/intern/modifier.cc.
| using blender::bke::FoundFCurveCallback = blender::FunctionRef<void(FCurve *fcurve, const char *bone_name)> |
Definition at line 374 of file BKE_action.hh.
Definition at line 375 of file BKE_action.hh.
Definition at line 56 of file BKE_geometry_set.hh.
| using blender::bke::NodeBlendDataReadFunction = void (*)(bNodeTree &tree, bNode &node, BlendDataReader &reader) |
Definition at line 145 of file BKE_node.hh.
Definition at line 142 of file BKE_node.hh.
Definition at line 117 of file BKE_node.hh.
| using blender::bke::NodeDeclareFunction = void (*)(blender::nodes::NodeDeclarationBuilder &builder) |
Definition at line 116 of file BKE_node.hh.
| using blender::bke::NodeElemEvalFunction = void (*)(blender::nodes::value_elem::ElemEvalParams ¶ms) |
Definition at line 137 of file BKE_node.hh.
Definition at line 214 of file BKE_node.hh.
| using blender::bke::NodeExtraInfoFunction = void (*)(blender::nodes::NodeExtraInfoParams ¶ms) |
Definition at line 134 of file BKE_node.hh.
| using blender::bke::NodeFreeExecFunction = void (*)(void *nodedata) |
Definition at line 213 of file BKE_node.hh.
Definition at line 128 of file BKE_node.hh.
Definition at line 124 of file BKE_node.hh.
| using blender::bke::NodeGeometryExecFunction = void (*)(blender::nodes::GeoNodeExecParams params) |
Definition at line 115 of file BKE_node.hh.
Definition at line 131 of file BKE_node.hh.
Definition at line 216 of file BKE_node.hh.
Definition at line 70 of file BKE_node_runtime.hh.
Definition at line 210 of file BKE_node.hh.
Definition at line 139 of file BKE_node.hh.
Definition at line 135 of file BKE_node.hh.
| using blender::bke::NodeInverseEvalFunction = void (*)(blender::nodes::inverse_eval::InverseEvalParams ¶ms) |
Definition at line 138 of file BKE_node.hh.
| using blender::bke::NodeMaterialXFunction = void (*)(void *data, bNode *node, bNodeSocket *out) |
Definition at line 218 of file BKE_node.hh.
| using blender::bke::NodeMultiFunctionBuildFunction = void (*)(blender::nodes::NodeMultiFunctionBuilder &builder) |
Definition at line 114 of file BKE_node.hh.
| using blender::bke::NodeSocketPair = std::pair<bNode *, bNodeSocket *> |
Definition at line 203 of file node_tree_update.cc.
| using blender::bke::ObjectModifierPair = std::pair<Object *, ModifierData *> |
Definition at line 202 of file node_tree_update.cc.
| using blender::bke::SelectedBoneCallback = blender::FunctionRef<void(Bone *bone)> |
Definition at line 692 of file BKE_armature.hh.
| using blender::bke::SocketGetCPPValueFunction = void (*)(const void *socket_value, void *r_value) |
Definition at line 120 of file BKE_node.hh.
| using blender::bke::SocketGetGeometryNodesCPPValueFunction = void (*)(const void *socket_value, void *r_value) |
Definition at line 121 of file BKE_node.hh.
| using blender::bke::TreeNodePair = std::pair<bNodeTree *, bNode *> |
Definition at line 201 of file node_tree_update.cc.
|
strong |
| Enumerator | |
|---|---|
| Auto | |
| Point | |
| Edge | |
| Face | |
| Corner | |
| Curve | |
| Instance | |
| Layer | |
Definition at line 63 of file BKE_attribute.hh.
|
strong |
Some storage types are only relevant for certain attribute types.
| Enumerator | |
|---|---|
| Array | #AttributeDataArray. |
| Single | A single value for the whole attribute. |
Definition at line 37 of file BKE_attribute.hh.
|
strong |
| Enumerator | |
|---|---|
| Bool | |
| Int8 | |
| Int16_2D | |
| Int32 | |
| Int32_2D | |
| Float | |
| Float2 | |
| Float3 | |
| Float4x4 | |
| ColorByte | |
| ColorFloat | |
| Quaternion | |
| String | |
Definition at line 44 of file BKE_attribute.hh.
|
strong |
| Enumerator | |
|---|---|
| Default | |
| Small | |
| Middle | |
| Large | |
Definition at line 1135 of file BKE_node.hh.
|
strong |
| Enumerator | |
|---|---|
| RequiresSingle | |
| CanBeField | |
| IsField | |
Definition at line 58 of file BKE_node_runtime.hh.
|
strong |
| Enumerator | |
|---|---|
| Owned | |
| Editable | |
| ReadOnly | |
Definition at line 47 of file BKE_geometry_set.hh.
|
strong |
The complexity requirement of attribute domains needed to process normals. See #Mesh::normals_domain().
Definition at line 57 of file BKE_mesh_types.hh.
|
strong |
Color tag stored per node group. This affects the header color of group nodes. Note that these values are written to DNA.
This is separate from the NODE_CLASS_* enum, because those have some additional items and are not purely color tags. Some classes also have functional effects (e.g. NODE_CLASS_INPUT).
| Enumerator | |
|---|---|
| None | |
| Attribute | |
| Color | |
| Converter | |
| Distort | |
| Filter | |
| Geometry | |
| Input | |
| Matte | |
| Output | |
| Script | |
| Shader | |
| Texture | |
| Vector | |
| Pattern | |
| Interface | |
| Group | |
Definition at line 458 of file BKE_node.hh.
| Enumerator | |
|---|---|
| NODE_MENU_ITEMS_CONFLICT | |
Definition at line 19 of file BKE_node_enum.hh.
|
static |
Definition at line 749 of file blenkernel/intern/action.cc.
References action_asset_type_property(), BKE_asset_metadata_idprop_ensure(), BLI_assert, GS, bAction::id, ID_AC, and ID::name.
|
static |
Definition at line 742 of file blenkernel/intern/action.cc.
References blender::bke::idprop::create().
Referenced by action_asset_metadata_ensure().
|
static |
Definition at line 685 of file blenkernel/intern/action.cc.
References blender::animrig::versioning::action_is_layered(), BKE_fcurve_blend_read_data_listbase(), BKE_previewimg_blend_read(), BKE_time_markers_blend_read(), BLI_assert, BLI_endian_switch_int16(), BLI_listbase_clear(), BLI_listbase_is_empty(), BLO_read_requires_endian_switch(), BLO_read_struct, BLO_read_struct_list, bAction::curves, bAction::groups, bAction::idroot, LISTBASE_FOREACH, bAction::markers, bAction::preview, read_layers(), read_slots(), read_strip_keyframe_data_array(), and wrap().
|
static |
Definition at line 499 of file blenkernel/intern/action.cc.
References action_blend_write_clear_legacy_channel_groups_listbase(), action_blend_write_clear_legacy_fcurves_listbase(), action_blend_write_make_legacy_channel_groups_listbase(), action_blend_write_make_legacy_fcurves_listbase(), blender::animrig::assert_baklava_phase_1_invariants(), BKE_fcurve_blend_write_listbase(), BKE_id_blend_write(), BKE_previewimg_blend_write(), BKE_time_markers_blend_write(), BLI_assert_msg, BLI_listbase_is_empty(), BLO_write_id_struct, BLO_write_is_undo(), BLO_write_struct, blender::animrig::Channelbag::channel_groups(), bAction::curves, blender::animrig::Channelbag::fcurves(), bAction::groups, ActionSlot::handle, bAction::id, bAction::idroot, ActionSlot::idtype, blender::animrig::Action::is_action_layered(), blender::animrig::Action::layers(), LISTBASE_FOREACH, bAction::markers, bAction::preview, blender::animrig::Action::slot(), bAction::slot_array_num, blender::animrig::Action::slots(), blender::animrig::Action::strip_keyframe_data(), wrap(), write_layers(), write_slots(), and write_strip_keyframe_data_array().
|
static |
Definition at line 445 of file blenkernel/intern/action.cc.
References BLI_listbase_clear(), and LISTBASE_FOREACH_MUTABLE.
Referenced by action_blend_write().
|
static |
Definition at line 489 of file blenkernel/intern/action.cc.
References BLI_listbase_clear(), and LISTBASE_FOREACH_MUTABLE.
Referenced by action_blend_write().
|
static |
Create a listbase from a Span of channel groups.
Definition at line 411 of file blenkernel/intern/action.cc.
References BLI_listbase_clear(), blender::Span< T >::first(), ListBase::first, blender::Span< T >::index_range(), blender::Span< T >::is_empty(), blender::Span< T >::last(), ListBase::last, and blender::Span< T >::size().
Referenced by action_blend_write().
|
static |
Create a listbase from a Span of F-Curves.
Definition at line 470 of file blenkernel/intern/action.cc.
References BLI_listbase_clear(), ListBase::first, blender::Span< T >::index_range(), blender::Span< T >::is_empty(), ListBase::last, and blender::Span< T >::size().
Referenced by action_blend_write().
|
static |
Only copy internal data of Action ID from source to already allocated/initialized destination. You probably never want to use that directly, use BKE_id_copy or BKE_id_copy_ex for typical needs.
WARNING! This function will not handle ID user count!
| flag | Copying options (see BKE_lib_id.hh's LIB_ID_COPY_... flags for more). |
Definition at line 120 of file blenkernel/intern/action.cc.
References BKE_copy_time_markers(), BKE_fcurve_copy(), BKE_previewimg_id_copy(), BLI_addtail(), BLI_duplicatelist(), BLI_listbase_clear(), bActionGroup::channels, bAction::curves, blender::animrig::Layer::duplicate_with_shallow_strip_copies(), ListBase::first, flag, bAction::groups, FCurve::grp, i, bAction::id, ListBase::last, bAction::last_slot_handle, blender::animrig::Action::layer(), bAction::layer_active_index, bAction::layer_array, bAction::layer_array_num, blender::animrig::Action::layers(), LIB_ID_COPY_NO_PREVIEW, bAction::markers, MEM_calloc_arrayN(), bActionGroup::next, FCurve::next, bAction::preview, blender::animrig::Action::slot(), bAction::slot_array, bAction::slot_array_num, blender::animrig::Action::slots(), blender::animrig::Action::strip_keyframe_data(), bAction::strip_keyframe_data_array, and bAction::strip_keyframe_data_array_num.
|
static |
Definition at line 244 of file blenkernel/intern/action.cc.
References BKE_LIB_FOREACHID_PROCESS_ID, BKE_LIB_FOREACHID_PROCESS_ID_NOCHECK, BKE_LIB_FOREACHID_PROCESS_IDSUPER, BKE_lib_query_foreachid_process_flags_get(), BKE_lib_query_foreachid_process_main_get(), BLI_assert_msg, data, flag, IDWALK_CB_LOOPBACK, IDWALK_CB_NEVER_SELF, IDWALK_CB_NOP, IDWALK_CB_USER, IDWALK_DO_DEPRECATED_POINTERS, IDWALK_READONLY, Main::is_action_slot_to_id_map_dirty, LISTBASE_FOREACH, bAction::markers, blender::animrig::Action::slots(), blender::animrig::Slot::users_invalidate(), and wrap().
|
static |
Free (or release) any data used by this action (does not free the action itself).
Definition at line 208 of file blenkernel/intern/action.cc.
References BKE_fcurves_free(), BKE_previewimg_free(), BLI_assert, BLI_freelistN(), bAction::curves, bAction::groups, blender::animrig::Action::is_empty(), bAction::layer_array, bAction::layer_array_num, blender::animrig::Action::layers(), bAction::markers, MEM_SAFE_FREE, bAction::preview, bAction::slot_array, bAction::slot_array_num, blender::animrig::Action::slots(), blender::animrig::Action::strip_keyframe_data(), bAction::strip_keyframe_data_array, bAction::strip_keyframe_data_array_num, and wrap().
|
static |
Definition at line 101 of file blenkernel/intern/action.cc.
References BLI_assert, DNA_struct_default_get, GS, ID_AC, MEMCMP_STRUCT_AFTER_IS_ZERO, MEMCPY_STRUCT_AFTER, and ID::name.
|
static |
Definition at line 1802 of file curves_geometry.cc.
References adapt_curve_domain_curve_to_point(), blender::bke::attribute_math::convert_to_static_type(), and blender::GVArrayCommon::type().
Referenced by adapt_curve_domain_curve_to_point(), and blender::bke::CurvesGeometry::adapt_domain().
|
static |
Copy the value from a curve to all of its points.
Definition at line 1792 of file curves_geometry.cc.
References adapt_curve_domain_curve_to_point_impl(), blender::MutableSpan< T >::fill(), and blender::MutableSpan< T >::slice().
Referenced by adapt_curve_domain_curve_to_point_impl().
|
static |
Definition at line 1769 of file curves_geometry.cc.
References adapt_curve_domain_point_to_curve(), blender::bke::attribute_math::convert_to_static_type(), and blender::GVArrayCommon::type().
Referenced by adapt_curve_domain_point_to_curve(), and blender::bke::CurvesGeometry::adapt_domain().
| void blender::bke::adapt_curve_domain_point_to_curve_impl | ( | const CurvesGeometry & | curves, |
| const VArray< bool > & | old_values, | ||
| MutableSpan< bool > | r_values ) |
A curve is selected if all of its control points were selected.
Definition at line 1753 of file curves_geometry.cc.
References adapt_curve_domain_point_to_curve_impl(), and blender::MutableSpan< T >::fill().
|
static |
Mix together all of a curve's control point values.
Definition at line 1728 of file curves_geometry.cc.
References adapt_curve_domain_point_to_curve_impl(), and blender::threading::parallel_for().
Referenced by adapt_curve_domain_point_to_curve_impl(), and adapt_curve_domain_point_to_curve_impl().
|
static |
Definition at line 690 of file attribute_access.cc.
References blender::bke::AttributeAccessor::adapt_domain(), custom_data_type_to_cpp_type(), blender::bke::GAttributeReader::domain, blender::bke::GAttributeReader::sharing_info, try_adapt_data_type(), blender::GVArrayCommon::type(), and blender::bke::GAttributeReader::varray.
Referenced by blender::bke::AttributeIter::get(), and blender::bke::AttributeAccessor::lookup().
|
static |
Definition at line 629 of file mesh_attributes.cc.
References adapt_mesh_attribute_domain(), adapt_mesh_domain_corner_to_edge(), adapt_mesh_domain_corner_to_face(), adapt_mesh_domain_corner_to_point(), adapt_mesh_domain_edge_to_corner(), adapt_mesh_domain_edge_to_face(), adapt_mesh_domain_edge_to_point(), adapt_mesh_domain_face_to_corner(), adapt_mesh_domain_face_to_edge(), adapt_mesh_domain_face_to_point(), adapt_mesh_domain_point_to_corner(), adapt_mesh_domain_point_to_edge(), adapt_mesh_domain_point_to_face(), BUFFER_FOR_CPP_TYPE_VALUE, can_simple_adapt_for_single(), Corner, Edge, Face, blender::GVArray::ForSingle(), blender::GVArrayCommon::get_internal_single(), blender::GVArrayCommon::is_empty(), blender::GVArrayCommon::is_single(), Point, and blender::GVArrayCommon::type().
Referenced by adapt_mesh_attribute_domain(), and get_mesh_accessor_functions().
|
static |
Definition at line 214 of file mesh_attributes.cc.
References adapt_mesh_domain_corner_to_edge(), blender::bke::attribute_math::convert_to_static_type(), and blender::GVArrayCommon::type().
Referenced by adapt_mesh_attribute_domain(), and adapt_mesh_domain_corner_to_edge().
| void blender::bke::adapt_mesh_domain_corner_to_edge_impl | ( | const Mesh & | mesh, |
| const VArray< bool > & | old_values, | ||
| MutableSpan< bool > | r_values ) |
Definition at line 180 of file mesh_attributes.cc.
References adapt_mesh_domain_corner_to_edge_impl(), BLI_assert, blender::bke::LooseGeomCache::count, blender::bke::mesh::face_corner_next(), faces, blender::MutableSpan< T >::fill(), blender::threading::parallel_for(), and blender::MutableSpan< T >::size().
|
static |
Definition at line 153 of file mesh_attributes.cc.
References adapt_mesh_domain_corner_to_edge_impl(), BLI_assert, blender::bke::mesh::face_corner_next(), faces, and blender::MutableSpan< T >::size().
Referenced by adapt_mesh_domain_corner_to_edge_impl(), and adapt_mesh_domain_corner_to_edge_impl().
|
static |
Definition at line 114 of file mesh_attributes.cc.
References adapt_mesh_domain_corner_to_face(), blender::bke::attribute_math::convert_to_static_type(), faces, and blender::GVArrayCommon::type().
Referenced by adapt_mesh_attribute_domain(), and adapt_mesh_domain_corner_to_face().
|
static |
Definition at line 81 of file mesh_attributes.cc.
References adapt_mesh_domain_corner_to_point(), blender::bke::attribute_math::convert_to_static_type(), and blender::GVArrayCommon::type().
Referenced by adapt_mesh_attribute_domain(), and adapt_mesh_domain_corner_to_point().
| void blender::bke::adapt_mesh_domain_corner_to_point_impl | ( | const Mesh & | mesh, |
| const VArray< bool > & | src, | ||
| MutableSpan< bool > | r_dst ) |
Definition at line 50 of file mesh_attributes.cc.
References adapt_mesh_domain_corner_to_point_impl(), BLI_assert, blender::MutableSpan< T >::fill(), blender::threading::parallel_for(), and blender::MutableSpan< T >::size().
|
static |
Definition at line 25 of file mesh_attributes.cc.
References BLI_assert, faces, blender::offset_indices::GroupedSpan< T >::index_range(), blender::threading::parallel_for(), and blender::MutableSpan< T >::size().
Referenced by adapt_mesh_domain_corner_to_point_impl().
|
static |
Definition at line 484 of file mesh_attributes.cc.
References adapt_mesh_domain_edge_to_corner(), blender::bke::attribute_math::convert_to_static_type(), and blender::GVArrayCommon::type().
Referenced by adapt_mesh_attribute_domain(), and adapt_mesh_domain_edge_to_corner().
| void blender::bke::adapt_mesh_domain_edge_to_corner_impl | ( | const Mesh & | mesh, |
| const VArray< bool > & | old_values, | ||
| MutableSpan< bool > | r_values ) |
Definition at line 459 of file mesh_attributes.cc.
References adapt_mesh_domain_edge_to_corner_impl(), BLI_assert, faces, blender::MutableSpan< T >::fill(), blender::threading::parallel_for(), and blender::MutableSpan< T >::size().
| void blender::bke::adapt_mesh_domain_edge_to_corner_impl | ( | const Mesh & | mesh, |
| const VArray< T > & | old_values, | ||
| MutableSpan< T > | r_values ) |
Definition at line 431 of file mesh_attributes.cc.
References adapt_mesh_domain_edge_to_corner_impl(), BLI_assert, blender::bke::mesh::face_corner_prev(), faces, and blender::MutableSpan< T >::size().
Referenced by adapt_mesh_domain_edge_to_corner_impl(), and adapt_mesh_domain_edge_to_corner_impl().
|
static |
Definition at line 553 of file mesh_attributes.cc.
References adapt_mesh_domain_edge_to_face(), blender::bke::attribute_math::convert_to_static_type(), faces, and blender::GVArrayCommon::type().
Referenced by adapt_mesh_attribute_domain(), and adapt_mesh_domain_edge_to_face().
|
static |
Definition at line 540 of file mesh_attributes.cc.
References adapt_mesh_domain_edge_to_point(), blender::bke::attribute_math::convert_to_static_type(), and blender::GVArrayCommon::type().
Referenced by adapt_mesh_attribute_domain(), and adapt_mesh_domain_edge_to_point().
| void blender::bke::adapt_mesh_domain_edge_to_point_impl | ( | const Mesh & | mesh, |
| const VArray< bool > & | old_values, | ||
| MutableSpan< bool > | r_values ) |
Definition at line 519 of file mesh_attributes.cc.
References adapt_mesh_domain_edge_to_point_impl(), BLI_assert, blender::MutableSpan< T >::fill(), blender::Span< T >::index_range(), blender::threading::parallel_for(), and blender::MutableSpan< T >::size().
|
static |
Definition at line 498 of file mesh_attributes.cc.
References adapt_mesh_domain_edge_to_point_impl(), BLI_assert, blender::MutableSpan< T >::size(), and T.
Referenced by adapt_mesh_domain_edge_to_point_impl(), and adapt_mesh_domain_edge_to_point_impl().
|
static |
Definition at line 294 of file mesh_attributes.cc.
References adapt_mesh_domain_face_to_corner(), blender::bke::attribute_math::convert_to_static_type(), and blender::GVArrayCommon::type().
Referenced by adapt_mesh_attribute_domain(), and adapt_mesh_domain_face_to_corner().
| void blender::bke::adapt_mesh_domain_face_to_corner_impl | ( | const Mesh & | mesh, |
| const VArray< T > & | old_values, | ||
| MutableSpan< T > | r_values ) |
Definition at line 279 of file mesh_attributes.cc.
References adapt_mesh_domain_face_to_corner_impl(), BLI_assert, faces, blender::threading::parallel_for(), and blender::MutableSpan< T >::size().
Referenced by adapt_mesh_domain_face_to_corner_impl().
|
static |
Definition at line 349 of file mesh_attributes.cc.
References adapt_mesh_domain_face_to_edge(), blender::bke::attribute_math::convert_to_static_type(), and blender::GVArrayCommon::type().
Referenced by adapt_mesh_attribute_domain(), and adapt_mesh_domain_face_to_edge().
| void blender::bke::adapt_mesh_domain_face_to_edge_impl | ( | const Mesh & | mesh, |
| const VArray< bool > & | old_values, | ||
| MutableSpan< bool > | r_values ) |
Definition at line 329 of file mesh_attributes.cc.
References adapt_mesh_domain_face_to_edge_impl(), BLI_assert, faces, blender::MutableSpan< T >::fill(), blender::threading::parallel_for(), and blender::MutableSpan< T >::size().
| void blender::bke::adapt_mesh_domain_face_to_edge_impl | ( | const Mesh & | mesh, |
| const VArray< T > & | old_values, | ||
| MutableSpan< T > | r_values ) |
Definition at line 308 of file mesh_attributes.cc.
References adapt_mesh_domain_face_to_edge_impl(), BLI_assert, faces, blender::MutableSpan< T >::size(), blender::Span< T >::slice(), and T.
Referenced by adapt_mesh_domain_face_to_edge_impl(), and adapt_mesh_domain_face_to_edge_impl().
|
static |
Definition at line 264 of file mesh_attributes.cc.
References adapt_mesh_domain_face_to_point(), blender::bke::attribute_math::convert_to_static_type(), and blender::GVArrayCommon::type().
Referenced by adapt_mesh_attribute_domain(), and adapt_mesh_domain_face_to_point().
| void blender::bke::adapt_mesh_domain_face_to_point_impl | ( | const Mesh & | mesh, |
| const VArray< bool > & | src, | ||
| MutableSpan< bool > | r_dst ) |
Definition at line 248 of file mesh_attributes.cc.
References adapt_mesh_domain_face_to_point_impl(), BLI_assert, blender::offset_indices::GroupedSpan< T >::index_range(), blender::threading::parallel_for(), and blender::MutableSpan< T >::size().
| void blender::bke::adapt_mesh_domain_face_to_point_impl | ( | const Mesh & | mesh, |
| const VArray< T > & | src, | ||
| MutableSpan< T > | r_dst ) |
Definition at line 228 of file mesh_attributes.cc.
References adapt_mesh_domain_face_to_point_impl(), BLI_assert, blender::offset_indices::GroupedSpan< T >::index_range(), blender::threading::parallel_for(), and blender::MutableSpan< T >::size().
Referenced by adapt_mesh_domain_face_to_point_impl(), and adapt_mesh_domain_face_to_point_impl().
|
static |
Each corner's value is simply a copy of the value at its vertex.
Definition at line 99 of file mesh_attributes.cc.
References adapt_mesh_domain_point_to_corner(), blender::bke::attribute_math::convert_to_static_type(), and blender::GVArrayCommon::type().
Referenced by adapt_mesh_attribute_domain(), and adapt_mesh_domain_point_to_corner().
|
static |
Definition at line 402 of file mesh_attributes.cc.
References adapt_mesh_domain_point_to_edge(), blender::bke::attribute_math::convert_to_static_type(), and blender::GVArrayCommon::type().
Referenced by adapt_mesh_attribute_domain(), and adapt_mesh_domain_point_to_edge().
|
static |
Definition at line 362 of file mesh_attributes.cc.
References adapt_mesh_domain_point_to_face(), blender::bke::attribute_math::convert_to_static_type(), faces, and blender::GVArrayCommon::type().
Referenced by adapt_mesh_attribute_domain(), and adapt_mesh_domain_point_to_face().
|
static |
Definition at line 2123 of file mesh_legacy_convert.cc.
References BKE_ntree_update_after_single_tree_change(), bNode::custom1, DATA_, DEG2RADF, Edge, Face, GeometryNodeAssetTraits::flag, GEO_NODE_ASSET_MODIFIER, bNodeTree::geometry_node_asset_traits, LISTBASE_FOREACH, bNode::location, MEM_callocN(), bNodeSocketValueFloat::min, node_add_link(), node_add_node(), NODE_BOOLEAN_MATH_AND, NODE_COMPARE_LESS_EQUAL, node_find_socket(), NODE_INTERFACE_SOCKET_INPUT, NODE_INTERFACE_SOCKET_OUTPUT, node_set_selected(), node_tree_add_in_lib(), bNodeTree::nodes, bNode::outputs, PROP_ANGLE, SOCK_HIDDEN, SOCK_IN, SOCK_OUT, bNodeTreeInterfaceSocket::socket_data, bNode::storage, STREQ, and bNodeTree::tree_interface.
Referenced by BKE_main_mesh_legacy_convert_auto_smooth().
|
static |
Definition at line 351 of file attribute_access.cc.
References add_generic_custom_data_layer(), add_generic_custom_data_layer_with_existing_data(), CD_CONSTRUCT, CD_SET_DEFAULT, blender::bke::AttributeInit::Construct, data, blender::bke::AttributeInit::DefaultValue, domain_num(), blender::CPPType::fill_assign_n(), blender::GPointer::get(), blender::GVArrayCommon::index_range(), init(), blender::GVArrayCommon::materialize_to_uninitialized(), blender::bke::AttributeInit::MoveArray, blender::bke::AttributeInit::Shared, CustomData::totlayer, blender::bke::AttributeInit::type, blender::GPointer::type(), and blender::bke::AttributeInit::VArray.
Referenced by blender::bke::BuiltinCustomDataLayerProvider::try_create(), and blender::bke::CustomDataAttributeProvider::try_create().
|
static |
Definition at line 22 of file geometry_set_instances.cc.
References BKE_mesh_wrapper_ensure_mdata(), BKE_modifier_get_evaluated_mesh_from_evaluated_object(), BKE_object_get_evaluated_mesh_no_subsurf(), ReadOnly, and blender::bke::GeometrySet::replace_mesh().
Referenced by object_get_evaluated_geometry_set().
|
static |
Definition at line 330 of file attribute_access.cc.
References CustomData_add_layer_named().
Referenced by add_custom_data_layer_from_attribute_init().
|
static |
Definition at line 339 of file attribute_access.cc.
References CustomData_add_layer_named_with_data().
Referenced by add_custom_data_layer_from_attribute_init().
|
static |
Definition at line 20 of file type_conversions.cc.
References blender::bke::DataTypeConversions::add(), blender::CPPType::get(), and blender::CPPType::name().
Referenced by create_implicit_conversions().
|
static |
Definition at line 167 of file mesh_data_update.cc.
References BKE_mesh_orco_verts_transform(), CD_ORCO, blender::MutableSpan< T >::copy_from(), Object::data, get_orco_coords(), blender::MutableSpan< T >::is_empty(), blender::Span< T >::is_empty(), orco_coord_layer_ensure(), and Mesh::verts_num.
Referenced by editbmesh_calc_modifiers(), and mesh_calc_modifiers().
|
static |
Definition at line 4171 of file node.cc.
References bNodeTree::links, and LISTBASE_FOREACH.
Referenced by node_internal_relink(), and node_unlink_node().
| Span< int > blender::bke::all_zone_input_node_types | ( | ) |
Definition at line 533 of file node_tree_zones.cc.
References all_zone_types(), and blender::Vector< T, InlineBufferCapacity, Allocator >::append().
Referenced by discover_tree_zones(), blender::bke::node_tree_runtime::get_implicit_target_nodes(), blender::ed::space_node::remap_node_pairing(), and blender::ed::space_node::remap_pairing().
| Span< int > blender::bke::all_zone_node_types | ( | ) |
Definition at line 520 of file node_tree_zones.cc.
References all_zone_types(), and blender::Vector< T, InlineBufferCapacity, Allocator >::append().
Referenced by blender::ed::space_node::node_draw_basis().
| Span< int > blender::bke::all_zone_output_node_types | ( | ) |
Definition at line 545 of file node_tree_zones.cc.
References all_zone_types(), and blender::Vector< T, InlineBufferCapacity, Allocator >::append().
Referenced by discover_tree_zones(), blender::bke::node_tree_runtime::get_implicit_origin_nodes(), and blender::ed::space_node::remap_node_pairing().
| Span< const bNodeZoneType * > blender::bke::all_zone_types | ( | ) |
Definition at line 515 of file node_tree_zones.cc.
References get_zone_types_vector().
Referenced by all_zone_input_node_types(), all_zone_node_types(), all_zone_output_node_types(), find_zone_nodes(), blender::ed::space_node::node_group_make_test_selected(), blender::ed::space_node::node_select_paired(), and zone_type_by_node_type().
| bool blender::bke::allow_procedural_attribute_access | ( | StringRef | attribute_name | ) |
Definition at line 197 of file attribute_access.cc.
References blender::StringRefBase::startswith(), UV_EDGESEL_NAME, UV_PINNED_NAME, and UV_VERTSEL_NAME.
Referenced by blender::nodes::add_attribute_search_button(), blender::ui::attribute_search_add_items(), BKE_attributes_active_name_get(), ensure_weight_attribute_meta_data(), blender::nodes::find_output_attributes_to_store(), blender::ed::space_node::get_attribute_info_from_context(), blender::io::csv::import_csv_as_pointcloud(), blender::nodes::initialize_group_input(), blender::nodes::node_geo_input_named_attribute_cc::node_geo_exec(), blender::nodes::node_geo_remove_attribute_cc::node_geo_exec(), and blender::nodes::node_geo_store_named_attribute_cc::node_geo_exec().
|
static |
Definition at line 108 of file asset_edit.cc.
References asset_root_path_for_save(), BKE_report(), BLENDER_ASSET_FILE_SUFFIX, BLI_assert, BLI_dir_create_recursive(), BLI_is_file(), BLI_path_make_safe_filename(), BLI_strncpy(), blender::StringRefBase::data(), FILE_MAXFILE, i, reports, RPT_ERROR, SEP, and blender::StringRefBase::size().
Referenced by asset_edit_id_save_as().
| bool blender::bke::asset_edit_id_delete | ( | Main & | global_main, |
| ID & | id, | ||
| ReportList & | reports ) |
Definition at line 299 of file asset_edit.cc.
References asset_edit_id_is_writable(), BKE_id_delete(), BKE_report(), BLI_delete(), lib, reports, and RPT_ERROR.
Referenced by blender::ed::sculpt_paint::brush_asset_delete_exec(), and blender::ed::animrig::pose_asset_delete_exec().
Ensure a local copy of the asset exists.
Definition at line 400 of file asset_edit.cc.
References asset_edit_id_find_local(), BKE_lib_id_make_local(), BKE_main_library_weak_reference_add(), BLI_assert, lib, LIB_ID_MAKELOCAL_ASSET_DATA_CLEAR, LIB_ID_MAKELOCAL_FORCE_COPY, and LIB_ID_MAKELOCAL_INDIRECT.
Referenced by grease_pencil_object_material_ensure_from_brush_pinned().
Find a local copy of the asset.
Definition at line 391 of file asset_edit.cc.
References asset_edit_id_is_editable(), BKE_main_library_weak_reference_find(), and lib.
Referenced by asset_edit_id_ensure_local(), and BKE_grease_pencil_object_material_alt_ensure_from_brush().
| ID * blender::bke::asset_edit_id_from_weak_reference | ( | Main & | global_main, |
| ID_Type | id_type, | ||
| const AssetWeakReference & | weak_ref ) |
Get datablock from weak reference, loading the blend file as needed.
Definition at line 313 of file asset_edit.cc.
References AS_asset_full_path_explode_from_weak_ref(), asset_link_id(), BKE_libblock_find_name_and_library_filepath(), BLI_assert, FILE_MAX_LIBEXTRA, Main::filepath, Main::is_locked_for_linking, and STREQ.
Referenced by BKE_paint_brush_from_essentials(), BKE_paint_brush_set(), BKE_paint_eraser_brush_from_essentials(), blender::ed::sculpt_paint::brush_asset_activate_exec(), blender::ed::sculpt_paint::brush_asset_save_as_exec(), blender::ed::animrig::get_action_of_selected_asset(), paint_brush_update_from_asset_reference(), paint_eraser_brush_set_from_asset_reference(), and blender::ed::asset::screenshot_preview_exec().
| bool blender::bke::asset_edit_id_is_editable | ( | const ID & | id | ) |
Asset editing operations.
Definition at line 381 of file asset_edit.cc.
References lib, and LIBRARY_ASSET_EDITABLE.
Referenced by asset_edit_id_find_local(), asset_edit_id_is_writable(), asset_edit_id_revert(), asset_edit_weak_reference_from_id(), BKE_paint_brush_set(), blender::ed::sculpt_paint::brush_asset_revert_poll(), paint_brush_update_from_asset_reference(), paint_eraser_brush_set_from_asset_reference(), blender::ed::animrig::pose_asset_delete_poll(), and blender::ed::animrig::pose_asset_modify_poll().
| bool blender::bke::asset_edit_id_is_writable | ( | const ID & | id | ) |
Definition at line 386 of file asset_edit.cc.
References asset_edit_id_is_editable(), and LIBRARY_ASSET_FILE_WRITABLE.
Referenced by asset_edit_id_delete(), asset_edit_id_save(), blender::ed::sculpt_paint::brush_asset_delete_poll(), blender::ed::sculpt_paint::brush_asset_edit_metadata_poll(), blender::ed::sculpt_paint::brush_asset_save_poll(), blender::ed::animrig::pose_asset_delete_poll(), blender::ed::animrig::pose_asset_modify_poll(), and blender::ed::asset::screenshot_preview_exec().
| ID * blender::bke::asset_edit_id_revert | ( | Main & | global_main, |
| ID & | id, | ||
| ReportList & | reports ) |
Relink the asset from the library. This causes the ID to be re-allocated, so its address changes. Even in case of failure to reload the asset, id will be deleted.
Definition at line 290 of file asset_edit.cc.
References asset_edit_id_is_editable(), asset_reload(), and reports.
Referenced by blender::ed::sculpt_paint::brush_asset_revert_exec().
| bool blender::bke::asset_edit_id_save | ( | Main & | global_main, |
| const ID & | id, | ||
| ReportList & | reports ) |
Definition at line 268 of file asset_edit.cc.
References asset_edit_id_is_writable(), asset_write_in_library(), BKE_report(), lib, reports, and RPT_ERROR.
Referenced by blender::ed::sculpt_paint::brush_asset_edit_metadata_exec(), blender::ed::sculpt_paint::brush_asset_load_preview_exec(), blender::ed::sculpt_paint::brush_asset_save_exec(), blender::ed::animrig::pose_asset_modify_exec(), and blender::ed::asset::screenshot_preview_exec().
| std::optional< std::string > blender::bke::asset_edit_id_save_as | ( | Main & | global_main, |
| const ID & | id, | ||
| StringRefNull | name, | ||
| const bUserAssetLibrary & | user_library, | ||
| AssetWeakReference & | r_weak_ref, | ||
| ReportList & | reports ) |
Definition at line 242 of file asset_edit.cc.
References asset_blendfile_path_for_save(), asset_weak_reference_for_user_library(), asset_write_in_library(), BKE_report(), BKE_reportf(), blender::StringRefNull::c_str(), GS, reports, RPT_ERROR, and RPT_INFO.
Referenced by blender::ed::sculpt_paint::brush_asset_save_as_exec(), and blender::ed::animrig::create_pose_asset_user_library().
| std::optional< AssetWeakReference > blender::bke::asset_edit_weak_reference_from_id | ( | const ID & | id | ) |
Get asset weak reference from ID.
Definition at line 351 of file asset_edit.cc.
References asset_edit_id_is_editable(), AssetWeakReference::asset_library_type, asset_weak_reference_for_essentials(), asset_weak_reference_for_user_library(), BKE_idtype_idcode_to_name(), BKE_preferences_asset_library_containing_path(), BLI_sprintfN(), bUserAssetLibrary::dirpath, GS, lib, AssetWeakReference::relative_asset_identifier, and U.
Referenced by asset_reference_create_from_brush(), BKE_paint_brush_set(), BKE_paint_eraser_brush_set(), and toolsystem_main_brush_binding_update_from_active().
|
static |
Definition at line 42 of file asset_edit.cc.
References BKE_blendfile_link(), BKE_blendfile_link_append_context_finalize(), BKE_blendfile_link_append_context_flag_set(), BKE_blendfile_link_append_context_free(), BKE_blendfile_link_append_context_init_done(), BKE_blendfile_link_append_context_item_add(), BKE_blendfile_link_append_context_item_library_index_enable(), BKE_blendfile_link_append_context_item_newid_get(), BKE_blendfile_link_append_context_library_add(), BKE_blendfile_link_append_context_new(), BKE_preferences_asset_library_containing_path(), BLENDER_ASSET_FILE_SUFFIX, BLI_assert, BLI_file_is_writable(), BLO_LIBLINK_FORCE_INDIRECT, LibraryLink_Params::bmain, ID::lib, LIBRARY_ASSET_EDITABLE, LIBRARY_ASSET_FILE_WRITABLE, LIBRARY_IS_ASSET_EDIT_FILE, ID::name, reports, Library::runtime, STREQ, and U.
Referenced by asset_edit_id_from_weak_reference(), and asset_reload().
|
static |
Definition at line 182 of file asset_edit.cc.
References asset_link_id(), BKE_id_delete(), BKE_id_name(), BLI_assert, DEG_relations_tag_update(), GS, ID_IS_LINKED, and reports.
Referenced by asset_edit_id_revert().
|
static |
Definition at line 89 of file asset_edit.cc.
References BKE_idtype_get_info_from_idcode(), BLI_assert, BLI_path_normalize(), BLI_path_slash_native(), BLI_toupper_ascii(), bUserAssetLibrary::dirpath, FILE_MAX, IDTypeInfo::name_plural, SEP, and STRNCPY().
Referenced by asset_blendfile_path_for_save().
|
static |
Definition at line 227 of file asset_edit.cc.
References ASSET_LIBRARY_ESSENTIALS, AssetWeakReference::asset_library_type, BKE_idtype_idcode_to_name(), BKE_idtype_idcode_to_name_plural(), BLI_path_basename(), BLI_sprintfN(), and AssetWeakReference::relative_asset_identifier.
Referenced by asset_edit_weak_reference_from_id().
|
static |
Definition at line 201 of file asset_edit.cc.
References ASSET_LIBRARY_CUSTOM, AssetWeakReference::asset_library_identifier, AssetWeakReference::asset_library_type, BKE_idtype_idcode_to_name(), BLI_path_rel(), BLI_path_slash_ensure(), BLI_sprintfN(), BLI_strdup(), bUserAssetLibrary::dirpath, FILE_MAX, bUserAssetLibrary::name, AssetWeakReference::relative_asset_identifier, and STRNCPY().
Referenced by asset_edit_id_save_as(), and asset_edit_weak_reference_from_id().
|
static |
Definition at line 147 of file asset_edit.cc.
References blender::bke::blendfile::PartialWriteContext::ADD_DEPENDENCIES, BKE_idtype_get_info_from_id(), BKE_libblock_rename(), BKE_main_blendfile_path(), BKE_packedfile_pack_all(), BLO_WRITE_PATH_REMAP_RELATIVE, blender::bke::blendfile::PartialWriteContext::bmain, blender::StringRefNull::c_str(), G_FILE_ASSET_EDIT_FILE, G_FILE_COMPRESS, blender::bke::blendfile::PartialWriteContext::id_add(), Main::is_asset_edit_file, blender::bke::blendfile::PartialWriteContext::MAKE_LOCAL, IDTypeInfo::name, reports, SEP, blender::bke::blendfile::PartialWriteContext::SET_FAKE_USER, and blender::bke::blendfile::PartialWriteContext::write().
Referenced by asset_edit_id_save(), and asset_edit_id_save_as().
| std::optional< eCustomDataType > blender::bke::attr_type_to_custom_data_type | ( | AttrType | attr_type | ) |
Convert an attribute type to a legacy custom data type.
Definition at line 171 of file attribute_legacy_convert.cc.
References Bool, CD_PROP_BOOL, CD_PROP_BYTE_COLOR, CD_PROP_COLOR, CD_PROP_FLOAT, CD_PROP_FLOAT2, CD_PROP_FLOAT3, CD_PROP_FLOAT4X4, CD_PROP_INT16_2D, CD_PROP_INT32, CD_PROP_INT32_2D, CD_PROP_INT8, CD_PROP_QUATERNION, CD_PROP_STRING, ColorByte, ColorFloat, Float, Float2, Float3, Float4x4, Int16_2D, Int32, Int32_2D, Int8, Quaternion, and String.
Referenced by attribute_storage_blend_write_prepare(), and convert_storage_to_customdata().
|
static |
Definition at line 795 of file geometry_fields.cc.
References blender::GVArrayCommon::common_info(), blender::CommonVArrayInfo::data, blender::CommonVArrayInfo::Span, blender::CommonVArrayInfo::type, and blender::bke::GAttributeReader::varray.
Referenced by try_capture_fields_on_geometry().
|
static |
Definition at line 232 of file attribute_access.cc.
References BLI_assert_unreachable, CD_PROP_BOOL, CD_PROP_BYTE_COLOR, CD_PROP_COLOR, CD_PROP_FLOAT, CD_PROP_FLOAT2, CD_PROP_FLOAT3, CD_PROP_FLOAT4X4, CD_PROP_INT16_2D, CD_PROP_INT32, CD_PROP_INT32_2D, CD_PROP_INT8, CD_PROP_QUATERNION, and CD_PROP_STRING.
Referenced by attribute_data_type_highest_complexity().
| eCustomDataType blender::bke::attribute_data_type_highest_complexity | ( | Span< eCustomDataType > | data_types | ) |
Definition at line 270 of file attribute_access.cc.
References attribute_data_type_complexity(), and CD_PROP_COLOR.
Referenced by blender::bke::GeometrySet::gather_attributes_for_propagation(), blender::geometry::gather_attributes_to_propagate(), and blender::geometry::get_final_attribute_info().
| AttrDomain blender::bke::attribute_domain_highest_priority | ( | Span< AttrDomain > | domains | ) |
Domains with a higher "information density" have a higher priority, in order to choose a domain that will not lose data through domain conversion.
Definition at line 314 of file attribute_access.cc.
References attribute_domain_priority(), and Corner.
Referenced by blender::bke::GeometrySet::gather_attributes_for_propagation(), blender::geometry::gather_attributes_to_propagate(), and blender::geometry::get_final_attribute_info().
|
static |
Definition at line 290 of file attribute_access.cc.
References BLI_assert_unreachable, Corner, Curve, Edge, Face, Instance, Layer, and Point.
Referenced by attribute_domain_highest_priority().
|
inline |
Same as above but with a Set.
Definition at line 76 of file BKE_attribute_filters.hh.
References blender::bke::AttributeFilter::AllowSkip, blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains_as(), and blender::bke::AttributeFilter::Process.
Creates a simple AttributeFilter that skips allows the given attributes to be skipped, while all others should be processed.
Definition at line 65 of file BKE_attribute_filters.hh.
References blender::bke::AttributeFilter::AllowSkip, blender::Span< T >::contains(), and blender::bke::AttributeFilter::Process.
Referenced by blender::ed::greasepencil::boundary_to_curves(), blender::ed::curves::copy_data_to_geometry(), blender::create_dashes(), blender::create_envelope_strokes(), blender::ed::curves::curves_draw_exec(), blender::ed::greasepencil::extrude_grease_pencil_curves(), blender::ed::greasepencil::grease_pencil_primitive_init_curves(), blender::ed::greasepencil::grease_pencil_primitive_update_curves(), blender::geometry::join_curves_ranges(), blender::ed::sculpt_paint::greasepencil::PaintOperationExecutor::process_extension_sample(), blender::ed::sculpt_paint::greasepencil::PaintOperationExecutor::process_start_sample(), and blender::geometry::remove_points_and_split().
|
inline |
Same as above but with a Set.
Definition at line 51 of file BKE_attribute_filters.hh.
References blender::bke::AttributeFilter::AllowSkip, blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains_as(), and filter.
|
inline |
Combines an existing AttributeFilter and tags a few additional attributes that can/should be skipped.
Definition at line 39 of file BKE_attribute_filters.hh.
References blender::bke::AttributeFilter::AllowSkip, blender::Span< T >::contains(), and filter.
Referenced by blender::geometry::copy_and_reorder_mesh_edges(), blender::geometry::copy_and_reorder_mesh_verts(), blender::nodes::node_geo_duplicate_elements_cc::copy_curve_attributes_without_id(), blender::nodes::node_geo_duplicate_elements_cc::copy_edge_attributes_without_id(), blender::nodes::node_geo_duplicate_elements_cc::copy_face_attributes_without_id(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_instances(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_points_CurvesGeometry(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_points_mesh(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_points_pointcloud(), blender::geometry::extract_instances(), blender::geometry::fillet_curves(), blender::geometry::filter_builtin_attributes(), blender::geometry::gather_vert_attributes(), blender::geometry::mesh_copy_selection(), blender::geometry::mesh_copy_selection_keep_verts(), blender::geometry::mesh_triangulate(), and blender::geometry::trim_curves().
| bool blender::bke::attribute_is_builtin_on_component_type | ( | const GeometryComponent::Type | type, |
| StringRef | name ) |
Definition at line 681 of file geometry_set.cc.
References BLI_assert_unreachable, blender::bke::GeometryComponent::create(), blender::bke::GeometryComponent::Curve, blender::bke::GeometryComponent::Edit, blender::bke::GeometryComponent::GreasePencil, blender::bke::GeometryComponent::Instance, blender::bke::GeometryComponent::Mesh, blender::bke::GeometryComponent::PointCloud, and blender::bke::GeometryComponent::Volume.
Referenced by blender::bke::GeometrySet::gather_attributes_for_propagation(), and blender::geometry::gather_attributes_to_propagate().
|
static |
Definition at line 757 of file geometry_fields.cc.
References blender::bke::AttributeMetaData::data_type, and blender::bke::AttributeMetaData::domain.
Referenced by try_add_shared_field_attribute().
|
static |
Move generic attributes from CustomData to AttributeStorage. All other non-generic layers are left in CustomData.
Definition at line 109 of file attribute_legacy_convert.cc.
References blender::bke::AttributeStorage::add(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), custom_data_type_to_attr_type(), CustomData_update_typemap(), blender::bke::Attribute::ArrayData::data, data, blender::Vector< T, InlineBufferCapacity, Allocator >::is_empty(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::items(), CustomData::layers, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add_default(), MEM_SAFE_FREE, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::pop_default(), blender::Vector< T, InlineBufferCapacity, Allocator >::release(), blender::bke::Attribute::ArrayData::sharing_info, blender::bke::Attribute::ArrayData::size, CustomData::totlayer, and blender::bke::AttributeStorage::unique_name_calc().
Referenced by curves_convert_customdata_to_storage(), grease_pencil_convert_customdata_to_storage(), mesh_convert_customdata_to_storage(), and pointcloud_convert_customdata_to_storage().
|
inline |
Checks if the attribute name has the .a_ prefix which indicates that it is an anonymous attribute. I.e. it is just internally used by Blender and the name should not be exposed to the user.
Use hash_to_anonymous_attribute_name to generate names for anonymous attributes.
Definition at line 24 of file BKE_anonymous_attribute_id.hh.
References blender::StringRefBase::startswith().
Referenced by blender::ed::greasepencil::apply_eval_grease_pencil_data(), blender::bke::AttributeFieldInput::AttributeFieldInput(), blender::nodes::node_geo_attribute_capture_cc::clean_unused_attributes(), CustomData_blend_write_prepare(), CustomData_layer_is_anonymous(), CustomData_number_of_anonymous_layers(), blender::io::usd::USDPointInstancerWriter::do_write(), blender::nodes::LazyFunctionForExtractingReferenceSet::execute_impl(), blender::bke::ProcessAllAttributeExceptAnonymous::filter(), blender::nodes::NodeAttributeFilter::filter(), blender::geometry::gather_curve_attributes_to_interpolate(), blender::nodes::geo_eval_log::GeometryInfoLog::GeometryInfoLog(), get_blender_uv_names(), blender::bke::compare_geometry::ignored_attribute(), blender::io::csv::import_csv_as_pointcloud(), blender::geometry::interpolate_attribute_to_curves(), blender::io::ply::load_custom_attributes(), mesh_ensure_default_color_attribute_on_add(), blender::nodes::node_geo_input_named_attribute_cc::node_geo_exec(), blender::nodes::node_geo_remove_attribute_cc::node_geo_exec(), blender::nodes::node_geo_store_named_attribute_cc::node_geo_exec(), blender::bke::MutableAttributeAccessor::remove_anonymous(), blender::ed::curves::resize_curves(), and blender::bke::bake::serialize_attributes().
| bool blender::bke::attribute_reader_matches_array_state | ( | const ArrayState< T > & | array_state, |
| const AttributeReader< T > & | attr ) |
Definition at line 22 of file mesh_topology_state.cc.
References blender::ArrayState< T >::is_empty(), blender::ArrayState< T >::same_as(), blender::bke::AttributeReader< T >::sharing_info, and blender::bke::AttributeReader< T >::varray.
Referenced by blender::bke::MeshTopologyState::same_topology_as().
| ArrayState< T > blender::bke::attribute_reader_to_array_state | ( | const AttributeReader< T > & | attr | ) |
Definition at line 13 of file mesh_topology_state.cc.
References blender::bke::AttributeReader< T >::sharing_info, and blender::bke::AttributeReader< T >::varray.
Referenced by blender::bke::MeshTopologyState::MeshTopologyState().
| void blender::bke::attribute_storage_blend_write_prepare | ( | AttributeStorage & | data, |
| const Map< AttrDomain, Vector< CustomDataLayer, 16 > * > & | layers_to_write, | ||
| AttributeStorage::BlendWriteData & | write_data ) |
Prepare an AttributeStorage struct embedded in another struct to be written. This is necessary because the AttributeStorage implementation doesn't use the DNA structs at runtime, they are created just for the writing process. Creating them mutates the struct, which must be done before writing the struct that embeds it.
Definition at line 433 of file attribute_storage.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), attr_type_to_custom_data_type(), blender::bke::AttributeStorage::BlendWriteData::attributes, BLI_uniquename_cb(), blender::StringRefNull::c_str(), blender::ResourceScope::construct(), blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), Attribute::data, AttributeArray::data, AttributeSingle::data, blender::bke::Attribute::data(), CustomDataLayer::data, data, Attribute::data_type, blender::bke::Attribute::data_type(), Attribute::domain, blender::bke::Attribute::domain(), MAX_CUSTOMDATA_LAYER_NAME, Attribute::name, blender::bke::Attribute::name(), CustomDataLayer::name, blender::bke::AttributeStorage::BlendWriteData::scope, CustomDataLayer::sharing_info, Attribute::storage_type, blender::bke::Attribute::storage_type(), CustomDataLayer::type, and U.
Referenced by blender::bke::CurvesGeometry::blend_write_prepare(), grease_pencil_blend_write(), mesh_blend_write(), and pointcloud_blend_write().
Definition at line 37 of file attribute_access.cc.
References BLI_assert_unreachable, Bool, ColorByte, ColorFloat, Float, Float2, Float3, Float4x4, blender::CPPType::get(), Int16_2D, Int32, Int32_2D, Int8, Quaternion, and String.
Referenced by blender::bke::AttributeStorage::count_memory(), blender::bke::Attribute::data_for_write(), read_shared_array(), and write_shared_array().
|
static |
Definition at line 82 of file mesh_runtime.cc.
References blender::bits::BitVector< InlineBufferCapacity, Allocator >::clear_and_shrink(), reset_bits_and_count(), and blender::bits::BitVector< InlineBufferCapacity, Allocator >::resize().
| void blender::bke::BKE_action_find_fcurves_with_bones | ( | bAction * | action, |
| blender::animrig::slot_handle_t | slot_handle, | ||
| FoundFCurveCallback | callback ) |
Calls callback for every fcurve in an action slot that targets any bone.
| slot_handle | only FCurves from the given action slot are visited. |
Definition at line 21 of file action_bones.cc.
References BKE_action_find_fcurves_with_bones().
Referenced by BKE_action_find_fcurves_with_bones(), pose_backup_create(), and poselib_keytag_pose().
| void blender::bke::BKE_action_find_fcurves_with_bones | ( | const bAction * | action, |
| blender::animrig::slot_handle_t | slot_handle, | ||
| FoundFCurveCallbackConst | callback ) |
Definition at line 32 of file action_bones.cc.
References BLI_str_quoted_substr(), blender::animrig::legacy::fcurves_for_action_slot(), and MAXBONENAME.
| BoneNameSet blender::bke::BKE_armature_find_selected_bone_names | ( | const bArmature * | armature | ) |
Return a set of names of the selected bones.
Definition at line 51 of file armature_selection.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), and BKE_armature_find_selected_bones().
Referenced by BKE_pose_backup_create_selected_bones().
| SelectedBonesResult blender::bke::BKE_armature_find_selected_bones | ( | const bArmature * | armature, |
| SelectedBoneCallback | callback ) |
Definition at line 40 of file armature_selection.cc.
References bArmature::bonebase, LISTBASE_FOREACH, and result.
Referenced by BKE_armature_find_selected_bone_names(), blender::bke::tests::TEST_F(), blender::bke::tests::TEST_F(), and blender::bke::tests::TEST_F().
|
static |
Definition at line 423 of file type_conversions.cc.
References bool_to_color(), and blender::ColorSceneLinear4f< Alpha >::encode().
|
static |
Definition at line 419 of file type_conversions.cc.
Referenced by bool_to_byte_color().
|
static |
Definition at line 387 of file type_conversions.cc.
|
static |
Definition at line 407 of file type_conversions.cc.
|
static |
Definition at line 411 of file type_conversions.cc.
|
static |
Definition at line 415 of file type_conversions.cc.
|
static |
Definition at line 395 of file type_conversions.cc.
|
static |
Definition at line 403 of file type_conversions.cc.
|
static |
Definition at line 391 of file type_conversions.cc.
|
static |
Definition at line 399 of file type_conversions.cc.
|
static |
Definition at line 493 of file curve_to_mesh_convert.cc.
References blender::bke::CurvesGeometry::attributes(), BLI_assert, build_mesh_positions(), blender::array_utils::copy(), blender::GSpan::data(), evaluate_attribute(), blender::bke::CurvesGeometry::evaluated_normals(), blender::bke::CurvesGeometry::evaluated_positions(), blender::bke::CurvesGeometry::evaluated_tangents(), fill_mesh_positions(), blender::Span< T >::first(), foreach_curve_combination(), blender::VArrayCommon< T >::get_if_single(), blender::GVArrayCommon::get_internal_span(), init(), init(), blender::Span< T >::is_empty(), blender::VArrayCommon< T >::is_empty(), blender::math::is_equal(), blender::GVArrayCommon::is_span(), blender::bke::AttributeAccessor::lookup(), blender::bke::CurvesInfo::main, blender::bke::CombinationInfo::main_points, normals, Point, blender::bke::CurvesGeometry::points_num(), blender::bke::CurvesInfo::profile, blender::bke::CombinationInfo::profile_points, blender::bke::GAttributeReader::sharing_info, blender::IndexRange::size(), blender::Span< T >::size(), blender::Span< T >::slice(), blender::bke::GAttributeReader::varray, and blender::bke::CombinationInfo::vert_range.
Referenced by build_mesh_positions(), and curve_to_mesh_sweep().
| void blender::bke::build_offsets | ( | MutableSpan< int > | offsets, |
| const CountFn & | count_fn ) |
Definition at line 633 of file curves_geometry.cc.
References build_offsets(), blender::MutableSpan< T >::drop_back(), i, blender::MutableSpan< T >::index_range(), and blender::MutableSpan< T >::last().
Referenced by build_offsets(), and calculate_evaluated_offsets().
|
static |
Definition at line 2842 of file paint.cc.
References bm, SculptSession::bm, BM_data_layer_ensure_named(), CD_PROP_INT32, blender::bke::pbvh::Tree::from_bmesh(), and Object::sculpt.
Referenced by blender::bke::object::pbvh_ensure().
|
static |
Definition at line 2865 of file paint.cc.
References BKE_mesh_from_object(), BKE_sculpt_sync_face_visibility_to_grids(), and blender::bke::pbvh::Tree::from_grids().
Referenced by blender::bke::object::pbvh_ensure().
|
static |
Definition at line 2851 of file paint.cc.
References BKE_object_get_original_mesh(), BKE_pbvh_vert_coords_apply(), check_sculpt_object_deformed(), and blender::bke::pbvh::Tree::from_mesh().
Referenced by blender::bke::object::pbvh_ensure().
|
static |
Definition at line 182 of file curve_to_mesh_convert.cc.
References blender::math::cross(), blender::MatBase< float, 4, 4 >::identity(), blender::MatBase< T, NumCol, NumRow, Alignment >::location(), blender::math::normalize(), blender::MatBase< T, NumCol, NumRow, Alignment >::x_axis(), blender::MatBase< T, NumCol, NumRow, Alignment >::y_axis(), and blender::MatBase< T, NumCol, NumRow, Alignment >::z_axis().
Referenced by fill_mesh_positions().
|
static |
Definition at line 2244 of file mesh_legacy_convert.cc.
References LISTBASE_FOREACH, and result.
Referenced by is_auto_smooth_node_tree().
| BVHTreeFromMesh blender::bke::bvhtree_from_mesh_corner_tris_ex | ( | Span< float3 > | vert_positions, |
| OffsetIndices< int > | faces, | ||
| Span< int > | corner_verts, | ||
| Span< int3 > | corner_tris, | ||
| const IndexMask & | faces_mask ) |
Builds a BVH-tree where nodes are the triangle faces (#Mesh::corner_tris()) of the given mesh.
Definition at line 556 of file bvhutils.cc.
References create_tree_from_tris(), create_tris_tree_data(), and faces.
Referenced by BKE_mesh_remap_calc_loops_from_mesh(), and bvhtree_from_mesh_tris_init().
| BVHTreeFromMesh blender::bke::bvhtree_from_mesh_edges_ex | ( | Span< float3 > | vert_positions, |
| Span< int2 > | edges, | ||
| const IndexMask & | edges_mask ) |
Builds a BVH-tree where nodes are the given edges.
Definition at line 475 of file bvhutils.cc.
References create_edges_tree_data(), and create_tree_from_edges().
Referenced by bvhtree_from_mesh_edges_init().
| BVHTreeFromMesh blender::bke::bvhtree_from_mesh_edges_init | ( | const Mesh & | mesh, |
| const IndexMask & | edges_mask ) |
Build a BVH-tree containing the given edges.
Definition at line 793 of file bvhutils.cc.
References bvhtree_from_mesh_edges_ex(), and blender::index_mask::IndexMask::size().
Referenced by blender::nodes::node_geo_proximity_cc::ProximityFunction::init_for_mesh().
| BVHTreeFromMesh blender::bke::bvhtree_from_mesh_tris_init | ( | const Mesh & | mesh, |
| const IndexMask & | faces_mask ) |
Build a BVH-tree from the triangles in the mesh that correspond to the faces in the given mask.
Definition at line 784 of file bvhutils.cc.
References bvhtree_from_mesh_corner_tris_ex(), and blender::index_mask::IndexMask::size().
Referenced by blender::nodes::node_geo_proximity_cc::ProximityFunction::init_for_mesh(), and blender::nodes::node_geo_sample_nearest_surface_cc::SampleNearestSurfaceFunction::SampleNearestSurfaceFunction().
| BVHTreeFromMesh blender::bke::bvhtree_from_mesh_verts_ex | ( | Span< float3 > | vert_positions, |
| const IndexMask & | verts_mask ) |
Builds a BVH-tree where nodes are the given vertices.
Definition at line 450 of file bvhutils.cc.
References create_tree_from_verts(), and create_verts_tree_data().
Referenced by BKE_mesh_remap_calc_loops_from_mesh(), and bvhtree_from_mesh_verts_init().
| BVHTreeFromMesh blender::bke::bvhtree_from_mesh_verts_init | ( | const Mesh & | mesh, |
| const IndexMask & | verts_mask ) |
Build a BVH-tree containing the given vertices.
Definition at line 801 of file bvhutils.cc.
References bvhtree_from_mesh_verts_ex(), and blender::index_mask::IndexMask::size().
Referenced by blender::nodes::node_geo_proximity_cc::ProximityFunction::init_for_mesh().
| BVHTreeFromPointCloud blender::bke::bvhtree_from_pointcloud_get | ( | const PointCloud & | pointcloud, |
| const IndexMask & | points_mask ) |
Definition at line 842 of file bvhutils.cc.
References create_pointcloud_tree_data(), create_tree_from_verts(), blender::index_mask::IndexMask::size(), and PointCloud::totpoint.
Referenced by blender::nodes::node_geo_proximity_cc::ProximityFunction::init_for_pointcloud(), and blender::nodes::node_geo_sample_nearest_cc::SampleNearestFunction::SampleNearestFunction().
|
static |
Definition at line 429 of file bvhutils.cc.
References BLI_bvhtree_new().
Referenced by create_tree_from_edges(), create_tree_from_legacy_faces(), create_tree_from_tris(), create_tree_from_tris(), and create_tree_from_verts().
| float blender::bke::bvhtree_ray_tri_intersection | ( | const BVHTreeRay * | ray, |
| float | m_dist, | ||
| const float | v0[3], | ||
| const float | v1[3], | ||
| const float | v2[3] ) |
Math functions used by callbacks
Definition at line 28 of file bvhutils.cc.
References BVHTreeRay::direction, FLT_MAX, BVHTreeRay::isect_precalc, isect_ray_tri_epsilon_v3(), isect_ray_tri_watertight_v3(), BVHTreeRay::origin, and v2.
Referenced by blender::ed::transform::mesh_corner_tris_raycast_backface_culling_cb(), mesh_corner_tris_spherecast(), mesh_faces_spherecast(), mesh_tris_spherecast_dp(), and py_bvhtree_raycast_cb().
| float blender::bke::bvhtree_sphereray_tri_intersection | ( | const BVHTreeRay * | ray, |
| float | radius, | ||
| float | m_dist, | ||
| const float | v0[3], | ||
| const float | v1[3], | ||
| const float | v2[3] ) |
Definition at line 49 of file bvhutils.cc.
References BVHTreeRay::direction, FLT_MAX, isect_sweeping_sphere_tri_v3(), madd_v3_v3v3fl(), BVHTreeRay::origin, and v2.
Referenced by mesh_corner_tris_spherecast(), mesh_faces_spherecast(), and py_bvhtree_raycast_cb().
|
static |
Definition at line 469 of file type_conversions.cc.
References blender::ColorRGBA< ChannelStorageType, Space, Alpha >::b, blender::ColorRGBA< ChannelStorageType, Space, Alpha >::g, and blender::ColorRGBA< ChannelStorageType, Space, Alpha >::r.
|
static |
Definition at line 505 of file type_conversions.cc.
References blender::ColorSceneLinearByteEncoded4b< Alpha >::decode().
|
static |
Definition at line 473 of file type_conversions.cc.
References color_to_float(), and blender::ColorSceneLinearByteEncoded4b< Alpha >::decode().
|
static |
Definition at line 493 of file type_conversions.cc.
References color_to_float2(), and blender::ColorSceneLinearByteEncoded4b< Alpha >::decode().
|
static |
Definition at line 497 of file type_conversions.cc.
References color_to_float3(), and blender::ColorSceneLinearByteEncoded4b< Alpha >::decode().
|
static |
Definition at line 501 of file type_conversions.cc.
References color_to_float4(), and blender::ColorSceneLinearByteEncoded4b< Alpha >::decode().
|
static |
Definition at line 477 of file type_conversions.cc.
References color_to_int(), and blender::ColorSceneLinearByteEncoded4b< Alpha >::decode().
|
static |
Definition at line 485 of file type_conversions.cc.
References blender::ColorRGBA< ChannelStorageType, Space, Alpha >::g, and blender::ColorRGBA< ChannelStorageType, Space, Alpha >::r.
|
static |
Definition at line 489 of file type_conversions.cc.
References color_to_int8(), and blender::ColorSceneLinearByteEncoded4b< Alpha >::decode().
|
static |
Definition at line 481 of file type_conversions.cc.
References blender::ColorRGBA< ChannelStorageType, Space, Alpha >::g, and blender::ColorRGBA< ChannelStorageType, Space, Alpha >::r.
|
static |
Definition at line 308 of file mesh_remesh_voxel.cc.
References i, blender::Span< T >::index_range(), and blender::math::midpoint().
|
static |
Definition at line 317 of file mesh_remesh_voxel.cc.
References blender::bke::mesh::face_center_calc(), faces, i, and blender::Span< T >::slice().
|
static |
Definition at line 643 of file curves_geometry.cc.
References BLI_assert_unreachable, build_offsets(), blender::bke::curves::catmull_rom::calculate_evaluated_num(), blender::bke::curves::nurbs::calculate_evaluated_num(), calculate_evaluated_offsets(), blender::bke::curves::bezier::calculate_evaluated_offsets(), CURVE_TYPE_BEZIER, CURVE_TYPE_CATMULL_ROM, CURVE_TYPE_NURBS, CURVE_TYPE_POLY, blender::IndexRange::last(), blender::bke::curves::per_curve_point_offsets_range(), blender::IndexRange::size(), blender::MutableSpan< T >::slice(), blender::Span< T >::slice(), and types.
Referenced by calculate_evaluated_offsets(), and blender::bke::CurvesGeometry::evaluated_points_by_curve().
|
static |
Definition at line 272 of file curve_to_mesh_convert.cc.
References blender::bke::CurvesGeometry::curves_num(), blender::bke::CurvesGeometry::evaluated_points_by_curve(), blender::bke::CurvesInfo::main, blender::threading::parallel_invoke(), blender::bke::CurvesInfo::profile, and result.
Referenced by curve_to_mesh_sweep().
| std::array< int, CURVE_TYPES_NUM > blender::bke::calculate_type_counts | ( | const VArray< int8_t > & | types | ) |
Definition at line 347 of file curves_geometry.cc.
References init(), blender::threading::parallel_reduce(), result, and types.
Referenced by blender::bke::CurvesGeometry::curve_type_counts(), and blender::bke::CurvesGeometry::update_curve_types().
|
static |
Definition at line 688 of file type_conversions.cc.
References mask(), and params.
Referenced by call_convert_to_uninitialized_fn(), and blender::bke::DataTypeConversions::convert_to_initialized_n().
|
static |
Definition at line 700 of file type_conversions.cc.
References call_convert_to_uninitialized_fn(), and blender::GVArrayCommon::size().
|
static |
Definition at line 5162 of file node.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), ELEM, get_known_node_types_set(), bNode::idname, NODE_CUSTOM, NODE_CUSTOM_GROUP, NODE_LEGACY_TYPE_GENERATION_START, node_type_find(), and bNode::type_legacy.
Referenced by node_replace_undefined_types().
|
static |
Definition at line 591 of file mesh_attributes.cc.
References BLI_assert_unreachable, can_simple_adapt_for_single(), Corner, Edge, Face, and Point.
Referenced by adapt_mesh_attribute_domain(), and can_simple_adapt_for_single().
|
static |
Definition at line 4488 of file node.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), collect_used_previews(), bNode::id, node_instance_key(), and node_preview_used().
Referenced by collect_used_previews(), and node_preview_remove_unused().
|
static |
Definition at line 428 of file type_conversions.cc.
References IMB_colormanagement_get_luminance().
|
static |
Definition at line 464 of file type_conversions.cc.
References blender::ColorSceneLinear4f< Alpha >::encode().
|
static |
Definition at line 432 of file type_conversions.cc.
References IMB_colormanagement_get_luminance().
Referenced by byte_color_to_float().
|
static |
Definition at line 452 of file type_conversions.cc.
References blender::ColorRGBA< ChannelStorageType, Space, Alpha >::g, and blender::ColorRGBA< ChannelStorageType, Space, Alpha >::r.
Referenced by byte_color_to_float2().
|
static |
Definition at line 456 of file type_conversions.cc.
References blender::ColorRGBA< ChannelStorageType, Space, Alpha >::b, blender::ColorRGBA< ChannelStorageType, Space, Alpha >::g, and blender::ColorRGBA< ChannelStorageType, Space, Alpha >::r.
Referenced by byte_color_to_float3().
|
static |
Definition at line 460 of file type_conversions.cc.
Referenced by byte_color_to_float4().
|
static |
Definition at line 436 of file type_conversions.cc.
References IMB_colormanagement_get_luminance().
Referenced by byte_color_to_int(), and color_to_int8().
|
static |
Definition at line 444 of file type_conversions.cc.
References blender::ColorRGBA< ChannelStorageType, Space, Alpha >::g, and blender::ColorRGBA< ChannelStorageType, Space, Alpha >::r.
|
static |
Definition at line 448 of file type_conversions.cc.
References color_to_int(), and int_to_int8().
Referenced by byte_color_to_int8().
|
static |
Definition at line 440 of file type_conversions.cc.
References blender::ColorRGBA< ChannelStorageType, Space, Alpha >::g, and blender::ColorRGBA< ChannelStorageType, Space, Alpha >::r.
|
static |
Definition at line 255 of file geometry_component_curves.cc.
References construct_curve_length_gvarray(), Curve, blender::VArray< T >::ForFunc(), and Point.
Referenced by construct_curve_length_gvarray(), and blender::bke::CurveLengthFieldInput::get_varray_for_context().
|
static |
Definition at line 73 of file instances.cc.
References blender::bke::Instances::add_instance(), blender::bke::Instances::add_reference(), Collection::children, Collection::gobject, blender::MatBase< float, 4, 4 >::identity(), Collection::instance_offset, LISTBASE_FOREACH, and transform().
Referenced by blender::bke::InstanceReference::to_geometry_set().
|
static |
Definition at line 209 of file attribute_legacy_convert.cc.
References attr_type_to_custom_data_type(), BLI_assert, custom_data_type_to_cpp_type(), CustomData_add_layer_named_with_data(), blender::bke::Attribute::data(), blender::bke::Attribute::data_type(), blender::bke::Attribute::domain(), blender::CPPType::fill_construct_n(), blender::bke::AttributeStorage::foreach(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup(), and blender::bke::Attribute::name().
Referenced by curves_convert_storage_to_customdata(), grease_pencil_convert_storage_to_customdata(), mesh_convert_storage_to_customdata(), and pointcloud_convert_storage_to_customdata().
| void blender::bke::copy_attributes | ( | const AttributeAccessor | src_attributes, |
| AttrDomain | src_domain, | ||
| AttrDomain | dst_domain, | ||
| const AttributeFilter & | attribute_filter, | ||
| MutableAttributeAccessor | dst_attributes ) |
Definition at line 1098 of file attribute_access.cc.
References BLI_assert, blender::bke::AttributeAccessor::domain_size(), and gather_attributes().
Referenced by blender::geometry::copy_and_reorder_mesh_edges(), blender::geometry::copy_and_reorder_mesh_faces(), blender::geometry::copy_and_reorder_mesh_verts(), blender::nodes::node_geo_points_to_curves_cc::curve_from_points(), blender::nodes::node_geo_curve_to_points_cc::curves_to_points(), gather_attributes(), gather_attributes_group_to_group(), blender::nodes::node_geo_curve_to_mesh_cc::grease_pencil_to_mesh(), blender::geometry::join_curves_ranges(), blender::nodes::node_geo_curve_to_points_cc::layer_pointclouds_to_instances(), blender::geometry::mesh_copy_selection_keep_edges(), blender::geometry::mesh_copy_selection_keep_verts(), and blender::nodes::node_geo_instance_on_points_cc::node_geo_exec().
| void blender::bke::copy_attributes_group_to_group | ( | AttributeAccessor | src_attributes, |
| AttrDomain | src_domain, | ||
| AttrDomain | dst_domain, | ||
| const AttributeFilter & | attribute_filter, | ||
| OffsetIndices< int > | src_offsets, | ||
| OffsetIndices< int > | dst_offsets, | ||
| const IndexMask & | selection, | ||
| MutableAttributeAccessor | dst_attributes ) |
Definition at line 1113 of file attribute_access.cc.
References blender::bke::AttributeFilter::allow_skip(), CD_PROP_STRING, blender::array_utils::copy_group_to_group(), blender::bke::AttributeIter::data_type, blender::bke::AttributeIter::domain, blender::bke::GSpanAttributeWriter::finish(), blender::bke::AttributeAccessor::foreach_attribute(), blender::bke::AttributeIter::get(), blender::index_mask::IndexMask::is_empty(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), blender::bke::AttributeIter::name, and blender::bke::GSpanAttributeWriter::span.
Referenced by blender::geometry::fillet_curves(), blender::ed::sculpt_paint::greasepencil::get_single_stroke(), and blender::geometry::trim_curves().
|
static |
Definition at line 769 of file curve_to_mesh_convert.cc.
References BLI_assert_unreachable, blender::bke::attribute_math::convert_to_static_type(), copy_curve_domain_attribute_to_mesh(), Corner, Edge, blender::bke::ResultOffsets::edge, Face, blender::bke::ResultOffsets::face, blender::bke::ResultOffsets::loop, Point, blender::GVArrayCommon::type(), and blender::bke::ResultOffsets::vert.
Referenced by copy_curve_domain_attribute_to_mesh(), and curve_to_mesh_sweep().
|
static |
Definition at line 1502 of file curves_geometry.cc.
References copy_curve_selection_custom_knots(), blender::IndexMask::from_intersection(), blender::array_utils::gather_group_to_group(), blender::offset_indices::gather_selected_offsets(), blender::bke::CurvesGeometry::nurbs_custom_knots_for_write(), blender::bke::CurvesGeometry::nurbs_custom_knots_update_size(), and blender::index_mask::IndexMask::size().
Referenced by copy_curve_selection_custom_knots(), and curves_copy_curve_selection().
|
static |
Definition at line 752 of file curve_to_mesh_convert.cc.
References copy_indices_to_offset_ranges(), blender::devirtualize_varray(), blender::Span< T >::index_range(), and blender::threading::parallel_for().
Referenced by copy_indices_to_offset_ranges().
|
static |
Definition at line 551 of file curve_to_mesh_convert.cc.
References copy_main_point_data_to_mesh_edges(), blender::MutableSpan< T >::fill(), blender::Span< T >::index_range(), and blender::MutableSpan< T >::slice().
Referenced by copy_main_point_data_to_mesh_edges().
|
static |
Definition at line 565 of file curve_to_mesh_convert.cc.
References copy_main_point_data_to_mesh_faces(), blender::MutableSpan< T >::fill(), and blender::MutableSpan< T >::slice().
Referenced by copy_main_point_data_to_mesh_faces().
|
static |
Definition at line 540 of file curve_to_mesh_convert.cc.
References copy_main_point_data_to_mesh_verts(), blender::MutableSpan< T >::fill(), blender::Span< T >::index_range(), and blender::MutableSpan< T >::slice().
Referenced by copy_main_point_data_to_mesh_verts().
|
static |
Definition at line 608 of file curve_to_mesh_convert.cc.
References blender::bke::attribute_math::convert_to_static_type(), copy_main_point_domain_attribute_to_mesh(), cpp_type_to_custom_data_type(), evaluate_attribute(), blender::bke::GSpanAttributeWriter::finish(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), blender::bke::CurvesInfo::main, Point, blender::bke::GSpanAttributeWriter::span, try_direct_evaluate_point_data(), try_sharing_point_data(), blender::GVArrayCommon::type(), and blender::bke::GAttributeReader::varray.
Referenced by copy_main_point_domain_attribute_to_mesh(), and curve_to_mesh_sweep().
|
static |
Definition at line 1372 of file curves_geometry.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), MutableSpan< T >::copy_from(), copy_point_selection_custom_knots(), blender::bke::curves::curve_to_point_selection(), blender::Vector< T, InlineBufferCapacity, Allocator >::extend(), blender::Span< T >::first(), blender::index_mask::IndexMask::foreach_index(), blender::bke::curves::foreach_selected_point_ranges_per_curve(), blender::IndexRange::from_begin_size(), blender::IndexMask::from_intersection(), blender::bke::curves::nurbs::knots_num(), blender::Vector< T, InlineBufferCapacity, Allocator >::last(), blender::bke::CurvesGeometry::nurbs_custom_knots_for_write(), blender::bke::CurvesGeometry::nurbs_custom_knots_update_size(), blender::Vector< T, InlineBufferCapacity, Allocator >::reserve(), blender::Span< T >::slice(), and blender::IndexRange::start().
Referenced by copy_point_selection_custom_knots().
|
static |
Definition at line 686 of file curve_to_mesh_convert.cc.
References copy_profile_point_data_to_mesh_edges(), blender::MutableSpan< T >::fill(), blender::Span< T >::index_range(), and blender::MutableSpan< T >::slice().
Referenced by copy_profile_point_data_to_mesh_edges().
|
static |
Definition at line 697 of file curve_to_mesh_convert.cc.
References copy_profile_point_data_to_mesh_faces().
Referenced by copy_profile_point_data_to_mesh_faces().
|
static |
Definition at line 673 of file curve_to_mesh_convert.cc.
References copy_profile_point_data_to_mesh_verts(), blender::Span< T >::index_range(), and blender::Span< T >::size().
Referenced by copy_profile_point_data_to_mesh_verts().
|
static |
Definition at line 710 of file curve_to_mesh_convert.cc.
References blender::bke::attribute_math::convert_to_static_type(), copy_profile_point_domain_attribute_to_mesh(), and blender::GSpan::type().
Referenced by copy_profile_point_domain_attribute_to_mesh(), and curve_to_mesh_sweep().
| void blender::bke::copy_with_checked_indices | ( | const GVArray & | src, |
| const VArray< int > & | indices, | ||
| const IndexMask & | mask, | ||
| GMutableSpan | dst ) |
Definition at line 603 of file geometry_fields.cc.
References blender::bke::attribute_math::convert_to_static_type(), indices, mask(), and blender::GVArrayCommon::type().
Referenced by blender::nodes::node_geo_sample_index_cc::SampleIndexFunction::call(), and blender::bke::EvaluateAtIndexInput::get_varray_for_context().
| void blender::bke::copy_with_checked_indices | ( | const VArray< T > & | src, |
| const VArray< int > & | indices, | ||
| const IndexMask & | mask, | ||
| MutableSpan< T > | dst ) |
Definition at line 584 of file geometry_fields.cc.
References blender::IndexRange::contains(), blender::devirtualize_varray2(), i, blender::VArrayCommon< T >::index_range(), indices, and mask().
Definition at line 71 of file attribute_access.cc.
References BLI_assert_unreachable, Bool, ColorByte, ColorFloat, Float, Float2, Float3, Float4x4, Int16_2D, Int32, Int32_2D, Int8, blender::CPPType::is(), Quaternion, and String.
| eCustomDataType blender::bke::cpp_type_to_custom_data_type | ( | const CPPType & | type | ) |
Definition at line 150 of file attribute_access.cc.
References CD_PROP_BOOL, CD_PROP_BYTE_COLOR, CD_PROP_COLOR, CD_PROP_FLOAT, CD_PROP_FLOAT2, CD_PROP_FLOAT3, CD_PROP_FLOAT4X4, CD_PROP_INT16_2D, CD_PROP_INT32, CD_PROP_INT32_2D, CD_PROP_INT8, CD_PROP_QUATERNION, CD_PROP_STRING, and blender::CPPType::is().
Referenced by blender::ed::sculpt_paint::color::active_color_attribute(), blender::ed::sculpt_paint::color::active_color_attribute_for_write(), blender::bke::MutableAttributeAccessor::add(), bke_attribute_copy_if_exists(), BKE_attribute_duplicate(), copy_main_point_domain_attribute_to_mesh(), blender::ed::curves::set_selection_domain::curves_set_selection_domain_exec(), blender::ed::greasepencil::ensure_selection_domain(), blender::draw::extract_attribute(), blender::draw::extract_attribute_subdiv(), gather_attributes(), blender::bke::AttributeIter::get(), get_mutable_attribute(), blender::bke::greasepencil::get_mutable_attribute(), get_mutable_attribute(), get_span_attribute(), get_span_attribute(), get_varray_attribute(), get_varray_attribute(), blender::bke::AttributeFieldInput::get_varray_for_context(), blender::nodes::node_geo_tool_selection_cc::EditSelectionFieldInput::get_varray_for_context(), blender::nodes::node_geo_tool_selection_cc::SculptSelectionFieldInput::get_varray_for_context(), blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_main_items_and_geometry(), blender::io::csv::import_csv_as_pointcloud(), blender::geometry::interpolate_curves_with_samples(), blender::bke::AttributeAccessor::lookup(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write(), blender::bke::MutableAttributeAccessor::rename(), blender::geometry::retrieve_attribute_spans(), blender::geometry::retrieve_attribute_spans(), blender::ed::geometry::rna_property_for_attribute_type_set_value(), blender::ed::sculpt_paint::select_grow::select_grow_modal(), blender::bke::bake::serialize_bake_item(), blender::ed::curves::set_attribute_invoke(), blender::ed::pointcloud::set_attribute_invoke(), blender::nodes::store_computed_output_attributes(), blender::nodes::node_geo_dual_mesh_cc::transfer_attributes(), try_add_shared_field_attribute(), try_capture_fields_on_geometry(), try_sharing_point_data(), blender::draw::pbvh::update_generic_attribute_mesh(), and vertex_paint_from_weight().
|
static |
IDs of the instances. They are used for consistency over multiple frames for things like motion blur. Proper stable ID data that actually helps when rendering can only be generated in some situations, so this vector is allowed to be empty, in which case the index of each instance will be used for the final ID.
Indices into Instances::references_. Determines what data is instanced.
Definition at line 17 of file instances_attributes.cc.
References CD_PROP_FLOAT4X4, CD_PROP_INT32, blender::bke::Instances::custom_data_attributes(), blender::bke::BuiltinAttributeProvider::Deletable, Instance, blender::bke::Instances::instances_num(), blender::bke::BuiltinAttributeProvider::NonDeletable, and tag_component_reference_index_changed().
Referenced by get_instances_accessor_functions().
|
static |
In this function all the attribute providers for a mesh component are created. Most data in this function is statically allocated, because it does not change over time.
Definition at line 849 of file mesh_attributes.cc.
References CD_PROP_BOOL, CD_PROP_FLOAT3, CD_PROP_INT32, CD_PROP_INT32_2D, Corner, create_attribute_providers_for_mesh(), blender::bke::BuiltinAttributeProvider::Deletable, Edge, Face, get_tag_modified_function(), MAKE_CONST_CUSTOM_DATA_GETTER, MAKE_GET_ELEMENT_NUM_GETTER, MAKE_MUTABLE_CUSTOM_DATA_GETTER, blender::math::max(), blender::bke::BuiltinAttributeProvider::NonDeletable, Point, tag_component_positions_changed(), tag_component_sharpness_changed(), and tag_material_index_changed().
Referenced by create_attribute_providers_for_mesh(), and get_mesh_accessor_functions().
|
static |
In this function all the attribute providers for a point cloud component are created. Most data in this function is statically allocated, because it does not change over time.
Definition at line 29 of file pointcloud_attributes.cc.
References CD_PROP_FLOAT, CD_PROP_FLOAT3, CD_PROP_INT32, blender::bke::BuiltinAttributeProvider::Deletable, blender::bke::BuiltinAttributeProvider::NonDeletable, PointCloud::pdata, Point, tag_component_positions_changed(), tag_component_radius_changed(), and PointCloud::totpoint.
Referenced by get_pointcloud_accessor_functions().
|
static |
Definition at line 2328 of file mesh_legacy_convert.cc.
References angle(), IDPropertyUIDataFloat::base, BKE_modifier_new(), BKE_modifier_unique_name(), BKE_modifiers_persistent_uid_init(), blender::bke::idprop::create(), blender::bke::idprop::create_group(), DATA_, DEG2RADF, eModifierType_Nodes, id_us_plus(), IDP_AddToGroup(), IDP_ui_data_ensure(), lib, PROP_ANGLE, IDPropertyUIData::rna_subtype, and STRNCPY().
Referenced by BKE_main_mesh_legacy_convert_auto_smooth().
|
static |
Definition at line 369 of file bvhutils.cc.
References data, mesh_edges_nearest_point(), mesh_edges_spherecast(), and tree.
Referenced by bvhtree_from_mesh_edges_ex(), and create_edges_tree_data().
|
static |
Definition at line 382 of file bvhutils.cc.
References create_edges_tree_data(), data, and tree.
|
static |
Definition at line 528 of file type_conversions.cc.
References add_implicit_conversion().
Referenced by get_implicit_type_conversions().
|
static |
Definition at line 391 of file bvhutils.cc.
References data, mesh_faces_nearest_point(), mesh_faces_spherecast(), and tree.
|
static |
Definition at line 133 of file mesh_data_update.cc.
References BKE_mesh_copy_for_eval(), BKE_mesh_ensure_default_orig_index_customdata(), BKE_mesh_from_bmesh_for_eval_nomain(), BMEditMesh::bm, get_orco_coords(), and blender::Span< T >::is_empty().
Referenced by editbmesh_calc_modifiers(), and mesh_calc_modifiers().
|
static |
Definition at line 825 of file bvhutils.cc.
Referenced by bvhtree_from_pointcloud_get().
|
static |
Definition at line 834 of file bvhutils.cc.
References create_points_tree_data(), data, and tree.
|
static |
Definition at line 815 of file bvhutils.cc.
Referenced by create_pointcloud_tree_data().
|
static |
Definition at line 73 of file attribute_storage.cc.
Referenced by blender::bke::Attribute::data_for_write().
|
static |
Definition at line 457 of file bvhutils.cc.
References BLI_bvhtree_balance(), BLI_bvhtree_insert(), bvhtree_new_common(), copy_v3_v3(), blender::index_mask::IndexMask::foreach_index(), blender::index_mask::IndexMask::size(), and tree.
Referenced by bvhtree_from_mesh_edges_ex().
|
static |
Definition at line 483 of file bvhutils.cc.
References BLI_bvhtree_balance(), BLI_bvhtree_insert(), bvhtree_new_common(), copy_v3_v3(), faces, i, tree, and v2.
|
static |
Definition at line 523 of file bvhutils.cc.
References BLI_bvhtree_balance(), BLI_bvhtree_insert(), bvhtree_new_common(), copy_v3_v3(), create_tree_from_tris(), blender::bke::mesh::face_triangles_num(), blender::bke::mesh::face_triangles_range(), faces, blender::index_mask::IndexMask::foreach_index(), blender::index_mask::IndexMask::foreach_index_optimized(), i, blender::index_mask::IndexMask::size(), size(), and tree.
|
static |
Definition at line 504 of file bvhutils.cc.
References BLI_bvhtree_balance(), BLI_bvhtree_insert(), bvhtree_new_common(), copy_v3_v3(), blender::Span< T >::index_range(), blender::Span< T >::size(), and tree.
Referenced by bvhtree_from_mesh_corner_tris_ex(), and create_tree_from_tris().
|
static |
Definition at line 437 of file bvhutils.cc.
References BLI_bvhtree_balance(), BLI_bvhtree_insert(), bvhtree_new_common(), blender::index_mask::IndexMask::foreach_index(), i, blender::index_mask::IndexMask::size(), and tree.
Referenced by bvhtree_from_mesh_verts_ex(), and bvhtree_from_pointcloud_get().
|
static |
Definition at line 404 of file bvhutils.cc.
References data, mesh_corner_tris_nearest_point(), mesh_corner_tris_spherecast(), and tree.
Referenced by bvhtree_from_mesh_corner_tris_ex(), and create_tris_tree_data().
|
static |
Definition at line 419 of file bvhutils.cc.
References create_tris_tree_data(), data, and tree.
|
static |
Definition at line 349 of file bvhutils.cc.
References data, mesh_verts_spherecast(), and tree.
Referenced by bvhtree_from_mesh_verts_ex(), and create_verts_tree_data().
|
static |
Definition at line 361 of file bvhutils.cc.
References create_verts_tree_data(), data, and tree.
Convert the old curve type to the new data type. Caller owns the returned pointer.
Definition at line 231 of file curve_legacy_convert.cc.
References BKE_curve_nurbs_get_for_read(), and curve_legacy_to_curves().
Referenced by blender::ed::object::convert_curves_legacy_to_grease_pencil(), blender::ed::object::convert_font_to_curves(), blender::ed::object::convert_font_to_grease_pencil(), blender::nodes::node_geo_string_to_curves_cc::create_curve_instances(), curve_calc_modifiers_post(), curve_legacy_to_curves(), blender::io::alembic::ABCCurveWriter::do_write(), blender::io::usd::USDCurvesWriter::do_write(), and blender::io::obj::geometry_to_blender_geometry_set().
| Curves * blender::bke::curve_legacy_to_curves | ( | const Curve & | curve_legacy, |
| const ListBase & | nurbs_list ) |
Convert the old curve type to the new data type using a specific list of Nurb for the actual geometry data. Caller owns the returned pointer.
Definition at line 86 of file curve_legacy_convert.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), Nurb::bezt, Nurb::bp, blender::MutableSpan< T >::copy_from(), CU_NURB_CYCLIC, curve_type_from_legacy(), curves_new_nomain(), blender::bke::SpanAttributeWriter< T >::finish(), Nurb::flagu, blender::bke::curves::foreach_curve_by_type(), Curves::geometry, BezTriple::h1, BezTriple::h2, handle_type_from_legacy(), i, blender::Span< T >::index_range(), blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), blender::Vector< T, InlineBufferCapacity, Allocator >::is_empty(), knots_mode_from_legacy(), Nurb::knotsu, blender::MutableSpan< T >::last(), LISTBASE_FOREACH, blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), Curve::mat, Curves::mat, MEM_dupallocN(), normal_mode_from_legacy(), NURBS_KNOT_MODE_CUSTOM, Nurb::orderu, Nurb::pntsu, Point, BezTriple::radius, BPoint::radius, Nurb::resolu, blender::IndexRange::size(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), blender::MutableSpan< T >::slice(), blender::bke::SpanAttributeWriter< T >::span, BezTriple::tilt, BPoint::tilt, Curve::totcol, Curves::totcol, Curve::twist_mode, Nurb::type, types, BezTriple::vec, and BPoint::vec.
|
static |
Definition at line 152 of file geometry_component_curves.cc.
References blender::bke::AttributeAccessor::lookup_or_default(), blender::threading::parallel_for(), Point, and types.
Referenced by curve_normals_varray().
| VArray< float3 > blender::bke::curve_normals_varray | ( | const CurvesGeometry & | curves, |
| AttrDomain | domain ) |
Definition at line 227 of file geometry_component_curves.cc.
References Curve, curve_normal_point_domain(), curve_normals_varray(), CURVE_TYPE_POLY, blender::VArray< T >::ForContainer(), blender::VArray< T >::ForSpan(), normals, Point, and types.
Referenced by curve_normals_varray(), and blender::bke::NormalFieldInput::get_varray_for_context().
| Mesh * blender::bke::curve_to_mesh_sweep | ( | const CurvesGeometry & | main, |
| const CurvesGeometry & | profile, | ||
| const VArray< float > & | scales, | ||
| bool | fill_caps, | ||
| const bke::AttributeFilter & | attribute_filter = {} ) |
Extrude all splines in the profile curve along the path of every spline in the curve input. Transfer curve attributes to the mesh.
Definition at line 833 of file curve_to_mesh_convert.cc.
References blender::bke::ResultOffsets::any_single_point_main, blender::bke::ResultOffsets::any_single_point_profile, blender::bke::CurvesGeometry::attributes(), BKE_mesh_new_nomain(), build_mesh_positions(), calculate_result_offsets(), blender::bke::AttributeAccessor::contains(), copy_curve_domain_attribute_to_mesh(), copy_main_point_domain_attribute_to_mesh(), copy_profile_point_domain_attribute_to_mesh(), Curve, curve_to_mesh_sweep(), CustomData_free_layer_named(), blender::bke::AttributeIter::data_type, blender::bke::AttributeIter::domain, Edge, blender::bke::ResultOffsets::edge, blender::bke::CombinationInfo::edge_range, blender::bke::CurvesGeometry::ensure_can_interpolate_to_evaluated(), evaluate_attribute(), Face, blender::bke::ResultOffsets::face, blender::bke::CombinationInfo::face_range, fill_mesh_topology(), blender::bke::GSpanAttributeWriter::finish(), blender::bke::SpanAttributeWriter< T >::finish(), blender::bke::AttributeAccessor::foreach_attribute(), foreach_curve_combination(), blender::bke::AttributeIter::get(), get_attribute_domain_for_mesh(), get_curves_info(), has_caps(), Array< T, InlineBufferCapacity, Allocator >::last(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_span(), blender::bke::ResultOffsets::loop, blender::bke::CombinationInfo::loop_range, main, blender::bke::CombinationInfo::main_cyclic, blender::bke::ResultOffsets::main_indices, blender::bke::CombinationInfo::main_points, blender::bke::CombinationInfo::main_segment_num, blender::bke::AttributeIter::name, Point, blender::bke::CombinationInfo::profile_cyclic, blender::bke::ResultOffsets::profile_indices, blender::bke::CombinationInfo::profile_points, blender::bke::CombinationInfo::profile_segment_num, should_add_attribute_to_mesh(), blender::IndexRange::size(), blender::bke::GSpanAttributeWriter::span, blender::bke::SpanAttributeWriter< T >::span, blender::IndexRange::start(), blender::bke::ResultOffsets::vert, blender::bke::CombinationInfo::vert_range, and write_sharp_bezier_edges().
Referenced by blender::nodes::node_geo_curve_to_mesh_cc::curve_to_mesh(), curve_to_mesh_sweep(), and curve_to_wire_mesh().
| Mesh * blender::bke::curve_to_wire_mesh | ( | const CurvesGeometry & | curve, |
| const bke::AttributeFilter & | attribute_filter = {} ) |
Create a loose-edge mesh based on the evaluated path of the curve's splines. Transfer curve attributes to the mesh.
Definition at line 1017 of file curve_to_mesh_convert.cc.
References curve_to_mesh_sweep(), curve_to_wire_mesh(), and get_curve_single_vert().
Referenced by blender::ed::object::convert_curves_to_mesh(), blender::ed::object::convert_grease_pencil_to_mesh(), blender::nodes::node_geo_curve_to_mesh_cc::curve_to_mesh(), curve_to_wire_mesh(), blender::io::alembic::ABCCurveMeshWriter::get_export_mesh(), and mesh_new_from_evaluated_curve_type_object().
|
static |
Definition at line 20 of file curve_legacy_convert.cc.
References BLI_assert_unreachable, CU_BEZIER, CU_NURBS, CU_POLY, CURVE_TYPE_BEZIER, CURVE_TYPE_NURBS, and CURVE_TYPE_POLY.
Referenced by curve_legacy_to_curves().
| void blender::bke::curves_convert_customdata_to_storage | ( | CurvesGeometry & | curves | ) |
See mesh_convert_customdata_to_storage.
Definition at line 281 of file attribute_legacy_convert.cc.
References attribute_legacy_convert_customdata_to_storage(), Curve, curves_convert_customdata_to_storage(), and Point.
Referenced by curves_convert_customdata_to_storage().
| void blender::bke::curves_convert_storage_to_customdata | ( | CurvesGeometry & | curves | ) |
See mesh_convert_storage_to_customdata.
Definition at line 275 of file attribute_legacy_convert.cc.
References convert_storage_to_customdata(), and curves_convert_storage_to_customdata().
Referenced by blender::bke::CurvesGeometry::blend_read(), and curves_convert_storage_to_customdata().
| CurvesGeometry blender::bke::curves_copy_curve_selection | ( | const CurvesGeometry & | curves, |
| const IndexMask & | curves_to_copy, | ||
| const AttributeFilter & | attribute_filter ) |
Definition at line 1525 of file curves_geometry.cc.
References blender::bke::CurvesGeometry::attributes_for_write(), BKE_defgroup_copy_list(), copy_curve_selection_custom_knots(), Curve, curves_copy_curve_selection(), blender::bke::CurvesGeometry::curves_num(), gather_attributes(), gather_attributes_group_to_group(), blender::offset_indices::gather_selected_offsets(), blender::bke::CurvesGeometry::offsets_for_write(), Point, blender::bke::CurvesGeometry::remove_attributes_based_on_types(), blender::bke::CurvesGeometry::resize(), blender::index_mask::IndexMask::size(), blender::offset_indices::OffsetIndices< T >::total_size(), blender::bke::CurvesGeometry::update_curve_types(), and CurvesGeometry::vertex_group_names.
Referenced by curves_copy_curve_selection(), blender::duplicate_strokes(), blender::ed::sculpt_paint::DeleteOperationExecutor::execute(), blender::ed::sculpt_paint::DensitySubtractOperationExecutor::execute(), blender::ed::greasepencil::grease_pencil_copy_strokes_exec(), blender::ed::greasepencil::grease_pencil_move_to_layer_exec(), blender::ed::greasepencil::grease_pencil_separate_layer(), blender::ed::greasepencil::grease_pencil_separate_material(), blender::modify_drawing(), blender::modify_drawing(), blender::modify_drawing(), blender::bke::CurvesGeometry::remove_curves(), blender::geometry::separate_curves_selection(), blender::ed::sculpt_paint::greasepencil::EraseOperationExecutor::stroke_eraser(), and blender::ed::sculpt_paint::greasepencil::trim_stroke_ends().
Copy data from #src to #dst, except the geometry data in CurvesGeometry. Typically used to copy high-level parameters when a geometry-altering operation creates a new curves data-block.
Definition at line 307 of file blenkernel/intern/curves.cc.
References BLI_strdup(), blender::MutableSpan< T >::copy_from(), Curves::flag, Curves::mat, MEM_malloc_arrayN(), MEM_SAFE_FREE, Curves::selection_domain, Curves::surface, Curves::surface_collision_distance, Curves::surface_uv_map, Curves::symmetry, and Curves::totcol.
Referenced by blender::ed::object::convert_font_to_curves(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_curves(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_points_curve(), blender::geometry::execute_realize_curve_tasks(), blender::geometry::extract_curves(), blender::geometry::extract_curves_points(), blender::nodes::node_geo_curve_trim_cc::geometry_set_curve_trim(), blender::nodes::node_geo_curve_fillet_cc::node_geo_exec(), blender::nodes::node_geo_curve_resample_cc::node_geo_exec(), blender::nodes::node_geo_curve_spline_type_cc::node_geo_exec(), blender::geometry::separate_geometry(), and blender::nodes::node_geo_curve_subdivide_cc::subdivide_curves().
| CurvesGeometry blender::bke::curves_copy_point_selection | ( | const CurvesGeometry & | curves, |
| const IndexMask & | points_to_copy, | ||
| const AttributeFilter & | attribute_filter ) |
Definition at line 1427 of file curves_geometry.cc.
References blender::offset_indices::accumulate_counts_to_offsets(), blender::Array< T, InlineBufferCapacity, Allocator >::as_span(), BKE_defgroup_copy_list(), curves_copy_point_selection(), blender::index_mask::IndexMask::foreach_index(), blender::IndexMask::from_predicate(), blender::array_utils::gather(), i, blender::threading::parallel_invoke(), and blender::index_mask::IndexMask::size().
Referenced by curves_copy_point_selection(), blender::ed::greasepencil::grease_pencil_separate_selected(), blender::ed::greasepencil::grease_pencil_stroke_simplify_exec(), blender::bke::CurvesGeometry::remove_points(), blender::geometry::separate_curves_selection(), blender::simplify_drawing(), and blender::ed::sculpt_paint::simplify_fixed().
| CurvesGeometry blender::bke::curves_new_no_attributes | ( | int | point_num, |
| int | curve_num ) |
Definition at line 1706 of file curves_geometry.cc.
References curves_new_no_attributes(), and CustomData_free_layer_named().
Referenced by curves_new_no_attributes(), and blender::geometry::reorder_curves_geometry().
| Curves * blender::bke::curves_new_nomain | ( | CurvesGeometry | curves | ) |
Definition at line 300 of file blenkernel/intern/curves.cc.
References BKE_id_new_nomain(), and Curves::geometry.
| Curves * blender::bke::curves_new_nomain | ( | int | points_num, |
| int | curves_num ) |
Definition at line 281 of file blenkernel/intern/curves.cc.
References BKE_id_new_nomain(), BLI_assert, and Curves::geometry.
Referenced by blender::ed::sculpt_paint::greasepencil::add_strokes_to_drawing(), blender::ed::curves::append_primitive_curve(), blender::ed::sculpt_paint::greasepencil::append_stroke_to_multiframe_drawings(), BKE_curves_data_update(), blender::ed::greasepencil::clipboard_paste_strokes_ex(), blender::create_array_copies(), blender::create_mirror_copies(), curve_legacy_to_curves(), blender::nodes::node_geo_points_to_curves_cc::curves_from_points(), curves_new_nomain_single(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_curves(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_points_curve(), blender::duplicate_strokes(), blender::nodes::node_geo_edge_paths_to_curves_cc::edge_paths_to_curves_convert(), blender::geometry::execute_realize_curve_tasks(), blender::geometry::extract_curves(), blender::nodes::node_geo_interpolate_curves_cc::generate_interpolated_curves(), blender::nodes::node_geo_curve_trim_cc::geometry_set_curve_trim(), blender::ed::greasepencil::grease_pencil_copy_strokes_exec(), blender::ed::greasepencil::grease_pencil_move_to_layer_exec(), blender::ed::greasepencil::grease_pencil_outline_exec(), blender::ed::greasepencil::join_curves(), blender::geometry::join_curves(), MOD_lineart_gpencil_generate_v3(), blender::modify_drawing(), blender::nodes::node_geo_curve_fillet_cc::node_geo_exec(), blender::nodes::node_geo_curve_resample_cc::node_geo_exec(), blender::nodes::node_geo_curve_spline_type_cc::node_geo_exec(), blender::nodes::node_geo_grease_pencil_to_curves_cc::node_geo_exec(), blender::nodes::node_geo_mesh_to_curve_cc::node_geo_exec(), blender::ed::sculpt_paint::greasepencil::outline_stroke(), blender::ed::greasepencil::paste_all_strokes_from_clipboard(), blender::geometry::reorder_curves(), blender::geometry::separate_geometry(), blender::nodes::node_geo_curve_subdivide_cc::subdivide_curves(), blender::ed::sculpt_paint::greasepencil::trim_stroke_ends(), and blender::bke::bake::try_load_curves().
Create a new curves data-block containing a single curve with the given length and type.
Definition at line 291 of file blenkernel/intern/curves.cc.
References curves_new_nomain(), and Curves::geometry.
Referenced by blender::nodes::node_geo_curve_primitive_arc_cc::create_arc_curve_from_points(), blender::nodes::node_geo_curve_primitive_arc_cc::create_arc_curve_from_radius(), blender::nodes::node_geo_curve_primitive_bezier_segment_cc::create_bezier_segment_curve(), blender::nodes::node_geo_curve_primitive_line_cc::create_direction_line_curve(), blender::nodes::node_geo_curve_primitive_circle_cc::create_point_circle_curve(), blender::nodes::node_geo_curve_primitive_line_cc::create_point_line_curve(), blender::nodes::node_geo_curve_primitive_quadratic_bezier_cc::create_quadratic_bezier_curve(), blender::nodes::node_geo_curve_primitive_circle_cc::create_radius_circle_curve(), blender::nodes::node_geo_curve_primitive_spiral_cc::create_spiral_curve(), blender::nodes::node_geo_curve_primitive_star_cc::create_star_curve(), blender::nodes::node_geo_points_to_curves_cc::curve_from_points(), blender::geometry::extract_curves_points(), and blender::nodes::node_geo_curve_primitive_quadrilateral_cc::node_geo_exec().
| void blender::bke::curves_normals_point_domain_calc | ( | const CurvesGeometry & | curves, |
| MutableSpan< float3 > | normals ) |
Definition at line 383 of file blenkernel/intern/curves.cc.
References blender::fn::FieldEvaluator::add_with_destination(), blender::fn::FieldEvaluator::evaluate(), normals, and Point.
Referenced by export_hair_curves(), and blender::ed::curves::point_normals_array_create().
| std::optional< AttrType > blender::bke::custom_data_type_to_attr_type | ( | eCustomDataType | data_type | ) |
Convert a custom data type to an attribute type. May return std::nullopt if the custom data type isn't used at runtime, is not a generic type that can be stored as an attribute, or is only used for BMesh.
Definition at line 21 of file attribute_legacy_convert.cc.
References BLI_assert_unreachable, Bool, CD_AUTO_FROM_NAME, CD_BM_ELEM_PYPTR, CD_CLOTH_ORCO, CD_FREESTYLE_EDGE, CD_FREESTYLE_FACE, CD_GRID_PAINT_MASK, CD_MCOL, CD_MDEFORMVERT, CD_MDISPS, CD_MFACE, CD_MLOOPTANGENT, CD_MTFACE, CD_MVERT_SKIN, CD_NORMAL, CD_NUMTYPES, CD_ORCO, CD_ORIGINDEX, CD_ORIGSPACE, CD_ORIGSPACE_MLOOP, CD_PROP_BOOL, CD_PROP_BYTE_COLOR, CD_PROP_COLOR, CD_PROP_FLOAT, CD_PROP_FLOAT2, CD_PROP_FLOAT3, CD_PROP_FLOAT4X4, CD_PROP_INT16_2D, CD_PROP_INT32, CD_PROP_INT32_2D, CD_PROP_INT8, CD_PROP_QUATERNION, CD_PROP_STRING, CD_SHAPE_KEYINDEX, CD_SHAPEKEY, CD_TANGENT, CD_TESSLOOPNORMAL, ColorByte, ColorFloat, Float, Float2, Float3, Float4x4, Int16_2D, Int32, Int32_2D, Int8, Quaternion, and String.
Referenced by attribute_legacy_convert_customdata_to_storage(), and CustomData_blend_write_prepare().
| const blender::CPPType * blender::bke::custom_data_type_to_cpp_type | ( | eCustomDataType | type | ) |
Definition at line 116 of file attribute_access.cc.
References CD_PROP_BOOL, CD_PROP_BYTE_COLOR, CD_PROP_COLOR, CD_PROP_FLOAT, CD_PROP_FLOAT2, CD_PROP_FLOAT3, CD_PROP_FLOAT4X4, CD_PROP_INT16_2D, CD_PROP_INT32, CD_PROP_INT32_2D, CD_PROP_INT8, CD_PROP_QUATERNION, CD_PROP_STRING, and blender::CPPType::get().
Referenced by adapt_domain_and_type_if_necessary(), blender::geometry::add_instance_attributes_to_single_geometry(), convert_storage_to_customdata(), blender::bke::attribute_math::convert_to_static_type(), blender::ed::greasepencil::duplicate_layer_and_frames(), blender::geometry::execute_instances_tasks(), blender::geometry::fill_new_attribute(), blender::bke::CustomDataAttributeProvider::foreach_attribute(), blender::nodes::node_geo_tool_selection_cc::get_selection_field(), blender::bke::bake::load_attributes(), blender::bke::AttributeAccessor::lookup_or_default(), blender::ed::mesh::set_attribute::mesh_set_attribute_exec(), blender::ed::mesh::set_attribute::mesh_set_attribute_invoke(), blender::nodes::node_geo_input_named_attribute_cc::node_geo_exec(), blender::nodes::node_geo_store_named_attribute_cc::node_geo_exec(), blender::geometry::prepare_attribute_fallbacks(), blender::ed::geometry::rna_property_for_attribute_type_retrieve_value(), blender::ed::curves::set_attribute_exec(), blender::ed::pointcloud::set_attribute_exec(), blender::bke::BuiltinCustomDataLayerProvider::try_get_for_read(), blender::bke::CustomDataAttributeProvider::try_get_for_read(), blender::bke::BuiltinCustomDataLayerProvider::try_get_for_write(), and blender::bke::CustomDataAttributeProvider::try_get_for_write().
| std::optional< eNodeSocketDatatype > blender::bke::custom_data_type_to_socket_type | ( | eCustomDataType | type | ) |
Definition at line 5379 of file node.cc.
References CD_PROP_BOOL, CD_PROP_BYTE_COLOR, CD_PROP_COLOR, CD_PROP_FLOAT, CD_PROP_FLOAT2, CD_PROP_FLOAT3, CD_PROP_FLOAT4X4, CD_PROP_INT32, CD_PROP_INT8, CD_PROP_QUATERNION, SOCK_BOOLEAN, SOCK_FLOAT, SOCK_INT, SOCK_MATRIX, SOCK_RGBA, SOCK_ROTATION, and SOCK_VECTOR.
Referenced by blender::nodes::DeclarationListBuilder::add_input(), blender::nodes::DeclarationListBuilder::add_output(), and blender::nodes::CaptureAttributeItemsAccessor::get_socket_type().
| std::optional< VolumeGridType > blender::bke::custom_data_type_to_volume_grid_type | ( | eCustomDataType | type | ) |
Definition at line 5481 of file customdata.cc.
References CD_PROP_BOOL, CD_PROP_FLOAT, CD_PROP_FLOAT3, CD_PROP_INT32, VOLUME_GRID_BOOLEAN, VOLUME_GRID_FLOAT, VOLUME_GRID_INT, and VOLUME_GRID_VECTOR_FLOAT.
|
static |
Definition at line 2650 of file node.cc.
References blender::ResourceScope::add_destruct_call(), and blender::bke::bNodeType::free_self.
Referenced by node_free_type().
|
static |
Definition at line 2661 of file node.cc.
References blender::ResourceScope::add_destruct_call(), and blender::bke::bNodeSocketType::free_self.
Referenced by node_free_socket_type().
|
static |
Definition at line 2644 of file node.cc.
References blender::ResourceScope::add_destruct_call().
Referenced by ntree_free_type().
|
static |
Definition at line 2011 of file node.cc.
References BLO_read_string(), BLO_read_struct, bNodeSocket::default_attribute_name, direct_link_node_socket_default_value(), direct_link_node_socket_storage(), IDP_BlendDataRead, bNodeSocket::link, bNodeSocket::prop, bNodeSocket::runtime, and bNodeSocket::typeinfo.
Referenced by node_tree_blend_read_data().
|
static |
Definition at line 1721 of file node.cc.
References BLI_assert_unreachable, BLO_read_data_address, BLO_read_fileversion_get(), BLO_read_struct, copy_v3_v3(), copy_v4_v4(), bNodeSocket::default_value, blender::bke::versioning_internal::direct_link_node_socket_legacy_data_version_do(), bNodeSocketValueMenu::enum_items, blender::bke::versioning_internal::MIN_BLENDFILE_VERSION_FOR_MODERN_NODE_SOCKET_DEFAULT_VALUE_READING, bNodeSocketValueMenu::runtime_flag, 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, STRNCPY(), and bNodeSocket::type.
Referenced by direct_link_node_socket().
|
static |
Definition at line 1974 of file node.cc.
References BKE_image_format_blend_read_data(), BLI_assert_unreachable, BLO_read_struct, CMP_NODE_IMAGE, CMP_NODE_OUTPUT_FILE, CMP_NODE_R_LAYERS, NodeImageMultiFileSocket::format, bNodeSocket::storage, and bNode::type_legacy.
Referenced by direct_link_node_socket().
|
static |
Definition at line 216 of file node_tree_zones.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), all_zone_input_node_types(), all_zone_output_node_types(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BLI_assert, blender::bke::bNodeTreeZone::child_node_ids, blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::clear(), blender::Span< T >::contains(), ELEM, find_zone_nodes(), get_direct_zone_relations(), blender::bits::has_common_set_bits(), bNode::identifier, blender::Span< T >::index_range(), blender::bke::bNodeTreeZone::input_node_id, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_default(), blender::bke::bNodeTreeZone::output_node_id, blender::Span< T >::size(), tree, update_zone_border_links(), update_zone_depths(), and update_zone_per_node().
Referenced by get_tree_zones().
|
static |
Definition at line 240 of file curves_geometry.cc.
References Point.
|
static |
Definition at line 235 of file curves_geometry.cc.
References Point.
Referenced by get_mutable_attribute(), get_span_attribute(), and get_varray_attribute().
|
static |
Definition at line 230 of file curves_geometry.cc.
References Point.
Referenced by add_custom_data_layer_from_attribute_init(), get_mutable_attribute(), get_span_attribute(), and get_varray_attribute().
|
static |
Definition at line 1033 of file mesh_data_update.cc.
References BKE_object_eval_assign_data(), BLI_assert, Object::data, DEG_is_evaluated(), depsgraph, editbmesh_calc_modifiers(), Mesh::id, Mesh::key, and Object::runtime.
Referenced by editbmesh_get_eval_cage(), and mesh_data_update().
|
static |
Definition at line 758 of file mesh_data_update.cc.
References add_orco_mesh(), ASSERT_IS_VALID_MESH_INPUT, ASSERT_IS_VALID_MESH_OUTPUT, BKE_id_free(), BKE_mesh_copy_for_eval(), BKE_mesh_wrapper_ensure_mdata(), BKE_mesh_wrapper_from_editmesh(), BKE_mesh_wrapper_tag_positions_changed(), BKE_modifier_calc_data_masks(), BKE_modifier_deform_verts(), BKE_modifier_deform_vertsEM(), BKE_modifier_get_info(), BKE_modifier_modify_mesh(), BKE_modifiers_clear_errors(), BKE_modifiers_get_cage_index(), BKE_modifiers_get_virtual_modifierlist(), BLI_assert, BLI_linklist_free(), BMEditMesh::bm, CD_MASK_BAREMESH, CD_MASK_ORCO, CD_MASK_ORIGINDEX, CD_MASK_ORIGSPACE_MLOOP, CD_ORCO, CD_ORIGINDEX, CD_ORIGSPACE_MLOOP, CD_SET_DEFAULT, create_orco_mesh(), CustomData_add_layer(), CustomData_get_layer(), CustomData_has_layer(), CustomData_MeshMasks_update(), DAG_EVAL_RENDER, Object::data, ModifierTypeInfo::deform_verts_EM, DEG_get_mode(), depsgraph, BMesh::edata, editbmesh_modifier_is_enabled(), eModifierMode_Editmode, eModifierMode_Realtime, i, CDMaskLink::mask, mask(), mesh_init_origspace(), mesh_set_only_copy(), mesh_wrapper_vert_coords_ensure_for_write(), MOD_APPLY_ORCO, MOD_APPLY_RENDER, MOD_APPLY_USECACHE, Object::modifier_flag, modifier_modify_mesh_and_geometry_set(), CDMaskLink::next, ModifierData::next, OB_MODIFIER_FLAG_ADD_REST_POSITION, OnlyDeform, BMesh::pdata, ModifierTypeInfo::required_data_mask, Mesh::runtime, set_rest_position(), ModifierData::type, ModifierTypeInfo::type, and CustomData_MeshMasks::vmask.
Referenced by editbmesh_build_data().
| Mesh * blender::bke::editbmesh_get_eval_cage | ( | Depsgraph * | depsgraph, |
| const Scene * | scene, | ||
| Object * | obedit, | ||
| BMEditMesh * | em, | ||
| const CustomData_MeshMasks * | dataMask ) |
Definition at line 1229 of file mesh_data_update.cc.
References CustomData_MeshMasks_are_matching(), depsgraph, editbmesh_build_data(), object_get_datamask(), and Object::runtime.
Referenced by BKE_crazyspace_get_mapped_editverts(), BKE_editmesh_vert_coords_alloc(), and editbmesh_get_eval_cage_from_orig().
| Mesh * blender::bke::editbmesh_get_eval_cage_from_orig | ( | Depsgraph * | depsgraph, |
| const Scene * | scene, | ||
| Object * | obedit, | ||
| const CustomData_MeshMasks * | dataMask ) |
Definition at line 1253 of file mesh_data_update.cc.
References BKE_editmesh_from_object(), BLI_assert, DEG_get_evaluated(), depsgraph, editbmesh_get_eval_cage(), Object::id, ID_TAG_COPIED_ON_EVAL, and ID::tag.
Referenced by mesh_foreachScreenEdge(), mesh_foreachScreenEdge_clip_bb_segment(), mesh_foreachScreenFace(), and mesh_foreachScreenVert().
| bool blender::bke::editbmesh_modifier_is_enabled | ( | const Scene * | scene, |
| const Object * | ob, | ||
| ModifierData * | md, | ||
| bool | has_prev_mesh ) |
Definition at line 721 of file mesh_data_update.cc.
References BKE_modifier_get_info(), BKE_modifier_is_enabled(), BKE_modifier_set_error(), eModifierMode_Editmode, eModifierMode_Realtime, eModifierTypeFlag_RequiresOriginalData, ModifierTypeInfo::flags, and ModifierData::type.
Referenced by BKE_crazyspace_get_first_deform_matrices_editbmesh(), and editbmesh_calc_modifiers().
|
static |
Definition at line 402 of file curve_to_mesh_convert.cc.
References CURVE_TYPE_POLY, blender::Vector< T, InlineBufferCapacity, Allocator >::data(), evaluate_attribute(), blender::GVArrayCommon::get_internal_span(), blender::GVArrayCommon::is_span(), blender::GVArrayCommon::materialize(), blender::Vector< T, InlineBufferCapacity, Allocator >::reinitialize(), blender::CPPType::size, and blender::GVArrayCommon::type().
Referenced by build_mesh_positions(), copy_main_point_domain_attribute_to_mesh(), curve_to_mesh_sweep(), and evaluate_attribute().
|
static |
Definition at line 961 of file curves_geometry.cc.
References blender::bke::EvalData::all_bezier_evaluated_offsets, blender::GMutableSpan::copy_from(), CURVE_TYPE_BEZIER, CURVE_TYPE_CATMULL_ROM, CURVE_TYPE_NURBS, CURVE_TYPE_POLY, blender::bke::EvalData::cyclic, evaluate_generic_data_for_curve(), blender::bke::curves::bezier::interpolate_to_evaluated(), blender::bke::curves::catmull_rom::interpolate_to_evaluated(), blender::bke::curves::nurbs::interpolate_to_evaluated(), blender::bke::EvalData::nurbs_basis_cache, blender::bke::EvalData::nurbs_orders, blender::bke::EvalData::nurbs_weights, blender::bke::curves::per_curve_point_offsets_range(), blender::bke::EvalData::points_by_curve, blender::bke::EvalData::resolution, Span< T >::slice(), Span< T >::slice_safe(), and blender::bke::EvalData::types.
Referenced by evaluate_generic_data_for_curve(), blender::bke::CurvesGeometry::evaluated_normals(), blender::bke::CurvesGeometry::interpolate_to_evaluated(), and blender::bke::CurvesGeometry::interpolate_to_evaluated().
| void blender::bke::file_handler_add | ( | std::unique_ptr< FileHandlerType > | file_handler | ) |
Adds a new file_handler to the file_handlers list, also loads all the file extensions from the formatted FileHandlerType.file_extensions_str string to FileHandlerType.file_extensions list.
The new file_handler is expected to have a unique FileHandlerType.idname.
Load all extensions from the string list into the list.
Definition at line 40 of file file_handler.cc.
References BLI_assert, BLI_strchr_or_end(), file_handler_find(), and file_handlers_vector().
Referenced by blender::bke::tests::file_handler_add_test().
| FileHandlerType * blender::bke::file_handler_find | ( | StringRef | idname | ) |
Returns a file_handler that have a specific idname, otherwise return nullptr.
Definition at line 27 of file file_handler.cc.
References begin(), and file_handlers().
Referenced by blo_do_versions_430(), blender::ed::object::collection_exporter_add_exec(), blender::ed::object::collection_exporter_export(), file_handler_add(), blender::bke::tests::TEST(), blender::bke::tests::TEST(), and uiTemplateCollectionExporters().
| void blender::bke::file_handler_remove | ( | FileHandlerType * | file_handler | ) |
Removes and frees a specific file_handler from the file_handlers list, the file_handler pointer will be not longer valid for use.
Definition at line 60 of file file_handler.cc.
References file_handlers_vector().
Referenced by blender::bke::tests::TEST().
| Span< std::unique_ptr< FileHandlerType > > blender::bke::file_handlers | ( | ) |
Return pointers to all registered file handlers.
Definition at line 22 of file file_handler.cc.
References file_handlers_vector().
Referenced by blender::ed::object::collection_exporter_menu_draw(), blender::bke::tests::file_handler_add_test(), file_handler_find(), file_handlers_poll_file_drop(), file_handlers_vector(), blender::bke::tests::TEST(), and blender::bke::tests::TEST().
| blender::Vector< FileHandlerType * > blender::bke::file_handlers_poll_file_drop | ( | const bContext * | C, |
| const blender::Span< std::string > | paths ) |
Return a vector of file handlers that support any file path in paths and the call to poll_drop returns true. Caller must check if each file handler have a valid import_operator.
Definition at line 68 of file file_handler.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append_non_duplicates(), BLI_path_extension(), BLI_strcaseeq(), C, blender::bke::FileHandlerType::file_extensions, file_handlers(), blender::bke::FileHandlerType::poll_drop, and result.
Referenced by drop_import_file_poll_file_handlers(), and blender::ed::vse::test_single_file_handler_poll().
|
static |
Definition at line 16 of file file_handler.cc.
References file_handlers().
Referenced by file_handler_add(), file_handler_remove(), and file_handlers().
| void blender::bke::fill_attribute_range_default | ( | MutableAttributeAccessor | dst_attributes, |
| AttrDomain | domain, | ||
| const AttributeFilter & | attribute_filter, | ||
| IndexRange | range ) |
Definition at line 1146 of file attribute_access.cc.
References blender::bke::AttributeFilter::allow_skip(), CD_PROP_STRING, data, blender::bke::AttributeIter::data_type, blender::CPPType::default_value(), blender::bke::AttributeIter::domain, blender::CPPType::fill_assign_n(), blender::bke::GSpanAttributeWriter::finish(), blender::bke::AttributeAccessor::foreach_attribute(), blender::bke::MutableAttributeAccessor::lookup_for_write_span(), blender::bke::AttributeIter::name, blender::GMutableSpan::slice(), blender::bke::GSpanAttributeWriter::span, and blender::GMutableSpan::type().
Referenced by blender::ed::curves::add_curves(), blender::ed::greasepencil::boundary_to_curves(), blender::ed::curves::curves_draw_exec(), blender::ed::greasepencil::grease_pencil_primitive_init_curves(), blender::ed::greasepencil::grease_pencil_primitive_update_curves(), blender::ed::sculpt_paint::greasepencil::PaintOperationExecutor::process_extension_sample(), and blender::ed::sculpt_paint::greasepencil::PaintOperationExecutor::process_start_sample().
|
static |
Definition at line 195 of file curve_to_mesh_convert.cc.
References build_point_matrix(), blender::Span< T >::first(), blender::Span< T >::is_empty(), normals, blender::math::scale(), and blender::math::transform_point().
Referenced by build_mesh_positions().
|
static |
Definition at line 38 of file curve_to_mesh_convert.cc.
References has_caps(), i, blender::bke::curves::segments_num(), and segments_num_no_duplicate_edge().
Referenced by curve_to_mesh_sweep().
|
static |
Definition at line 402 of file mesh_remesh_voxel.cc.
References find_nearest_corners(), blender::MutableSpan< T >::index_range(), and blender::threading::parallel_for().
Referenced by find_nearest_corners(), and mesh_remesh_reproject_attributes().
|
static |
Definition at line 434 of file mesh_remesh_voxel.cc.
References find_nearest_edges(), blender::MutableSpan< T >::index_range(), and blender::threading::parallel_for().
Referenced by find_nearest_edges(), and mesh_remesh_reproject_attributes().
|
static |
Definition at line 374 of file mesh_remesh_voxel.cc.
References find_nearest_faces(), blender::offset_indices::OffsetIndices< T >::index_range(), and blender::threading::parallel_for().
Referenced by find_nearest_faces(), and mesh_remesh_reproject_attributes().
|
static |
Definition at line 327 of file mesh_remesh_voxel.cc.
References BLI_bvhtree_find_nearest(), BVHTreeNearest::dist_sq, FLT_MAX, i, BVHTreeNearest::index, blender::Span< T >::index_range(), blender::bke::BVHTreeFromMesh::nearest_callback, and blender::bke::BVHTreeFromMesh::tree.
|
static |
Definition at line 341 of file mesh_remesh_voxel.cc.
References blender::MutableSpan< T >::index_range(), and blender::threading::parallel_for().
Referenced by mesh_remesh_reproject_attributes().
|
static |
Definition at line 350 of file mesh_remesh_voxel.cc.
References blender::Span< T >::index_range(), and blender::threading::parallel_for().
Referenced by mesh_remesh_reproject_attributes().
|
static |
Definition at line 31 of file node_tree_zones.cc.
References blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), all_zone_types(), blender::Vector< T, InlineBufferCapacity, Allocator >::append_and_get_index(), blender::Vector< T, InlineBufferCapacity, Allocator >::extend(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_default(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), and tree.
Referenced by discover_tree_zones().
|
static |
Definition at line 18 of file mesh_flip_faces.cc.
References data, faces, blender::index_mask::IndexMask::foreach_index(), and i.
Referenced by flip_custom_data_type().
|
static |
Definition at line 27 of file mesh_flip_faces.cc.
References BLI_assert, CustomData_get_layer_n_for_write(), CustomData_number_of_layers(), CustomData_sizeof(), data, faces, flip_corner_data(), i, and T.
Referenced by mesh_flip_faces().
|
static |
Definition at line 115 of file type_conversions.cc.
References blender::math::is_zero().
|
static |
Definition at line 127 of file type_conversions.cc.
References blender::ColorSceneLinear4f< Alpha >::encode(), and float2_to_color().
|
static |
Definition at line 123 of file type_conversions.cc.
Referenced by float2_to_byte_color().
|
static |
Definition at line 99 of file type_conversions.cc.
Referenced by int2_to_float(), and short2_to_float().
Definition at line 91 of file type_conversions.cc.
Definition at line 95 of file type_conversions.cc.
|
static |
Definition at line 103 of file type_conversions.cc.
Definition at line 111 of file type_conversions.cc.
|
static |
Definition at line 119 of file type_conversions.cc.
References float_to_int8().
Definition at line 107 of file type_conversions.cc.
|
static |
Definition at line 132 of file type_conversions.cc.
References blender::math::is_zero().
|
static |
Definition at line 168 of file type_conversions.cc.
References blender::ColorSceneLinear4f< Alpha >::encode(), and float3_to_color().
|
static |
Definition at line 164 of file type_conversions.cc.
Referenced by float3_to_byte_color().
|
static |
Definition at line 140 of file type_conversions.cc.
Definition at line 156 of file type_conversions.cc.
Definition at line 160 of file type_conversions.cc.
|
static |
Definition at line 144 of file type_conversions.cc.
Definition at line 152 of file type_conversions.cc.
|
static |
Definition at line 136 of file type_conversions.cc.
References float_to_int8().
|
static |
Definition at line 172 of file type_conversions.cc.
References blender::math::to_quaternion().
Definition at line 148 of file type_conversions.cc.
|
static |
Definition at line 177 of file type_conversions.cc.
References blender::math::is_zero().
|
static |
Definition at line 213 of file type_conversions.cc.
References blender::ColorSceneLinear4f< Alpha >::encode(), and float4_to_color().
|
static |
Definition at line 209 of file type_conversions.cc.
Referenced by float4_to_byte_color().
|
static |
Definition at line 185 of file type_conversions.cc.
Definition at line 201 of file type_conversions.cc.
References blender::VecBase< T, Size >::xy().
Definition at line 205 of file type_conversions.cc.
References blender::VecBase< T, Size >::xyz().
|
static |
Definition at line 189 of file type_conversions.cc.
Definition at line 197 of file type_conversions.cc.
|
static |
Definition at line 181 of file type_conversions.cc.
References float_to_int8().
|
static |
Definition at line 217 of file type_conversions.cc.
Definition at line 193 of file type_conversions.cc.
|
static |
Definition at line 510 of file type_conversions.cc.
References blender::math::normalize(), and blender::math::normalized_to_quaternion_safe().
|
static |
Definition at line 69 of file type_conversions.cc.
|
static |
Definition at line 82 of file type_conversions.cc.
References blender::ColorSceneLinear4f< Alpha >::encode(), and float_to_color().
|
static |
Definition at line 78 of file type_conversions.cc.
Referenced by float_to_byte_color().
|
static |
Definition at line 45 of file type_conversions.cc.
|
static |
Definition at line 49 of file type_conversions.cc.
|
static |
Definition at line 53 of file type_conversions.cc.
|
static |
Definition at line 57 of file type_conversions.cc.
|
static |
Definition at line 65 of file type_conversions.cc.
|
static |
Definition at line 73 of file type_conversions.cc.
Referenced by float2_to_int8(), float3_to_int8(), and float4_to_int8().
|
static |
Definition at line 86 of file type_conversions.cc.
References blender::math::to_quaternion().
|
static |
Definition at line 61 of file type_conversions.cc.
|
static |
Definition at line 450 of file curve_to_mesh_convert.cc.
References blender::bke::ResultOffsets::edge, blender::bke::CurvesGeometry::evaluated_points_by_curve(), blender::bke::ResultOffsets::face, foreach_curve_combination(), blender::bke::ResultOffsets::loop, blender::bke::CurvesInfo::main, blender::threading::parallel_for(), blender::bke::CurvesInfo::profile, blender::bke::ResultOffsets::total, and blender::bke::ResultOffsets::vert.
Referenced by build_mesh_positions(), curve_to_mesh_sweep(), foreach_curve_combination(), and write_sharp_bezier_edges().
|
static |
Definition at line 41 of file mesh_runtime.cc.
References blender::bke::MeshRuntime::batch_cache, and BKE_mesh_batch_cache_free().
Referenced by BKE_mesh_runtime_clear_cache(), and blender::bke::MeshRuntime::~MeshRuntime().
|
static |
Definition at line 49 of file mesh_runtime.cc.
References blender::bke::MeshRuntime::bvh_cache_corner_tris, blender::bke::MeshRuntime::bvh_cache_corner_tris_no_hidden, blender::bke::MeshRuntime::bvh_cache_edges, blender::bke::MeshRuntime::bvh_cache_faces, blender::bke::MeshRuntime::bvh_cache_loose_edges, blender::bke::MeshRuntime::bvh_cache_loose_edges_no_hidden, blender::bke::MeshRuntime::bvh_cache_loose_verts, blender::bke::MeshRuntime::bvh_cache_loose_verts_no_hidden, blender::bke::MeshRuntime::bvh_cache_verts, and blender::SharedCache< T >::tag_dirty().
Referenced by BKE_mesh_runtime_clear_geometry().
|
static |
Definition at line 4699 of file node.cc.
References bNode::id, bNodeTree::id, ID_TAG_LOCALIZED, LISTBASE_FOREACH, MEM_freeN(), node_tree_free_tree(), bNodeTree::nodes, and ID::tag.
Referenced by ntree_free_data().
|
static |
Definition at line 33 of file mesh_runtime.cc.
References BKE_id_free(), and blender::bke::MeshRuntime::mesh_eval.
Referenced by BKE_mesh_runtime_clear_cache(), and blender::bke::MeshRuntime::~MeshRuntime().
| void blender::bke::gather_attributes | ( | AttributeAccessor | src_attributes, |
| AttrDomain | src_domain, | ||
| AttrDomain | dst_domain, | ||
| const AttributeFilter & | attribute_filter, | ||
| const IndexMask & | selection, | ||
| MutableAttributeAccessor | dst_attributes ) |
Definition at line 962 of file attribute_access.cc.
References blender::bke::MutableAttributeAccessor::add(), blender::bke::AttributeFilter::allow_skip(), CD_PROP_STRING, blender::GSpan::data(), blender::bke::AttributeIter::data_type, blender::bke::AttributeIter::domain, blender::bke::AttributeAccessor::domain_size(), blender::bke::GSpanAttributeWriter::finish(), blender::bke::AttributeAccessor::foreach_attribute(), blender::array_utils::gather(), blender::bke::AttributeIter::get(), blender::GVArrayCommon::get_internal_span(), init(), init(), blender::GVArrayCommon::is_span(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), blender::bke::AttributeIter::name, blender::bke::GAttributeReader::sharing_info, blender::index_mask::IndexMask::size(), blender::bke::GSpanAttributeWriter::span, and blender::bke::GAttributeReader::varray.
Referenced by BPy_GeometrySet_get_instances_pointcloud(), blender::geometry::copy_and_reorder_curves(), blender::geometry::copy_and_reorder_instaces(), blender::geometry::copy_and_reorder_mesh_edges(), blender::geometry::copy_and_reorder_mesh_faces(), blender::geometry::copy_and_reorder_mesh_verts(), blender::geometry::copy_and_reorder_points(), copy_attributes(), blender::ed::curves::copy_data_to_geometry(), blender::ed::pointcloud::copy_selection(), blender::geometry::create_curve_from_vert_indices(), blender::create_dashes(), blender::create_envelope_strokes(), blender::nodes::node_geo_points_to_curves_cc::curve_from_points(), curves_copy_curve_selection(), blender::nodes::node_geo_points_to_curves_cc::curves_from_points(), blender::geometry::extract_curves(), blender::geometry::extract_curves_points(), blender::geometry::extract_greasepencil_layer_curves(), blender::geometry::extract_greasepencil_layer_points(), blender::geometry::extract_greasepencil_layers(), blender::geometry::extract_instances(), blender::geometry::extract_pointcloud_points(), blender::ed::greasepencil::extrude_grease_pencil_curves(), gather_attributes(), blender::geometry::gather_vert_attributes(), blender::ed::greasepencil::grease_pencil_separate_layer(), blender::ed::greasepencil::grease_pencil_separate_material(), blender::ed::greasepencil::grease_pencil_separate_selected(), blender::geometry::join_curves_ranges(), blender::geometry::mesh_copy_selection(), blender::geometry::mesh_copy_selection_keep_edges(), blender::geometry::mesh_copy_selection_keep_verts(), blender::geometry::mesh_faces_to_curves_convert(), mesh_remesh_reproject_attributes(), blender::bke::Instances::remove(), blender::geometry::reorder_and_flip_curves(), blender::reorder_cyclic_curve_points(), blender::geometry::separate_grease_pencil_layer_selection(), and blender::geometry::separate_pointcloud_selection().
| void blender::bke::gather_attributes | ( | AttributeAccessor | src_attributes, |
| AttrDomain | src_domain, | ||
| AttrDomain | dst_domain, | ||
| const AttributeFilter & | attribute_filter, | ||
| Span< int > | indices, | ||
| MutableAttributeAccessor | dst_attributes ) |
Fill the destination attribute by gathering indexed values from src attributes.
Definition at line 997 of file attribute_access.cc.
References blender::bke::AttributeFilter::allow_skip(), CD_PROP_STRING, copy_attributes(), blender::bke::AttributeIter::data_type, blender::bke::AttributeIter::domain, blender::bke::AttributeAccessor::domain_size(), blender::bke::GSpanAttributeWriter::finish(), blender::bke::AttributeAccessor::foreach_attribute(), blender::bke::attribute_math::gather(), blender::bke::AttributeIter::get(), indices, blender::array_utils::indices_are_range(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), blender::bke::AttributeIter::name, blender::bke::GSpanAttributeWriter::span, and blender::bke::GAttributeReader::varray.
|
static |
Definition at line 492 of file mesh_remesh_voxel.cc.
References cpp_type_to_custom_data_type(), blender::bke::GSpanAttributeWriter::finish(), blender::bke::attribute_math::gather(), gather_attributes(), blender::bke::AttributeAccessor::lookup(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), blender::bke::GSpanAttributeWriter::span, and blender::GSpan::type().
| void blender::bke::gather_attributes_group_to_group | ( | AttributeAccessor | src_attributes, |
| AttrDomain | src_domain, | ||
| AttrDomain | dst_domain, | ||
| const AttributeFilter & | attribute_filter, | ||
| OffsetIndices< int > | src_offsets, | ||
| OffsetIndices< int > | dst_offsets, | ||
| const IndexMask & | selection, | ||
| MutableAttributeAccessor | dst_attributes ) |
Copy attribute values from groups defined by src_offsets to groups defined by dst_offsets. The group indices are gathered to the result by selection. The size of each source and result group must be the same.
Definition at line 1031 of file attribute_access.cc.
References blender::bke::AttributeFilter::allow_skip(), CD_PROP_STRING, copy_attributes(), blender::bke::AttributeIter::data_type, blender::bke::AttributeIter::domain, blender::bke::AttributeAccessor::domain_size(), blender::bke::GSpanAttributeWriter::finish(), blender::bke::AttributeAccessor::foreach_attribute(), blender::bke::attribute_math::gather_group_to_group(), blender::bke::AttributeIter::get(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), blender::bke::AttributeIter::name, blender::index_mask::IndexMask::size(), blender::offset_indices::OffsetIndices< T >::size(), and blender::bke::GSpanAttributeWriter::span.
Referenced by curves_copy_curve_selection(), blender::geometry::mesh_copy_selection(), blender::geometry::mesh_copy_selection_keep_edges(), blender::geometry::mesh_copy_selection_keep_verts(), and blender::geometry::mesh_faces_to_curves_convert().
| void blender::bke::gather_attributes_to_groups | ( | AttributeAccessor | src_attributes, |
| AttrDomain | src_domain, | ||
| AttrDomain | dst_domain, | ||
| const AttributeFilter & | attribute_filter, | ||
| OffsetIndices< int > | dst_offsets, | ||
| const IndexMask & | src_selection, | ||
| MutableAttributeAccessor | dst_attributes ) |
Definition at line 1069 of file attribute_access.cc.
References blender::bke::AttributeFilter::allow_skip(), CD_PROP_STRING, blender::bke::AttributeIter::data_type, blender::bke::AttributeIter::domain, blender::bke::GSpanAttributeWriter::finish(), blender::bke::AttributeAccessor::foreach_attribute(), blender::bke::attribute_math::gather_to_groups(), blender::bke::AttributeIter::get(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), blender::bke::AttributeIter::name, and blender::bke::GSpanAttributeWriter::span.
Referenced by blender::nodes::node_geo_duplicate_elements_cc::duplicate_instances(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_layers(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_points_CurvesGeometry(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_points_mesh(), and blender::nodes::node_geo_duplicate_elements_cc::duplicate_points_pointcloud().
|
static |
Definition at line 765 of file geometry_set.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append_non_duplicates(), blender::bke::Instances::foreach_referenced_geometry(), gather_component_types_recursive(), blender::bke::GeometrySet::get_components(), and blender::bke::GeometrySet::get_instances().
Referenced by blender::bke::GeometrySet::gather_component_types(), and gather_component_types_recursive().
| void blender::bke::gather_deform_verts | ( | Span< MDeformVert > | src, |
| const IndexMask & | indices, | ||
| MutableSpan< MDeformVert > | dst ) |
Definition at line 1821 of file deform.cc.
References gather_deform_verts(), indices, and MEM_dupallocN().
| void blender::bke::gather_deform_verts | ( | Span< MDeformVert > | src, |
| Span< int > | indices, | ||
| MutableSpan< MDeformVert > | dst ) |
Definition at line 1808 of file deform.cc.
References gather_deform_verts(), indices, and blender::threading::parallel_for().
Referenced by gather_deform_verts(), gather_deform_verts(), blender::geometry::gather_vert_attributes(), blender::nodes::node_geo_extrude_mesh_cc::gather_vert_attributes(), and blender::nodes::node_geo_extrude_mesh_cc::gather_vert_attributes().
|
static |
Definition at line 799 of file geometry_set.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::bke::Instances::ensure_geometry_instances(), gather_mutable_geometry_sets(), blender::bke::Instances::geometry_set_from_reference(), blender::bke::InstanceReference::GeometrySet, blender::bke::GeometrySet::get_instances_for_write(), blender::bke::GeometrySet::has_instances(), and blender::bke::Instances::references().
Referenced by gather_mutable_geometry_sets(), and blender::bke::GeometrySet::modify_geometry_sets().
Definition at line 436 of file instances.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::RandomNumberGenerator::get_int32(), blender::Span< T >::index_range(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add_cb(), blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::reserve(), blender::RandomNumberGenerator::seed_random(), and blender::Span< T >::size().
Referenced by blender::bke::Instances::almost_unique_ids().
| std::optional< eNodeSocketDatatype > blender::bke::geo_nodes_base_cpp_type_to_socket_type | ( | const CPPType & | type | ) |
Definition at line 5452 of file node.cc.
References blender::CPPType::is(), SOCK_BOOLEAN, SOCK_BUNDLE, SOCK_CLOSURE, SOCK_FLOAT, SOCK_INT, SOCK_MATRIX, SOCK_RGBA, SOCK_ROTATION, SOCK_STRING, and SOCK_VECTOR.
Referenced by blender::nodes::execute_multi_function_on_value_variant__single().
|
static |
Definition at line 177 of file attribute.cc.
References blender::bke::CurvesGeometry::attributes_for_write(), BLI_assert, Curves, Curves::geometry, AttributeOwner::get_curves(), AttributeOwner::get_grease_pencil(), AttributeOwner::get_grease_pencil_drawing(), AttributeOwner::get_mesh(), AttributeOwner::get_pointcloud(), GreasePencil, GreasePencilDrawing, Mesh, PointCloud, blender::bke::greasepencil::Drawing::strokes_for_write(), and AttributeOwner::type().
Referenced by bke_attribute_copy_if_exists(), BKE_attribute_duplicate(), BKE_attribute_new(), and BKE_attribute_remove().
|
static |
Definition at line 357 of file curve_to_mesh_convert.cc.
References get_attribute_domain_for_mesh(), blender::bke::AttributeAccessor::is_builtin(), blender::bke::AttributeAccessor::lookup_meta_data(), and Point.
Referenced by curve_to_mesh_sweep(), and get_attribute_domain_for_mesh().
|
static |
Definition at line 1486 of file blenkernel/intern/modifier.cc.
Referenced by blender::bke::ScopedModifierTimer::ScopedModifierTimer(), and blender::bke::ScopedModifierTimer::~ScopedModifierTimer().
|
static |
Definition at line 1007 of file curve_to_mesh_convert.cc.
References CURVE_TYPE_POLY, and get_curve_single_vert().
Referenced by curve_to_wire_mesh(), and get_curve_single_vert().
|
static |
Definition at line 239 of file curve_to_mesh_convert.cc.
References main.
Referenced by curve_to_mesh_sweep().
|
static |
Definition at line 76 of file node_tree_zones.cc.
References blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), blender::Vector< T, InlineBufferCapacity, Allocator >::append_non_duplicates(), blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::as_span(), b, blender::Vector< T, InlineBufferCapacity, Allocator >::begin(), blender::bke::ZoneRelation::child, blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), blender::Vector< T, InlineBufferCapacity, Allocator >::end(), blender::bits::foreach_1_index(), i, blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::index_of_try(), blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::index_range(), blender::bke::ZoneRelation::parent, and blender::Vector< T, InlineBufferCapacity, Allocator >::remove_and_reorder().
Referenced by discover_tree_zones().
| const DataTypeConversions & blender::bke::get_implicit_type_conversions | ( | ) |
Definition at line 665 of file type_conversions.cc.
References create_implicit_conversions().
Referenced by blender::nodes::GeometryNodesLazyFunctionBuilder::build(), blender::nodes::build_implicit_conversion_lazy_function(), blender::nodes::inverse_eval::convert_single_socket_value(), blender::ed::space_node::create_inspection_string_for_generic_value(), blender::nodes::implicitly_convert_socket_value(), blender::ed::mesh::set_attribute::mesh_set_attribute_exec(), blender::nodes::node_geo_sample_grid_cc::node_geo_exec(), blender::nodes::node_geo_sample_grid_index_cc::node_geo_exec(), blender::nodes::node_geo_sample_uv_surface_cc::node_geo_exec(), blender::nodes::node_geo_store_named_attribute_cc::node_geo_exec(), blender::nodes::node_geo_tool_set_selection_cc::node_geo_exec(), node_socket_move_default_value(), blender::geometry::prepare_attribute_fallbacks(), blender::ed::curves::set_attribute_exec(), blender::ed::pointcloud::set_attribute_exec(), try_adapt_data_type(), and blender::nodes::geo_eval_log::GeoTreeLog::try_convert_primitive_socket_value().
|
static |
Definition at line 68 of file instances_attributes.cc.
References blender::bke::attribute_accessor_functions::accessor_functions_for_providers(), create_attribute_providers_for_instances(), Instance, and blender::bke::Instances::instances_num().
Referenced by instance_attribute_accessor_functions().
|
static |
Common datatype priorities, works for compositor, shader and texture nodes alike defines priority of datatype connection based on output type (to): < 0: never connect these types. >= 0: priority of connection (higher values chosen first).
Definition at line 96 of file node_tree_update.cc.
References blender::bke::bNodeSocketType::idname, SOCK_BOOLEAN, SOCK_CUSTOM, SOCK_FLOAT, SOCK_INT, SOCK_RGBA, SOCK_ROTATION, SOCK_VECTOR, and blender::bke::bNodeSocketType::type.
|
static |
Definition at line 5153 of file node.cc.
References node_types_get(), and result.
Referenced by can_read_node_type().
|
static |
Definition at line 984 of file mesh_attributes.cc.
References blender::bke::attribute_accessor_functions::accessor_functions_for_providers(), adapt_mesh_attribute_domain(), Corner, create_attribute_providers_for_mesh(), Edge, ELEM, Face, get_mesh_accessor_functions(), and Point.
Referenced by get_mesh_accessor_functions(), and mesh_attribute_accessor_functions().
|
static |
Definition at line 279 of file curves_geometry.cc.
References CD_SET_DEFAULT, cpp_type_to_custom_data_type(), CustomData_add_layer_named(), CustomData_get_layer_named_for_write(), data, domain_custom_data(), domain_num(), blender::MutableSpan< T >::fill(), blender::MutableSpan< T >::first(), blender::CPPType::get(), num, and T.
Referenced by blender::bke::CurvesGeometry::curve_types_for_write(), blender::bke::greasepencil::Drawing::fill_colors_for_write(), blender::bke::greasepencil::Drawing::opacities_for_write(), blender::bke::greasepencil::Drawing::radii_for_write(), and blender::bke::greasepencil::Drawing::vertex_colors_for_write().
|
static |
Definition at line 5297 of file node.cc.
References BLI_assert, blender::RandomNumberGenerator::from_random_seed(), blender::RandomNumberGenerator::get_int32(), and NODE_LEGACY_TYPE_GENERATION_START.
Referenced by node_type_base().
|
static |
Definition at line 2611 of file node.cc.
Referenced by node_system_exit(), node_tree_type_add(), node_tree_type_find(), node_tree_type_free_link(), and node_tree_types_get().
|
static |
Definition at line 2623 of file node.cc.
Referenced by node_register_alias(), node_system_exit(), and node_type_find_alias().
|
static |
Definition at line 2617 of file node.cc.
Referenced by node_register_type(), node_system_exit(), node_type_find(), node_types_get(), and node_unregister_type().
|
static |
Definition at line 97 of file mesh_data_update.cc.
References BKE_key_from_object(), BKE_keyblock_find_by_index(), BKE_mesh_orco_verts_get(), BKE_modifiers_findby_type(), BMEditMesh::bm, BM_mesh_vert_coords_alloc(), CD_CLOTH_ORCO, CD_ORCO, KeyBlock::data, eModifierType_Cloth, ClothSimSettings::shapekey_rest, ClothModifierData::sim_parms, and KeyBlock::totelem.
Referenced by add_orco_mesh(), and create_orco_mesh().
|
static |
Definition at line 67 of file pointcloud_attributes.cc.
References blender::bke::attribute_accessor_functions::accessor_functions_for_providers(), create_attribute_providers_for_pointcloud(), Point, and PointCloud::totpoint.
Referenced by pointcloud_attribute_accessor_functions().
|
static |
Definition at line 486 of file geometry_fields.cc.
References Instance, and Point.
Referenced by blender::bke::IDAttributeFieldInput::get_varray_for_context().
|
static |
Definition at line 2629 of file node.cc.
Referenced by node_register_socket_type(), node_socket_type_find(), node_socket_types_get(), node_system_exit(), and node_unregister_socket_type().
|
static |
Definition at line 263 of file curves_geometry.cc.
References cpp_type_to_custom_data_type(), CustomData_get_layer_named(), data, domain_custom_data(), domain_num(), blender::CPPType::get(), num, and T.
|
static |
Definition at line 834 of file mesh_attributes.cc.
References get_tag_modified_function(), and blender::StringRefBase::startswith().
Referenced by create_attribute_providers_for_mesh(), and get_tag_modified_function().
Definition at line 519 of file instances.cc.
References transform().
| const bNodeTreeZones * blender::bke::get_tree_zones | ( | const bNodeTree & | tree | ) |
Definition at line 363 of file node_tree_zones.cc.
References discover_tree_zones(), and tree.
|
static |
Definition at line 246 of file curves_geometry.cc.
References cpp_type_to_custom_data_type(), CustomData_get_layer_named(), data, domain_custom_data(), domain_num(), blender::VArray< T >::ForSingle(), blender::VArray< T >::ForSpan(), blender::CPPType::get(), num, and T.
Referenced by blender::bke::CurvesGeometry::curve_types().
|
static |
Definition at line 504 of file node_tree_zones.cc.
Referenced by all_zone_types(), and register_node_zone_type().
| void blender::bke::grease_pencil_convert_customdata_to_storage | ( | GreasePencil & | grease_pencil | ) |
See mesh_convert_customdata_to_storage.
Definition at line 306 of file attribute_legacy_convert.cc.
References attribute_legacy_convert_customdata_to_storage(), GreasePencil::attribute_storage, grease_pencil_convert_customdata_to_storage(), Layer, and GreasePencil::layers_data.
Referenced by grease_pencil_convert_customdata_to_storage().
| void blender::bke::grease_pencil_convert_storage_to_customdata | ( | GreasePencil & | grease_pencil | ) |
See mesh_convert_storage_to_customdata.
Definition at line 300 of file attribute_legacy_convert.cc.
References GreasePencil::attribute_storage, convert_storage_to_customdata(), and grease_pencil_convert_storage_to_customdata().
Referenced by grease_pencil_blend_read_data(), and grease_pencil_convert_storage_to_customdata().
| std::optional< eNodeSocketDatatype > blender::bke::grid_type_to_socket_type | ( | VolumeGridType | type | ) |
Definition at line 5503 of file node.cc.
References SOCK_BOOLEAN, SOCK_FLOAT, SOCK_INT, SOCK_VECTOR, VOLUME_GRID_BOOLEAN, VOLUME_GRID_FLOAT, VOLUME_GRID_INT, and VOLUME_GRID_VECTOR_FLOAT.
Referenced by blender::bke::bake::copy_bake_item_to_socket_value(), blender::nodes::grid_data_type_socket_items_filter_fn(), and blender::nodes::node_geo_store_named_grid_cc::node_declare().
|
static |
Definition at line 34 of file curve_legacy_convert.cc.
References BEZIER_HANDLE_ALIGN, BEZIER_HANDLE_AUTO, BEZIER_HANDLE_FREE, BEZIER_HANDLE_VECTOR, BLI_assert_unreachable, HD_ALIGN, HD_ALIGN_DOUBLESIDE, HD_AUTO, HD_AUTO_ANIM, HD_FREE, and HD_VECT.
Referenced by curve_legacy_to_curves().
|
inlinestatic |
Definition at line 31 of file curve_to_mesh_convert.cc.
Referenced by curve_to_mesh_sweep(), and fill_mesh_topology().
|
inline |
Definition at line 15 of file BKE_anonymous_attribute_make.hh.
References hash.
Referenced by blender::nodes::LazyFunctionForGeometryNode::anonymous_attribute_name_for_output(), blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_generation_items_group(), blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_main_items_and_geometry(), blender::nodes::node_geo_bake_cc::LazyFunctionForBakeNode::make_attribute_field(), and blender::nodes::node_geo_simulation_cc::make_attribute_field().
| const AttributeAccessorFunctions & blender::bke::instance_attribute_accessor_functions | ( | ) |
Definition at line 100 of file instances_attributes.cc.
References get_instances_accessor_functions().
Referenced by blender::bke::Instances::attributes(), blender::bke::InstancesComponent::attributes(), blender::bke::Instances::attributes_for_write(), and blender::bke::InstancesComponent::attributes_for_write().
Definition at line 529 of file instances.cc.
References blender::VArray< T >::ForDerivedSpan(), and blender::bke::Instances::transforms().
Referenced by blender::bke::AttributeFieldInput::get_varray_for_context().
| VMutableArray< float3 > blender::bke::instance_position_varray_for_write | ( | Instances & | instances | ) |
Definition at line 534 of file instances.cc.
References blender::VMutableArray< T >::ForDerivedSpan(), and blender::bke::Instances::transforms_for_write().
Referenced by blender::nodes::node_geo_store_named_attribute_cc::node_geo_exec().
|
static |
Definition at line 305 of file type_conversions.cc.
References blender::math::is_zero().
|
static |
Definition at line 341 of file type_conversions.cc.
References blender::ColorSceneLinear4f< Alpha >::encode(), and int2_to_color().
|
static |
Definition at line 337 of file type_conversions.cc.
Referenced by int2_to_byte_color().
|
static |
Definition at line 325 of file type_conversions.cc.
References float2_to_float().
Definition at line 309 of file type_conversions.cc.
Definition at line 329 of file type_conversions.cc.
Definition at line 333 of file type_conversions.cc.
|
static |
Definition at line 313 of file type_conversions.cc.
References blender::math::midpoint().
Referenced by int2_to_int8().
|
static |
Definition at line 321 of file type_conversions.cc.
References int2_to_int(), and int_to_int8().
Definition at line 317 of file type_conversions.cc.
|
static |
Definition at line 346 of file type_conversions.cc.
|
static |
Definition at line 382 of file type_conversions.cc.
References blender::ColorSceneLinear4f< Alpha >::encode(), and int8_to_color().
|
static |
Definition at line 378 of file type_conversions.cc.
Referenced by int8_to_byte_color().
|
static |
Definition at line 362 of file type_conversions.cc.
|
static |
Definition at line 366 of file type_conversions.cc.
|
static |
Definition at line 370 of file type_conversions.cc.
|
static |
Definition at line 374 of file type_conversions.cc.
|
static |
Definition at line 350 of file type_conversions.cc.
|
static |
Definition at line 358 of file type_conversions.cc.
|
static |
Definition at line 354 of file type_conversions.cc.
|
static |
Definition at line 222 of file type_conversions.cc.
|
static |
Definition at line 259 of file type_conversions.cc.
References blender::ColorSceneLinear4f< Alpha >::encode(), and int_to_color().
|
static |
Definition at line 255 of file type_conversions.cc.
Referenced by int_to_byte_color().
|
static |
Definition at line 239 of file type_conversions.cc.
Definition at line 243 of file type_conversions.cc.
Definition at line 247 of file type_conversions.cc.
Definition at line 251 of file type_conversions.cc.
Definition at line 235 of file type_conversions.cc.
|
static |
Definition at line 226 of file type_conversions.cc.
Referenced by color_to_int8(), int2_to_int8(), and short2_to_int8().
Definition at line 231 of file type_conversions.cc.
|
static |
Definition at line 2259 of file mesh_legacy_convert.cc.
References BLI_listbase_count(), build_socket_indices(), Edge, Face, GeometryNodeAssetTraits::flag, GEO_NODE_ASSET_MODIFIER, bNodeTree::geometry_node_asset_traits, i, inputs, bNodeTree::links, LISTBASE_FOREACH_INDEX, NODE_BOOLEAN_MATH_AND, NODE_COMPARE_LESS_EQUAL, NTREE_GEOMETRY, bNodeTree::type, and bNodeSocketValueBoolean::value.
Referenced by BKE_main_mesh_legacy_convert_auto_smooth().
|
static |
Sockets with default_value data must be known built-in types, otherwise reading and writing data correctly cannot be guaranteed. Discard any socket with default_value data that has an unknown type.
Definition at line 1568 of file node.cc.
References SOCK_BOOLEAN, SOCK_BUNDLE, SOCK_CLOSURE, SOCK_COLLECTION, SOCK_CUSTOM, SOCK_FLOAT, SOCK_GEOMETRY, SOCK_IMAGE, SOCK_INT, SOCK_MATERIAL, SOCK_MATRIX, SOCK_MENU, SOCK_OBJECT, SOCK_RGBA, SOCK_ROTATION, SOCK_SHADER, SOCK_STRING, SOCK_TEXTURE, SOCK_VECTOR, and bNodeSocket::type.
Referenced by remove_unsupported_sockets().
|
static |
Definition at line 195 of file node_tree_update.cc.
References NTREE_CHANGED_NOTHING, and tree.
Referenced by blender::bke::NodeTreeMainUpdater::update(), and blender::bke::NodeTreeMainUpdater::update_rooted().
|
static |
Definition at line 3704 of file node.cc.
References bNodeLink::flag, bNodeLink::fromnode, bNode::inputs, iter_backwards_ex(), LISTBASE_FOREACH, NODE_LINK_VALID, bNode::runtime, and bNodeLink::tonode.
Referenced by iter_backwards_ex(), and node_chain_iterator_backwards().
| KnotsMode blender::bke::knots_mode_from_legacy | ( | short | flag | ) |
Determine Curves knot mode from legacy flag.
Definition at line 67 of file curve_legacy_convert.cc.
References BLI_assert_unreachable, CU_NURB_BEZIER, CU_NURB_CUSTOM, CU_NURB_ENDPOINT, flag, NURBS_KNOT_MODE_BEZIER, NURBS_KNOT_MODE_CUSTOM, NURBS_KNOT_MODE_ENDPOINT, NURBS_KNOT_MODE_ENDPOINT_BEZIER, and NURBS_KNOT_MODE_NORMAL.
Referenced by curve_legacy_to_curves(), and blender::io::obj::OBJCurve::get_knots_u().
|
static |
Definition at line 298 of file node.cc.
References BKE_LIB_FOREACHID_PROCESS_FUNCTION_CALL, BKE_LIB_FOREACHID_PROCESS_IDSUPER, data, IDP_foreach_property(), IDP_TYPE_FILTER_ID, IDWALK_CB_USER, bNodeSocket::prop, 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, bNodeSocket::type, bNodeSocketValueCollection::value, bNodeSocketValueImage::value, bNodeSocketValueMaterial::value, bNodeSocketValueObject::value, and bNodeSocketValueTexture::value.
Referenced by node_node_foreach_id().
Definition at line 604 of file bvhutils.cc.
References count, Edge, Face, faces, i, blender::bits::BitVector< InlineBufferCapacity, Allocator >::index_range(), blender::bke::AttributeAccessor::lookup_or_default(), and blender::Span< T >::slice().
Definition at line 569 of file bvhutils.cc.
References count, Edge, i, blender::bits::BitVector< InlineBufferCapacity, Allocator >::index_range(), blender::Span< T >::index_range(), blender::bke::AttributeAccessor::lookup_or_default(), and Point.
|
static |
Definition at line 2908 of file node.cc.
References BLI_uniquename_cb(), blender::StringRefBase::copy_utf8_truncated(), bNodeSocket::flag, bNodeSocket::identifier, bNodeSocket::idname, bNodeSocket::in_out, bNodeSocket::limit, LISTBASE_FOREACH, MAX_NAME, MEM_callocN(), bNodeSocket::name, node_socket_set_typeinfo(), node_socket_type_find(), bNodeSocket::runtime, SOCK_COLLAPSED, SOCK_CUSTOM, SOCK_IN, bNodeSocket::storage, STRNCPY(), and bNodeSocket::type.
Referenced by node_add_socket().
|
static |
Definition at line 1271 of file mesh_data_update.cc.
References BLI_BITMAP_ENABLE, BLI_BITMAP_TEST, copy_v3_v3(), blender::bke::MappedUserData::vertex_visit, and blender::bke::MappedUserData::vertexcos.
Referenced by mesh_get_mapped_verts_coords().
|
static |
Set the sharp status for edges that correspond to control points with vector handles.
Definition at line 162 of file curve_to_mesh_convert.cc.
References blender::MutableSpan< T >::fill(), i, blender::bke::curves::bezier::point_is_sharp(), and blender::MutableSpan< T >::slice().
Referenced by write_sharp_bezier_edges().
| const AttributeAccessorFunctions & blender::bke::mesh_attribute_accessor_functions | ( | ) |
Definition at line 1023 of file mesh_attributes.cc.
References get_mesh_accessor_functions(), and mesh_attribute_accessor_functions().
Referenced by blender::bke::MeshComponent::attributes(), blender::bke::MeshComponent::attributes_for_write(), and mesh_attribute_accessor_functions().
|
static |
Definition at line 970 of file mesh_data_update.cc.
References BKE_object_eval_assign_data(), BKE_sculpt_update_object_after_eval(), BLI_assert, CD_MASK_ORIGINDEX, Object::data, DEG_is_active(), DEG_is_evaluated(), depsgraph, Editable, CustomData_MeshMasks::emask, blender::bke::GeometrySet::get_component_for_write(), Mesh::id, Mesh::key, mesh_build_extra_data(), mesh_calc_modifiers(), Object::mode, OB_MODE_ALL_SCULPT, CustomData_MeshMasks::pmask, blender::bke::MeshComponent::replace(), Object::runtime, Object::sculpt, and CustomData_MeshMasks::vmask.
Referenced by mesh_data_update(), and mesh_get_eval_deform().
|
static |
Definition at line 959 of file mesh_data_update.cc.
References blender::bke::shrinkwrap::boundary_cache_ensure(), DAG_EVAL_NEED_SHRINKWRAP_BOUNDARY, DEG_get_eval_flags_for_id(), depsgraph, and Object::id.
Referenced by mesh_build_data().
| void blender::bke::mesh_calc_edges | ( | Mesh & | mesh, |
| bool | keep_existing_edges, | ||
| bool | select_new_edges ) |
Calculate edges from faces.
Definition at line 178 of file mesh_calc_edges.cc.
References blender::offset_indices::accumulate_counts_to_offsets(), blender::bke::MutableAttributeAccessor::add(), blender::bke::calc_edges::add_existing_edges_to_hash_maps(), blender::bke::calc_edges::add_face_edges_to_hash_maps(), blender::Array< T, InlineBufferCapacity, Allocator >::as_mutable_span(), BLI_assert, blender::bke::calc_edges::clear_hash_tables(), blender::array_utils::copy(), Corner, CustomData_free(), CustomData_reset(), blender::bke::calc_edges::deselect_known_edges(), Edge, blender::bke::SpanAttributeWriter< T >::finish(), blender::bke::calc_edges::get_parallel_maps_count(), i, blender::Array< T, InlineBufferCapacity, Allocator >::index_range(), blender::Array< T, InlineBufferCapacity, Allocator >::is_empty(), is_power_of_2_i(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_span(), MEM_calloc_arrayN(), mesh_calc_edges(), blender::Array< T, InlineBufferCapacity, Allocator >::reinitialize(), blender::bke::calc_edges::reserve_hash_maps(), blender::bke::calc_edges::serialize_and_initialize_deduplicated_edges(), blender::Array< T, InlineBufferCapacity, Allocator >::size(), blender::bke::SpanAttributeWriter< T >::span, blender::offset_indices::OffsetIndices< T >::total_size(), and blender::bke::calc_edges::update_edge_indices_in_face_loops().
Referenced by BKE_mball_polygonize(), BKE_mesh_validate_arrays(), blender::io::ply::convert_ply_to_mesh(), blender::geometry::create_cuboid_mesh(), blender::ed::sculpt_paint::trim::generate_geometry(), blender::io::fbx::import_edges(), mesh_calc_edges(), mesh_nurbs_displist_to_mesh(), blender::io::alembic::read_mpolys(), blender::io::stl::STLMeshHelper::to_mesh(), and MeshImporter::write_geometry().
Does final touches to the final evaluated mesh, making sure it is perfectly usable.
This is needed because certain information is not passed along intermediate meshes allocated during stack evaluation.
Definition at line 210 of file mesh_data_update.cc.
References Mesh::id, ID::name, and STRNCPY().
Referenced by mesh_calc_modifiers().
|
static |
Definition at line 290 of file mesh_data_update.cc.
References add_orco_mesh(), ASSERT_IS_VALID_MESH_INPUT, ASSERT_IS_VALID_MESH_OUTPUT, BKE_id_free(), BKE_mesh_copy_for_eval(), BKE_modifier_calc_data_masks(), BKE_modifier_deform_verts(), BKE_modifier_free_temporary_data(), BKE_modifier_get_info(), BKE_modifier_is_enabled(), BKE_modifier_modify_mesh(), BKE_modifier_set_error(), BKE_modifier_supports_mapping(), BKE_modifiers_clear_errors(), BKE_modifiers_get_virtual_modifierlist(), BKE_sculpt_multires_active(), BLI_assert, BLI_linklist_free(), SculptSession::bm, CD_CLOTH_ORCO, CD_CONSTRUCT, CD_MASK_BAREMESH_ORIGINDEX, CD_MASK_CLOTH_ORCO, CD_MASK_ORCO, CD_MASK_ORIGINDEX, CD_MASK_ORIGSPACE_MLOOP, CD_ORCO, CD_ORIGINDEX, CD_ORIGSPACE_MLOOP, CD_SET_DEFAULT, create_orco_mesh(), CustomData_add_layer(), CustomData_free_layers(), CustomData_get_layer_for_write(), CustomData_has_layer(), CustomData_MeshMasks_update(), DAG_EVAL_RENDER, Object::data, DEG_get_mode(), depsgraph, CustomData_MeshMasks::emask, eModifierMode_Realtime, eModifierMode_Render, eModifierType_Multires, eModifierTypeFlag_RequiresOriginalData, ModifierTypeInfo::flags, Sculpt::flags, CustomData_MeshMasks::fmask, Mesh::id, ID_TAG_COPIED_ON_EVAL_FINAL_RESULT, blender::threading::isolate_task(), CustomData_MeshMasks::lmask, lock, CDMaskLink::mask, mask(), mesh_calc_finalize(), blender::bke::MeshRuntime::mesh_eval, mesh_init_origspace(), mesh_set_only_copy(), MOD_APPLY_ORCO, MOD_APPLY_RENDER, MOD_APPLY_USECACHE, Object::mode, Object::modifier_flag, modifier_modify_mesh_and_geometry_set(), CDMaskLink::next, ModifierData::next, OB_MODE_SCULPT, OB_MODIFIER_FLAG_ADD_REST_POSITION, OnlyDeform, CustomData_MeshMasks::pmask, range_vn_i(), ModifierTypeInfo::required_data_mask, Mesh::runtime, Object::sculpt, ToolSettings::sculpt, SCULPT_ONLY_DEFORM, set_rest_position(), ID::tag, Scene::toolsettings, ModifierData::type, ModifierTypeInfo::type, and CustomData_MeshMasks::vmask.
Referenced by mesh_build_data(), mesh_create_eval_final(), mesh_create_eval_no_deform(), and mesh_create_eval_no_deform_render().
| void blender::bke::mesh_convert_customdata_to_storage | ( | Mesh & | mesh | ) |
Move generic attributes from CustomData to AttributeStorage (not including non-generic layer types). Use for versioning old files when the newer AttributeStorage format is used at runtime.
Definition at line 266 of file attribute_legacy_convert.cc.
References attribute_legacy_convert_customdata_to_storage(), Corner, Edge, Face, mesh_convert_customdata_to_storage(), and Point.
Referenced by mesh_convert_customdata_to_storage().
| void blender::bke::mesh_convert_storage_to_customdata | ( | Mesh & | mesh | ) |
Move attributes from the AttributeStorage to the mesh's CustomData structs. Used for forward compatibility: converting newer files written with AttributeStorage while CustomData is still used at runtime.
Definition at line 242 of file attribute_legacy_convert.cc.
References convert_storage_to_customdata().
Referenced by mesh_blend_read_data().
|
static |
Definition at line 113 of file bvhutils.cc.
References closest_on_tri_to_point_v3(), BVHTreeNearest::co, copy_v3_v3(), data, BVHTreeNearest::dist_sq, BVHTreeNearest::index, len_squared_v3v3(), BVHTreeNearest::no, normal_tri_v3(), and UNPACK3.
Referenced by create_tris_tree_data().
|
static |
Definition at line 182 of file bvhutils.cc.
References bvhtree_ray_tri_intersection(), bvhtree_sphereray_tri_intersection(), BVHTreeRayHit::co, data, BVHTreeRay::direction, BVHTreeRayHit::dist, BVHTreeRayHit::index, madd_v3_v3v3fl(), BVHTreeRayHit::no, normal_tri_v3(), BVHTreeRay::origin, BVHTreeRay::radius, and UNPACK3.
Referenced by create_tris_tree_data().
| Mesh * blender::bke::mesh_create_eval_final | ( | Depsgraph * | depsgraph, |
| const Scene * | scene, | ||
| Object * | ob, | ||
| const CustomData_MeshMasks * | dataMask ) |
Definition at line 1196 of file mesh_data_update.cc.
References depsgraph, mesh_calc_modifiers(), and result.
Referenced by bvh_get_mesh(), mesh_new_from_mesh_object_with_layers(), and blender::ed::object::object_force_modifier_update_for_bind().
| Mesh * blender::bke::mesh_create_eval_no_deform | ( | Depsgraph * | depsgraph, |
| const Scene * | scene, | ||
| Object * | ob, | ||
| const CustomData_MeshMasks * | dataMask ) |
Definition at line 1207 of file mesh_data_update.cc.
References depsgraph, mesh_calc_modifiers(), and result.
Referenced by bvh_get_mesh().
| Mesh * blender::bke::mesh_create_eval_no_deform_render | ( | Depsgraph * | depsgraph, |
| const Scene * | scene, | ||
| Object * | ob, | ||
| const CustomData_MeshMasks * | dataMask ) |
Definition at line 1218 of file mesh_data_update.cc.
References depsgraph, mesh_calc_modifiers(), and result.
Referenced by bvh_get_mesh().
| void blender::bke::mesh_custom_normals_to_generic | ( | Mesh & | mesh | ) |
Definition at line 2534 of file mesh_legacy_convert.cc.
References CD_PROP_INT16_2D, CustomData_add_layer_named_with_data(), CustomData_free_layer(), CustomDataLayer::data, data, i, blender::ImplicitSharingInfo::remove_user_and_delete_if_last(), CustomDataLayer::sharing_info, and CustomDataLayer::type.
| void blender::bke::mesh_custom_normals_to_legacy | ( | MutableSpan< CustomDataLayer > | corner_layers | ) |
Definition at line 2513 of file mesh_legacy_convert.cc.
References b, blender::MutableSpan< T >::begin(), CD_PROP_INT16_2D, and blender::MutableSpan< T >::end().
Referenced by mesh_blend_write().
| void blender::bke::mesh_data_update | ( | Depsgraph & | depsgraph, |
| const Scene & | scene, | ||
| Object & | ob, | ||
| const CustomData_MeshMasks & | dataMask ) |
Definition at line 1119 of file mesh_data_update.cc.
References BKE_object_free_derived_caches(), BKE_sculpt_update_object_before_eval(), BLI_assert, Object::data, DEG_is_active(), depsgraph, editbmesh_build_data(), Object::id, ID_TAG_COPIED_ON_EVAL, mesh_build_data(), OB_MESH, object_get_datamask(), ID::tag, and Object::type.
Referenced by BKE_crazyspace_get_mapped_editverts(), and BKE_object_handle_data_update().
| void blender::bke::mesh_edge_hide_from_vert | ( | Span< int2 > | edges, |
| Span< bool > | hide_vert, | ||
| MutableSpan< bool > | hide_edge ) |
Calculate edge visibility based on vertex visibility, hides an edge when either of its vertices are hidden.
Definition at line 506 of file mesh_evaluate.cc.
References blender::Span< T >::index_range(), and blender::threading::parallel_for().
Referenced by blender::ed::sculpt_paint::hide::flush_edge_changes(), and mesh_hide_vert_flush().
|
static |
Callback to BVH-tree nearest point. The tree must have been built using #bvhtree_from_mesh_edges.
| userdata | Must be a #BVHMeshCallbackUserdata built from the same mesh as the tree. |
Definition at line 219 of file bvhutils.cc.
References closest_to_line_segment_v3(), BVHTreeNearest::co, copy_v3_v3(), data, BVHTreeNearest::dist_sq, BVHTreeNearest::index, len_squared_v3v3(), BVHTreeNearest::no, normalize_v3(), and sub_v3_v3v3().
Referenced by create_edges_tree_data().
|
static |
Callback to BVH-tree ray-cast. The tree must have been built using bvhtree_from_mesh_edges.
| userdata | Must be a #BVHMeshCallbackUserdata built from the same mesh as the tree. |
Definition at line 292 of file bvhutils.cc.
References add_v3_v3v3(), BVHTreeRayHit::co, copy_v3_v3(), data, BVHTreeRay::direction, BVHTreeRayHit::dist, dot_v3v3v3(), equals_v3v3(), BVHTreeRayHit::index, isect_line_line_v3(), len_squared_v3v3(), len_v3v3(), line_point_factor_v3(), mesh_verts_spherecast_do(), BVHTreeRay::origin, BVHTreeRay::radius, square_f(), and v2.
Referenced by create_edges_tree_data().
| void blender::bke::mesh_ensure_default_color_attribute_on_add | ( | Mesh & | mesh, |
| StringRef | id, | ||
| AttrDomain | domain, | ||
| eCustomDataType | data_type ) |
Set the default name when adding a color attribute if there is no default yet.
Definition at line 589 of file blenkernel/intern/mesh.cc.
References ATTR_DOMAIN_AS_MASK, ATTR_DOMAIN_MASK_COLOR, attribute_name_is_anonymous(), BLI_strdupn(), CD_MASK_COLOR_ALL, CD_TYPE_AS_MASK, data, and size().
Referenced by blender::nodes::node_geo_store_named_attribute_cc::node_geo_exec().
| void blender::bke::mesh_ensure_required_data_layers | ( | Mesh & | mesh | ) |
Definition at line 608 of file blenkernel/intern/mesh.cc.
References blender::bke::MutableAttributeAccessor::add(), CD_PROP_FLOAT3, CD_PROP_INT32, CD_PROP_INT32_2D, Corner, Edge, and Point.
Referenced by BKE_mesh_new_nomain(), and BKE_mesh_new_nomain_from_template_ex().
| void blender::bke::mesh_face_hide_from_vert | ( | OffsetIndices< int > | faces, |
| Span< int > | corner_verts, | ||
| Span< bool > | hide_vert, | ||
| MutableSpan< bool > | hide_poly ) |
Definition at line 518 of file mesh_evaluate.cc.
References faces, mesh_face_hide_from_vert(), and blender::threading::parallel_for().
Referenced by blender::ed::sculpt_paint::hide::flush_face_changes(), mesh_face_hide_from_vert(), and mesh_hide_vert_flush().
|
static |
Callback to BVH-tree nearest point. The tree must have been built using #bvhtree_from_mesh_faces.
| userdata | Must be a #BVHMeshCallbackUserdata built from the same mesh as the tree. |
Definition at line 79 of file bvhutils.cc.
References closest_on_tri_to_point_v3(), BVHTreeNearest::co, copy_v3_v3(), data, BVHTreeNearest::dist_sq, BVHTreeNearest::index, len_squared_v3v3(), BVHTreeNearest::no, normal_tri_v3(), MFace::v1, MFace::v2, MFace::v3, and MFace::v4.
Referenced by create_legacy_faces_tree_data().
|
static |
Callback to BVH-tree ray-cast. The tree must have been built using bvhtree_from_mesh_faces.
| userdata | Must be a #BVHMeshCallbackUserdata built from the same mesh as the tree. |
Definition at line 144 of file bvhutils.cc.
References bvhtree_ray_tri_intersection(), bvhtree_sphereray_tri_intersection(), BVHTreeRayHit::co, data, BVHTreeRay::direction, BVHTreeRayHit::dist, BVHTreeRayHit::index, madd_v3_v3v3fl(), BVHTreeRayHit::no, normal_tri_v3(), BVHTreeRay::origin, BVHTreeRay::radius, MFace::v1, MFace::v2, MFace::v3, and MFace::v4.
Referenced by create_legacy_faces_tree_data().
Definition at line 40 of file mesh_flip_faces.cc.
References b, BKE_mesh_mdisp_flip(), CD_GRID_PAINT_MASK, CD_MDISPS, CD_MLOOPTANGENT, CD_ORIGSPACE_MLOOP, CD_PROP_STRING, CD_TANGENT, blender::bke::attribute_math::convert_to_static_type(), Corner, CustomData_get_layer_for_write(), blender::bke::AttributeIter::data_type, blender::bke::AttributeIter::domain, ELEM, faces, blender::bke::GSpanAttributeWriter::finish(), flip_custom_data_type(), blender::bke::AttributeAccessor::foreach_attribute(), blender::index_mask::IndexMask::foreach_index(), i, blender::index_mask::IndexMask::is_empty(), blender::IndexRange::last(), blender::bke::MutableAttributeAccessor::lookup_for_write_span(), blender::bke::AttributeIter::name, and blender::IndexRange::size().
Referenced by faces_check_flip(), and blender::nodes::node_geo_flip_faces_cc::node_geo_exec().
| Mesh * blender::bke::mesh_get_eval_deform | ( | Depsgraph * | depsgraph, |
| const Scene * | scene, | ||
| Object * | ob, | ||
| const CustomData_MeshMasks * | dataMask ) |
Definition at line 1153 of file mesh_data_update.cc.
References BLI_assert, BLI_assert_msg, CustomData_MeshMasks_are_matching(), CustomData_MeshMasks_update(), Object::data, DEG_is_evaluating(), depsgraph, Object::id, ID_TAG_COPIED_ON_EVAL, mesh_build_data(), object_get_datamask(), Object::runtime, and ID::tag.
Referenced by BKE_multires_create_mesh(), bpy_bmesh_from_object(), bvh_get_mesh(), blender::ed::object::modifier_skin_armature_create(), and multires_reshape_create_subdiv().
| void blender::bke::mesh_get_mapped_verts_coords | ( | Mesh * | mesh_eval, |
| MutableSpan< float3 > | r_cos ) |
Definition at line 1287 of file mesh_data_update.cc.
References BKE_mesh_foreach_mapped_vert(), BKE_mesh_wrapper_vert_coords(), BLI_BITMAP_NEW, blender::MutableSpan< T >::copy_from(), blender::MutableSpan< T >::data(), blender::MutableSpan< T >::fill(), make_vertexcos__mapFunc(), MEM_freeN(), MESH_FOREACH_NOP, Mesh::runtime, blender::MutableSpan< T >::size(), blender::bke::MappedUserData::vertex_visit, and blender::bke::MappedUserData::vertexcos.
Referenced by BKE_crazyspace_get_mapped_editverts().
| void blender::bke::mesh_hide_face_flush | ( | Mesh & | mesh | ) |
Make vertex and edge visibility consistent with faces.
Definition at line 558 of file mesh_evaluate.cc.
References Edge, Face, faces, blender::VArrayCommon< T >::get_internal_single(), blender::VArrayCommon< T >::is_single(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), blender::bke::AttributeAccessor::lookup_or_default(), mesh_hide_face_flush(), blender::threading::parallel_for(), Point, and blender::bke::MutableAttributeAccessor::remove().
Referenced by BKE_pbvh_sync_visibility_from_verts(), blender::ed::sculpt_paint::hide::invert_visibility_mesh(), mesh_hide_face_flush(), paintface_hide(), paintface_reveal(), and blender::ed::sculpt_paint::hide::sync_all_from_faces().
| void blender::bke::mesh_hide_vert_flush | ( | Mesh & | mesh | ) |
Make edge and face visibility consistent with vertices.
Definition at line 533 of file mesh_evaluate.cc.
References Edge, Face, blender::bke::SpanAttributeWriter< T >::finish(), blender::VArrayCommon< T >::get_internal_single(), blender::VArrayCommon< T >::is_single(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), blender::bke::AttributeAccessor::lookup_or_default(), mesh_edge_hide_from_vert(), mesh_face_hide_from_vert(), mesh_hide_vert_flush(), Point, blender::bke::MutableAttributeAccessor::remove(), and blender::bke::SpanAttributeWriter< T >::span.
Referenced by BKE_pbvh_sync_visibility_from_verts(), mesh_hide_vert_flush(), blender::ed::sculpt_paint::hide::mesh_show_all(), paintvert_hide(), and paintvert_reveal().
|
static |
Definition at line 1302 of file mesh_data_update.cc.
References add_v2_v2v2(), axis_dominant_v3_to_m3(), BKE_mesh_tessface_clear(), CD_ORIGSPACE_MLOOP, copy_v2_v2(), CustomData_get_layer_for_write(), ELEM, blender::bke::mesh::face_normal_calc(), faces, FLT_MAX, i, invert_v2(), max, min, mul_v2_v2(), mul_v3_m3v3(), negate_v2_v2(), blender::Vector< T, InlineBufferCapacity, Allocator >::resize(), blender::IndexRange::size(), blender::Span< T >::slice(), blender::IndexRange::start(), sub_v2_v2v2(), and OrigSpaceLoop::uv.
Referenced by editbmesh_calc_modifiers(), and mesh_calc_modifiers().
| Mesh * blender::bke::mesh_new_no_attributes | ( | int | verts_num, |
| int | edges_num, | ||
| int | faces_num, | ||
| int | corners_num ) |
Create a mesh with no built-in attributes.
Definition at line 884 of file blenkernel/intern/mesh.cc.
References BKE_mesh_new_nomain(), and CustomData_free_layer_named().
Referenced by blender::geometry::mesh_copy_selection(), blender::geometry::mesh_copy_selection_keep_edges(), blender::geometry::mesh_copy_selection_keep_verts(), blender::geometry::mesh_triangulate(), blender::geometry::reorder_mesh(), blender::bke::subdiv::subdiv_mesh_topology_info(), and undomesh_from_editmesh().
| VArray< float3 > blender::bke::mesh_normals_varray | ( | const Mesh & | mesh, |
| const IndexMask & | mask, | ||
| AttrDomain | domain, | ||
| bool | no_corner_normals = false, | ||
| bool | true_normals = false ) |
Definition at line 123 of file geometry_component_mesh.cc.
References Corner, Edge, Face, blender::VArray< T >::ForContainer(), blender::VArray< T >::ForSpan(), i, blender::math::interpolate(), mask(), blender::math::normalize(), and Point.
Referenced by blender::bke::NormalFieldInput::get_varray_for_context().
Definition at line 507 of file mesh_remesh_voxel.cc.
References Mesh::active_color_attribute, blender::Vector< T, InlineBufferCapacity, Allocator >::append(), Geometry::attributes, BKE_defgroup_copy_list(), BKE_id_attributes_active_color_set(), BKE_id_attributes_default_color_set(), BLI_assert_unreachable, Corner, Mesh::corners_num, Mesh::default_color_attribute, blender::bke::AttributeIter::domain, Edge, Mesh::edges_num, ELEM, Face, Mesh::faces_num, find_nearest_corners(), find_nearest_edges(), find_nearest_faces(), find_nearest_tris_parallel(), find_nearest_verts(), blender::bke::AttributeAccessor::foreach_attribute(), gather_attributes(), Mesh::id, blender::Vector< T, InlineBufferCapacity, Allocator >::is_empty(), mesh_remesh_reproject_attributes(), blender::bke::AttributeIter::name, Point, blender::Span< T >::size(), Mesh::vertex_group_names, and Mesh::verts_num.
Referenced by mesh_remesh_reproject_attributes(), blender::ed::object::quadriflow_start_job(), and blender::ed::object::voxel_remesh_exec().
| void blender::bke::mesh_remove_invalid_attribute_strings | ( | Mesh & | mesh | ) |
Remove strings referring to attributes if they no longer exist.
Definition at line 636 of file blenkernel/intern/mesh.cc.
References ATTR_DOMAIN_MASK_COLOR, CD_MASK_COLOR_ALL, blender::bke::AttributeAccessor::lookup_meta_data(), MEM_SAFE_FREE, and meta_data_matches().
Referenced by blender::ed::object::modifier_apply_obdata().
| void blender::bke::mesh_sculpt_mask_to_generic | ( | Mesh & | mesh | ) |
Definition at line 2486 of file mesh_legacy_convert.cc.
References CD_PROP_FLOAT, CustomData_add_layer_named_with_data(), CustomData_free_layer(), CustomDataLayer::data, data, i, blender::ImplicitSharingInfo::remove_user_and_delete_if_last(), CustomDataLayer::sharing_info, and CustomDataLayer::type.
| void blender::bke::mesh_sculpt_mask_to_legacy | ( | MutableSpan< CustomDataLayer > | vert_layers | ) |
Definition at line 2465 of file mesh_legacy_convert.cc.
References b, blender::MutableSpan< T >::begin(), and blender::MutableSpan< T >::end().
Referenced by mesh_blend_write().
| void blender::bke::mesh_select_edge_flush | ( | Mesh & | mesh | ) |
Make vertex and face selection consistent with edges.
Definition at line 669 of file mesh_evaluate.cc.
References blender::array_utils::copy(), Face, blender::bke::SpanAttributeWriter< T >::finish(), blender::IndexMask::from_bools(), blender::VArrayCommon< T >::get_internal_single(), blender::VArrayCommon< T >::index_range(), blender::VArrayCommon< T >::is_single(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), blender::bke::AttributeAccessor::lookup_or_default(), mesh_select_edge_flush(), Point, blender::bke::MutableAttributeAccessor::remove(), and blender::bke::SpanAttributeWriter< T >::span.
Referenced by mesh_select_edge_flush(), and blender::nodes::node_geo_tool_set_selection_cc::node_geo_exec().
| void blender::bke::mesh_select_face_flush | ( | Mesh & | mesh | ) |
Make vertex and edge selection consistent with faces.
Definition at line 607 of file mesh_evaluate.cc.
References blender::array_utils::copy(), Edge, Face, blender::bke::SpanAttributeWriter< T >::finish(), blender::VArrayCommon< T >::get_internal_single(), blender::VArrayCommon< T >::is_single(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), blender::bke::AttributeAccessor::lookup_or_default(), mesh_select_face_flush(), Point, blender::bke::MutableAttributeAccessor::remove(), and blender::bke::SpanAttributeWriter< T >::span.
Referenced by mesh_select_face_flush(), blender::ed::sculpt_paint::vwpaint::mode_exit_generic(), blender::nodes::node_geo_tool_set_selection_cc::node_geo_exec(), paint_weight_gradient_exec(), and paintface_flush_flags().
| void blender::bke::mesh_select_vert_flush | ( | Mesh & | mesh | ) |
Make edge and face selection consistent with vertices.
Definition at line 633 of file mesh_evaluate.cc.
References blender::array_utils::copy(), Edge, Face, blender::bke::SpanAttributeWriter< T >::finish(), blender::IndexMask::from_bools(), blender::VArrayCommon< T >::get_internal_single(), blender::VArrayCommon< T >::index_range(), blender::VArrayCommon< T >::is_single(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), blender::bke::AttributeAccessor::lookup_or_default(), mesh_select_vert_flush(), Point, blender::bke::MutableAttributeAccessor::remove(), and blender::bke::SpanAttributeWriter< T >::span.
Referenced by mesh_select_vert_flush(), blender::ed::sculpt_paint::vwpaint::mode_exit_generic(), blender::nodes::node_geo_tool_set_selection_cc::node_geo_exec(), and paintvert_flush_flags().
| void blender::bke::mesh_set_custom_normals | ( | Mesh & | mesh, |
| MutableSpan< float3 > | corner_normals ) |
Higher level functions hiding most of the code needed around call to #normals_corner_custom_set().
| corner_normals | Is mutable because zero vectors are replaced with automatically computed normals. |
Definition at line 1631 of file mesh_normals.cc.
References blender::bke::mesh::mesh_set_custom_normals(), mesh_set_custom_normals(), and normalize_vecs().
Referenced by blender::io::fbx::import_meshes(), mesh_set_custom_normals(), blender::nodes::node_geo_set_mesh_normal_cc::node_geo_exec(), blender::io::alembic::process_loop_normals(), blender::io::stl::STLMeshHelper::to_mesh(), and MeshImporter::write_geometry().
| void blender::bke::mesh_set_custom_normals_from_verts | ( | Mesh & | mesh, |
| MutableSpan< float3 > | vert_normals ) |
Higher level functions hiding most of the code needed around call to #normals_corner_custom_set_from_verts().
| vert_normals | Is mutable because zero vectors are replaced with automatically computed normals. |
Definition at line 1642 of file mesh_normals.cc.
References blender::bke::mesh::mesh_set_custom_normals(), mesh_set_custom_normals_from_verts(), and normalize_vecs().
Referenced by blender::io::ply::convert_ply_to_mesh(), mesh_set_custom_normals_from_verts(), and blender::io::alembic::process_vertex_normals().
| void blender::bke::mesh_set_custom_normals_from_verts_normalized | ( | Mesh & | mesh, |
| MutableSpan< float3 > | vert_normals ) |
Definition at line 1648 of file mesh_normals.cc.
References blender::bke::mesh::mesh_set_custom_normals(), and mesh_set_custom_normals_from_verts_normalized().
Referenced by mesh_set_custom_normals_from_verts_normalized().
| void blender::bke::mesh_set_custom_normals_normalized | ( | Mesh & | mesh, |
| MutableSpan< float3 > | corner_normals ) |
Definition at line 1637 of file mesh_normals.cc.
References blender::bke::mesh::mesh_set_custom_normals(), and mesh_set_custom_normals_normalized().
Referenced by mesh_set_custom_normals_normalized(), mesh_wrapper_ensure_subdivision(), modify_mesh(), modify_mesh(), and triangulate_mesh().
|
static |
Definition at line 82 of file mesh_data_update.cc.
References CustomData_set_only_copy(), and mask().
Referenced by editbmesh_calc_modifiers(), and mesh_calc_modifiers().
| void blender::bke::mesh_sharp_edges_set_from_angle | ( | Mesh & | mesh, |
| float | angle, | ||
| bool | keep_sharp_edges = false ) |
Definition at line 1360 of file blenkernel/intern/mesh.cc.
References angle(), Edge, blender::bke::mesh::edges_sharp_from_angle_set(), Face, blender::bke::SpanAttributeWriter< T >::finish(), blender::bke::AttributeAccessor::lookup(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_span(), M_PI, mesh_smooth_set(), blender::bke::MutableAttributeAccessor::remove(), and blender::bke::SpanAttributeWriter< T >::span.
Referenced by blender::ed::object::shade_smooth_exec().
Definition at line 1346 of file blenkernel/intern/mesh.cc.
References blender::bke::MutableAttributeAccessor::add(), Face, blender::VArray< T >::ForSingle(), and blender::bke::MutableAttributeAccessor::remove().
Referenced by BLO_update_defaults_startup_blend(), blender::io::ply::convert_ply_to_mesh(), blender::nodes::node_geo_mesh_primitive_circle_cc::create_circle_mesh(), blender::geometry::create_cuboid_mesh(), blender::geometry::create_cylinder_or_cone_mesh(), blender::geometry::create_grid_mesh(), blender::geometry::create_uv_sphere_mesh(), blender::ed::sculpt_paint::trim::generate_geometry(), mesh_sharp_edges_set_from_angle(), modify_mesh(), blender::ed::object::quadriflow_start_job(), blender::ed::object::shade_auto_smooth_exec(), blender::ed::object::shade_smooth_exec(), blender::io::stl::STLMeshHelper::to_mesh(), and blender::ed::object::voxel_remesh_exec().
Definition at line 1555 of file blenkernel/intern/mesh.cc.
References LISTBASE_FOREACH, mesh_transform(), transform(), transform_custom_normal_attribute(), and transform_positions().
Referenced by blender::ed::object::apply_objects_internal(), blender::geometry::execute_realize_mesh_tasks(), mesh_transform(), blender::geometry::transform_geometry(), and blender::geometry::transform_mesh().
Definition at line 1527 of file blenkernel/intern/mesh.cc.
References blender::math::is_zero(), LISTBASE_FOREACH, mesh_translate(), and translate_positions().
Referenced by mesh_translate(), blender::nodes::node_geo_mesh_primitive_cone_cc::node_geo_exec(), blender::ed::object::object_origin_set_exec(), and blender::geometry::translate_geometry().
Set mesh vertex normals to known-correct values, avoiding future lazy computation.
Definition at line 47 of file mesh_normals.cc.
Referenced by arrayModifier_doArray(), BKE_mball_polygonize(), blender::geometry::create_uv_sphere_mesh(), and blender::io::alembic::read_mverts().
Set mesh vertex normals to known-correct values, avoiding future lazy computation.
Definition at line 53 of file mesh_normals.cc.
|
static |
Callback to BVH-tree ray-cast. The tree must have been built using bvhtree_from_mesh_verts.
| userdata | Must be a #BVHMeshCallbackUserdata built from the same mesh as the tree. |
Definition at line 275 of file bvhutils.cc.
References data, mesh_verts_spherecast_do(), and v.
Referenced by create_verts_tree_data().
|
static |
Definition at line 246 of file bvhutils.cc.
References add_v3_v3v3(), closest_to_line_segment_v3(), BVHTreeRayHit::co, copy_v3_v3(), BVHTreeRay::direction, BVHTreeRayHit::dist, dot_v3v3v3(), BVHTreeRayHit::index, len_v3v3(), BVHTreeRay::origin, and v.
Referenced by mesh_edges_spherecast(), and mesh_verts_spherecast().
|
static |
Definition at line 741 of file mesh_data_update.cc.
References BLI_assert_unreachable, BM_mesh_vert_coords_alloc(), ME_WRAPPER_TYPE_BMESH, ME_WRAPPER_TYPE_MDATA, and ME_WRAPPER_TYPE_SUBD.
Referenced by editbmesh_calc_modifiers().
|
static |
Definition at line 620 of file blenkernel/intern/mesh.cc.
References ATTR_DOMAIN_AS_MASK, CD_TYPE_AS_MASK, and types.
Referenced by mesh_remove_invalid_attribute_strings().
|
static |
Modifies the given mesh and geometry set. The mesh is not passed as part of the mesh component in the geometry_set input, it is only passed in input_mesh and returned in the return value.
The purpose of the geometry set is to store all geometry components that are generated by modifiers to allow outputting non-mesh data from modifiers.
Definition at line 225 of file mesh_data_update.cc.
References BKE_mesh_copy_parameters_for_eval(), BKE_mesh_new_nomain(), BKE_mesh_wrapper_ensure_mdata(), BKE_modifier_get_info(), BKE_modifier_modify_mesh(), Editable, blender::bke::GeometrySet::ensure_owns_direct_data(), blender::bke::MeshComponent::ensure_owns_direct_data(), blender::bke::MeshComponent::get(), blender::bke::GeometrySet::get_component_for_write(), blender::bke::GeometrySet::has(), ModifierTypeInfo::modify_geometry_set, blender::bke::MeshComponent::release(), blender::bke::GeometrySet::replace_mesh(), and ModifierData::type.
Referenced by editbmesh_calc_modifiers(), and mesh_calc_modifiers().
| bNodeLink & blender::bke::node_add_link | ( | bNodeTree & | ntree, |
| bNode & | fromnode, | ||
| bNodeSocket & | fromsock, | ||
| bNode & | tonode, | ||
| bNodeSocket & | tosock ) |
Also used via RNA API, so we check for proper input output direction.
Definition at line 4087 of file node.cc.
References BKE_ntree_update_tag_link_added(), BLI_addtail(), BLI_assert, bNodeLink::fromnode, bNodeLink::fromsock, bNodeSocket::in_out, bNodeTree::links, MEM_callocN(), bNodeLink::multi_input_sort_id, node_count_links(), SOCK_IN, SOCK_OUT, bNodeLink::tonode, and bNodeLink::tosock.
Referenced by add_auto_smooth_node_tree(), blender::ed::space_node::add_existing_group_input_fn(), blender::ed::space_node::add_group_input_node_fn(), add_realize_instances_before_socket(), add_realize_node_tree(), blender::ed::space_node::add_reroute_exec(), blender::ed::space_node::add_reroute_node_fn(), ambient_occlusion_node_relink(), blender::io::usd::append_node(), bc_node_add_link(), BKE_linestyle_default_shader(), blo_do_versions_300(), change_input_socket_to_rotation_type(), change_output_socket_to_rotation_type(), blender::nodes::LinkSearchOpParams::connect_available_socket(), blender::ed::space_node::connect_nested_node_to_node(), blender::eevee::DefaultSurfaceNodeTree::DefaultSurfaceNodeTree(), blender::eevee::DefaultWorldNodeTree::DefaultWorldNodeTree(), displacement_node_insert(), do_versions_material_convert_legacy_blend_mode(), ED_node_composit_default(), ED_node_shader_default(), ED_node_texture_default(), blender::ed::curves::ensure_surface_deformation_node_exists(), fix_geometry_nodes_object_info_scale(), flatten_group_do(), Freestyle::BlenderStrokeRenderer::GetStrokeShader(), link_nodes(), blender::io::fbx::link_sockets(), blender::io::obj::link_sockets(), blender::eevee::LookdevWorld::LookdevWorld(), material_default_holdout_init(), material_default_surface_init(), material_default_volume_init(), blender::eevee::MaterialModule::MaterialModule(), blender::ed::space_node::node_clipboard_paste_exec(), blender::nodes::node_geo_foreach_geometry_element_cc::output_node::node_gather_link_searches(), blender::nodes::node_geo_repeat_cc::repeat_output_node::node_gather_link_searches(), blender::nodes::node_geo_simulation_cc::sim_output_node::node_gather_link_searches(), blender::nodes::node_geo_viewer_cc::node_gather_link_searches(), blender::ed::space_node::node_group_make_insert_selected(), blender::ed::space_node::node_group_make_wrapper(), blender::ed::space_node::node_group_separate_selected(), blender::ed::space_node::node_group_ungroup(), blender::ed::space_node::node_insert_on_link_flags(), blender::ed::space_node::node_socket_add_replace(), ntree_shader_copy_branch(), ntree_shader_expand_socket_default(), ntree_shader_groups_expand_inputs(), ntree_shader_implicit_closure_cast(), ntree_shader_weight_tree_invert(), ntree_weight_tree_merge_weight(), blender::bke::greasepencil::convert::offset_radius_node_tree_add(), blender::ed::space_node::prepare_viewlayer_update(), proj_paint_add_slot(), blender::io::usd::USDPointInstancerReader::read_object_data(), blender::ed::space_node::search_link_ops_for_asset_metadata(), blender::ed::space_node::snode_autoconnect_input(), square_roughness_node_insert(), blender::nodes::node_geo_closure_cc::output_node::try_initialize_closure_from_evaluator(), update_mapping_node_inputs_and_properties(), update_math_node_single_operand_operators(), update_noise_and_wave_distortion(), update_vector_math_node_add_and_subtract_operators(), update_vector_math_node_average_operator(), update_vector_math_node_cross_product_operator(), update_vector_math_node_normalize_operator(), update_voronoi_node_coloring(), update_voronoi_node_crackle(), update_voronoi_node_square_distance(), version_geometry_nodes_replace_transfer_attribute_node(), version_node_socket_duplicate(), version_principled_bsdf_specular_tint(), version_principled_bsdf_subsurface(), version_refraction_depth_to_thickness_value(), version_replace_texcoord_normal_socket(), versioning_eevee_material_blend_mode_settings(), versioning_eevee_material_shadow_none(), versioning_replace_musgrave_texture_node(), versioning_replace_splitviewer(), versioning_update_noise_texture_node(), and blender::ed::space_node::viewer_linking::view_socket().
Definition at line 3788 of file node.cc.
References BKE_ntree_update_tag_node_new(), BLI_addtail(), C, blender::StringRefBase::copy_utf8_truncated(), bNode::idname, MEM_callocN(), node_set_typeinfo(), node_type_find(), node_unique_id(), bNodeTree::nodes, bNode::runtime, and bNode::ui_order.
Referenced by add_auto_smooth_node_tree(), blender::ed::space_node::add_node(), blender::nodes::LinkSearchOpParams::add_node(), change_input_socket_to_rotation_type(), change_output_socket_to_rotation_type(), do_version_blur_node_options_to_inputs(), do_version_crop_node_options_to_inputs(), do_version_replace_image_info_node_coordinates(), do_version_translate_node_remove_relative(), fix_geometry_nodes_object_info_scale(), node_add_static_node(), blender::ed::space_node::node_group_make_from_node_declaration(), blender::ed::space_node::node_group_make_from_nodes(), blender::bke::greasepencil::convert::offset_radius_node_tree_add(), versioning_eevee_material_blend_mode_settings(), and versioning_eevee_material_shadow_none().
| bNodeSocket * blender::bke::node_add_socket | ( | bNodeTree & | ntree, |
| bNode & | node, | ||
| eNodeSocketInOut | in_out, | ||
| StringRefNull | idname, | ||
| StringRefNull | identifier, | ||
| StringRefNull | name ) |
Definition at line 3136 of file node.cc.
References BKE_ntree_update_tag_socket_new(), BLI_addtail(), BLI_assert, BLI_remlink(), bNode::inputs, make_socket(), bNode::outputs, SOCK_IN, and SOCK_OUT.
Referenced by blender::nodes::decl::Custom::build(), blender::nodes::decl::Extend::build(), blender::nodes::decl::Geometry::build(), blender::nodes::decl::IDSocketDeclaration::build(), blender::nodes::decl::Shader::build(), blender::nodes::decl::Vector::build(), do_version_replace_float_size_with_vector(), and node_add_static_socket().
|
static |
Definition at line 2392 of file node.cc.
References blender::bke::bNodeType::declare, blender::bke::bNodeType::inputs, node_add_socket_from_template(), node_verify_sockets(), blender::bke::bNodeType::outputs, SOCK_IN, SOCK_OUT, and blender::bke::bNodeSocketTemplate::type.
Referenced by node_init().
Definition at line 3804 of file node.cc.
References C, CLOG_ERROR, LOG, node_add_node(), and node_types_get().
Referenced by blender::io::usd::add_input_named_attrib_node(), add_node(), blender::io::fbx::add_node(), blender::io::obj::add_node(), add_realize_instances_before_socket(), add_realize_node_tree(), blender::ed::space_node::add_reroute_exec(), blender::ed::space_node::add_static_node(), blender::io::usd::append_node(), bc_add_node(), BKE_linestyle_default_shader(), blender::ed::space_node::connect_nested_node_to_node(), blender::ed::space_node::connect_nodes_to_aovs(), default_paint_slot_color_get(), blender::eevee::DefaultSurfaceNodeTree::DefaultSurfaceNodeTree(), blender::eevee::DefaultWorldNodeTree::DefaultWorldNodeTree(), displacement_node_insert(), do_version_alpha_over_remove_premultiply(), do_version_blur_defocus_nodes_remove_gamma(), do_version_bright_contrast_remove_premultiplied(), do_version_color_to_float_conversion(), do_version_composite_viewer_remove_alpha(), do_version_map_value_node(), do_version_mix_color_use_alpha(), do_version_scale_node_remove_translate(), do_versions_material_convert_legacy_blend_mode(), blender::io::usd::dome_light_to_world_material(), ED_node_composit_default(), ED_node_shader_default(), ED_node_texture_default(), blender::ed::curves::ensure_surface_deformation_node_exists(), Freestyle::BlenderStrokeRenderer::GetStrokeShader(), blender::eevee::LookdevWorld::LookdevWorld(), material_default_holdout_init(), material_default_surface_init(), material_default_volume_init(), blender::eevee::MaterialModule::MaterialModule(), blender::ed::space_node::node_group_make_insert_selected(), blender::ed::space_node::node_group_make_wrapper(), blender::ed::space_node::node_socket_add_replace(), ntree_shader_expand_socket_default(), ntree_shader_groups_expand_inputs(), ntree_shader_implicit_closure_cast(), ntree_shader_weight_tree_invert(), ntree_weight_tree_merge_weight(), proj_paint_add_slot(), blender::io::usd::USDPointInstancerReader::read_object_data(), blender::ed::space_node::shader_preview_startjob(), square_roughness_node_insert(), update_mapping_node_inputs_and_properties(), update_noise_and_wave_distortion(), update_vector_math_node_add_and_subtract_operators(), update_vector_math_node_average_operator(), update_vector_math_node_cross_product_operator(), update_vector_math_node_normalize_operator(), update_voronoi_node_crackle(), update_voronoi_node_square_distance(), version_geometry_nodes_replace_transfer_attribute_node(), version_principled_bsdf_specular_tint(), version_principled_bsdf_subsurface(), version_refraction_depth_to_thickness_value(), version_replace_texcoord_normal_socket(), versioning_replace_musgrave_texture_node(), versioning_replace_splitviewer(), and versioning_update_noise_texture_node().
| bNodeSocket * blender::bke::node_add_static_socket | ( | bNodeTree & | ntree, |
| bNode & | node, | ||
| eNodeSocketInOut | in_out, | ||
| int | type, | ||
| int | subtype, | ||
| StringRefNull | identifier, | ||
| StringRefNull | name ) |
Definition at line 3529 of file node.cc.
References CLOG_ERROR, LOG, node_add_socket(), node_static_socket_type(), and bNodeSocket::type.
Referenced by blender::nodes::decl::Bool::build(), blender::nodes::decl::Bundle::build(), blender::nodes::decl::Closure::build(), blender::nodes::decl::Color::build(), blender::nodes::decl::Float::build(), blender::nodes::decl::Int::build(), blender::nodes::decl::Matrix::build(), blender::nodes::decl::Menu::build(), blender::nodes::decl::Rotation::build(), blender::nodes::decl::String::build(), cmp_node_image_add_pass_output(), do_version_alpha_over_node_options_to_inputs(), do_version_anti_alias_node_options_to_inputs(), do_version_bilateral_blur_node_options_to_inputs(), do_version_blur_node_options_to_inputs(), do_version_bokeh_blur_node_options_to_inputs(), do_version_bokeh_image_node_options_to_inputs(), do_version_box_mask_node_options_to_inputs(), do_version_channel_matte_node_options_to_inputs(), do_version_chroma_matte_node_options_to_inputs(), do_version_color_balance_node_options_to_inputs(), do_version_color_correction_node_options_to_inputs(), do_version_color_matte_node_options_to_inputs(), do_version_color_spill_node_options_to_inputs(), do_version_crop_node_options_to_inputs(), do_version_denoise_node_options_to_inputs(), do_version_despeckle_node_options_to_inputs(), do_version_difference_matte_node_options_to_inputs(), do_version_dilate_node_options_to_inputs(), do_version_directional_blur_node_options_to_inputs(), do_version_distance_matte_node_options_to_inputs(), do_version_ellipse_mask_node_options_to_inputs(), do_version_flip_node_options_to_inputs(), do_version_glare_node_star_45_option_to_input(), do_version_hue_sat_node(), do_version_id_mask_node_options_to_inputs(), do_version_inpaint_node_options_to_inputs(), do_version_invert_node_options_to_inputs(), do_version_keying_node_options_to_inputs(), do_version_keying_screen_node_options_to_inputs(), do_version_kuwahara_node_options_to_inputs(), do_version_lens_distortion_node_options_to_inputs(), do_version_luminance_matte_node_options_to_inputs(), do_version_mask_node_options_to_inputs(), do_version_pixelate_node_options_to_inputs(), do_version_plane_track_deform_node_options_to_inputs(), do_version_split_node_options_to_inputs(), do_version_stabilize_node_options_to_inputs(), do_version_sun_beams_node_options_to_inputs(), do_version_switch_node_options_to_inputs(), do_version_time_curve_node_options_to_inputs(), do_version_tone_map_node_options_to_inputs(), do_version_vector_blur_node_options_to_inputs(), do_version_z_combine_node_options_to_inputs(), node_add_socket_from_template(), blender::nodes::node_composite_legacy_cryptomatte_cc::node_init_cryptomatte_legacy(), ntreeCompositCryptomatteAddSocket(), ntreeCompositOutputFileAddSocket(), version_geometry_nodes_set_position_node_offset(), version_node_add_socket_if_not_exist(), version_principled_bsdf_coat(), version_principled_bsdf_emission(), version_principled_bsdf_subsurface(), and versioning_replace_splitviewer().
Definition at line 4255 of file node.cc.
References BKE_ntree_update_tag_parent_change(), BLI_assert, node_is_parent_and_child(), and bNode::parent.
Referenced by blender::ed::space_node::add_reroute_exec(), blender::ed::space_node::node_attach_invoke(), blender::ed::space_node::node_duplicate_reparent_recursive(), blender::ed::space_node::node_join_attach_recursive(), blender::ed::space_node::node_parent_set_exec(), and blender::ed::transform::special_aftertrans_update__node().
|
static |
Definition at line 2053 of file node.cc.
References BKE_curvemapping_blend_read(), BKE_image_format_blend_read_data(), blender::bke::bNodeType::blend_data_read_storage_content, BLI_listbase_clear(), BLO_read_data_address, BLO_read_string(), BLO_read_struct_by_name_array(), BLO_read_struct_list, NodeShaderScript::bytecode, CMP_NODE_CRYPTOMATTE, CMP_NODE_CRYPTOMATTE_LEGACY, CMP_NODE_CURVE_RGB, CMP_NODE_CURVE_VEC, CMP_NODE_HUECORRECT, CMP_NODE_IMAGE, CMP_NODE_MOVIEDISTORTION, CMP_NODE_OUTPUT_FILE, CMP_NODE_TIME, CMP_NODE_VIEWER, NodeCryptomatte::entries, NodeImageMultiFile::format, bNode::idname, NodeTexEnvironment::iuser, NodeTexImage::iuser, NodeCryptomatte_Runtime::layers, NodeCryptomatte::matte_id, node_type_find(), NodeShaderTexPointDensity::pd, NodeCryptomatte::runtime, ImageUser::scene, SH_NODE_CURVE_FLOAT, SH_NODE_CURVE_RGB, SH_NODE_CURVE_VEC, SH_NODE_SCRIPT, SH_NODE_TEX_ENVIRONMENT, SH_NODE_TEX_IMAGE, SH_NODE_TEX_POINTDENSITY, bNode::storage, blender::bke::bNodeType::storagename, TEX_NODE_CURVE_RGB, TEX_NODE_CURVE_TIME, TEX_NODE_IMAGE, and bNode::type_legacy.
Referenced by node_tree_blend_read_data().
|
static |
Definition at line 1377 of file node.cc.
References BKE_curvemapping_curves_blend_write(), blender::bke::bNodeType::blend_write_storage_content, BLO_write_is_undo(), BLO_write_string(), BLO_write_struct, BLO_write_struct_by_name(), NodeShaderScript::bytecode, CD_PROP_FLOAT, CMP_NODE_CRYPTOMATTE, CMP_NODE_CRYPTOMATTE_LEGACY, CMP_NODE_CURVE_RGB, CMP_NODE_CURVE_VEC, CMP_NODE_GLARE, CMP_NODE_GLARE_SIMPLE_STAR, CMP_NODE_GLARE_STREAKS, CMP_NODE_HUECORRECT, CMP_NODE_MOVIEDISTORTION, CMP_NODE_TIME, NodeGeometryAttributeCapture::data_type_legacy, ELEM, NodeCryptomatte::entries, GEO_NODE_CAPTURE_ATTRIBUTE, LISTBASE_FOREACH, NodeCryptomatte::matte_id, SH_NODE_CURVE_FLOAT, SH_NODE_CURVE_RGB, SH_NODE_CURVE_VEC, SH_NODE_SCRIPT, bNode::storage, blender::bke::bNodeType::storagename, TEX_NODE_CURVE_RGB, TEX_NODE_CURVE_TIME, NodeGlare::type, bNode::type_legacy, bNode::typeinfo, and blender::bke::forward_compat::write_compositor_legacy_storage().
Referenced by node_tree_blend_write().
| void blender::bke::node_chain_iterator | ( | const bNodeTree * | ntree, |
| const bNode * | node_start, | ||
| bool(* | callback )(bNode *, bNode *, void *, const bool), | ||
| void * | userdata, | ||
| bool | reversed ) |
Iterate over a chain of nodes, starting with node_start, executing callback for each node (which can return false to end iterator).
| reversed | for backwards iteration |
Definition at line 3672 of file node.cc.
References bNodeTree::links, LISTBASE_FOREACH, node_chain_iterator(), and NODE_LINK_VALID.
Referenced by node_chain_iterator(), blender::ed::space_node::node_link_insert_offset_ntree(), and blender::io::usd::world_material_to_dome_light().
| void blender::bke::node_chain_iterator_backwards | ( | const bNodeTree * | ntree, |
| const bNode * | node_start, | ||
| bool(* | callback )(bNode *, bNode *, void *), | ||
| void * | userdata, | ||
| int | recursion_lvl ) |
Iterate over a chain of nodes, starting with node_start, executing callback for each node (which can return false to end iterator).
Faster than node_chain_iterator. Iter only once per node. Can be called recursively (using another node_chain_iteratorBackwards) by setting the recursion_lvl accordingly.
WARN: No node is guaranteed to be iterated as a to_node, since it could have been iterated earlier as a from_node.
Definition at line 3732 of file node.cc.
References BLI_assert, iter_backwards_ex(), LISTBASE_FOREACH, and bNodeTree::nodes.
Referenced by ntree_shader_copy_branch(), ntree_shader_pruned_unused(), and ntree_shader_weight_tree_invert().
| void blender::bke::node_clear_active | ( | bNodeTree & | ntree | ) |
Definition at line 4989 of file node.cc.
References bNode::flag, and NODE_ACTIVE.
| bNode * blender::bke::node_copy | ( | bNodeTree * | dst_tree, |
| const bNode & | src_node, | ||
| int | flag, | ||
| bool | use_unique ) |
Definition at line 4070 of file node.cc.
References flag, and node_copy_with_mapping().
Referenced by blender::ed::space_node::node_group_make_wrapper(), and ntree_shader_copy_branch().
| bNode * blender::bke::node_copy_with_mapping | ( | bNodeTree * | dst_tree, |
| const bNode & | node_src, | ||
| int | flag, | ||
| bool | use_unique, | ||
| Map< const bNodeSocket *, bNodeSocket * > & | new_socket_map ) |
| use_unique | If true, make sure the node's identifier and name are unique in the new tree. Must be true if the dst_tree had nodes that weren't in the source node's tree. Must be false when simply copying a node tree, so that identifiers don't change. |
Definition at line 3857 of file node.cc.
References blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), BKE_ntree_update_tag_node_new(), BLI_addtail(), BLI_listbase_clear(), flag, bNodeLink::fromnode, bNodeLink::fromsock, bNode::id, id_us_plus(), IDP_CopyProperty_ex(), bNode::inputs, LIB_ID_CREATE_NO_MAIN, LIB_ID_CREATE_NO_USER_REFCOUNT, LISTBASE_FOREACH, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup(), MEM_dupallocN(), MEM_mallocN(), node_socket_copy(), node_unique_id(), node_unique_name(), bNodeTree::nodes, bNode::outputs, bNode::panel_states_array, bNode::prop, ptr, RNA_pointer_create_discrete(), bNode::runtime, bNodeLink::tonode, bNodeLink::tosock, and bNode::typeinfo.
Referenced by blender::ed::space_node::NodeClipboard::copy_add_node(), blender::ed::space_node::node_clipboard_paste_exec(), node_copy(), blender::ed::space_node::node_duplicate_exec(), blender::ed::space_node::node_group_separate_selected(), and ntree_copy_data().
|
static |
Definition at line 4076 of file node.cc.
References count, ELEM, bNodeTree::links, and LISTBASE_FOREACH.
Referenced by node_add_link().
| int blender::bke::node_count_socket_links | ( | const bNodeTree & | ntree, |
| const bNodeSocket & | sock ) |
Definition at line 4946 of file node.cc.
References bNodeTree::links, and LISTBASE_FOREACH.
Referenced by blo_do_versions_250(), link_nodes(), blender::ed::space_node::node_link_init(), and blender::ed::space_node::node_socket_add_replace().
If the node implements a declare function, this function makes sure that node->declaration is up to date. It is expected that the sockets of the node are up to date already.
Definition at line 5090 of file node.cc.
References node_declaration_ensure_on_outdated_node(), and node_socket_declarations_update().
Referenced by blender::ed::space_node::get_main_socket(), blender::ed::space_node::node_clipboard_paste_exec(), blender::ed::space_node::node_duplicate_exec(), blender::ed::space_node::node_group_separate_selected(), and ntree_copy_data().
Just update node->declaration if necessary. This can also be called on nodes that may not be up to date (e.g. because the need versioning or are dynamic).
Definition at line 5070 of file node.cc.
References bNode::runtime, bNode::typeinfo, and blender::nodes::update_node_declaration_and_sockets().
Referenced by node_declaration_ensure(), and node_verify_sockets().
Definition at line 4263 of file node.cc.
References BKE_ntree_update_tag_parent_change(), BLI_assert, and bNode::parent.
Referenced by blender::ed::transform::flushTransNodes(), blender::ed::space_node::node_attach_invoke(), blender::ed::space_node::node_clipboard_copy_exec(), blender::ed::space_node::node_detach_recursive(), blender::ed::space_node::node_duplicate_reparent_recursive(), blender::ed::space_node::node_group_make_insert_selected(), blender::ed::space_node::node_group_separate_selected(), blender::ed::space_node::node_join_attach_recursive(), blender::ed::space_node::node_parent_set_exec(), and node_unlink_attached().
Definition at line 5099 of file node.cc.
References bNode::runtime.
| bNodeSocket * blender::bke::node_find_enabled_input_socket | ( | bNode & | node, |
| StringRef | name ) |
Definition at line 2898 of file node.cc.
References node_find_enabled_socket(), and SOCK_IN.
Referenced by blender::ed::space_node::attribute_search_exec_fn(), blender::ed::space_node::connect_nested_node_to_node(), and blender::ed::space_node::layer_search_exec_fn().
| bNodeSocket * blender::bke::node_find_enabled_output_socket | ( | bNode & | node, |
| StringRef | name ) |
Definition at line 2903 of file node.cc.
References node_find_enabled_socket(), and SOCK_OUT.
Referenced by blender::ed::space_node::connect_nested_node_to_node().
| bNodeSocket * blender::bke::node_find_enabled_socket | ( | bNode & | node, |
| eNodeSocketInOut | in_out, | ||
| StringRef | name ) |
Definition at line 2885 of file node.cc.
References bNode::inputs, LISTBASE_FOREACH, bNode::outputs, and SOCK_IN.
Referenced by blender::nodes::LinkSearchOpParams::connect_available_socket(), node_find_enabled_input_socket(), node_find_enabled_output_socket(), and blender::ed::space_node::search_link_ops_for_asset_metadata().
| const bNodeTreeInterfaceSocket * blender::bke::node_find_interface_input_by_identifier | ( | const bNodeTree & | ntree, |
| StringRef | identifier ) |
Try to find an input item with the given identifier in the entire node interface tree.
Definition at line 3638 of file node.cc.
References input.
Referenced by getname_anim_fcurve().
| bNode & blender::bke::node_find_node | ( | bNodeTree & | ntree, |
| bNodeSocket & | socket ) |
Find the node that contains the given socket. This uses the node topology cache, meaning subsequent access after changing the node tree will be more expensive, but amortized over time, the cost is constant.
Definition at line 3613 of file node.cc.
Referenced by getname_anim_fcurve(), and UI_context_copy_to_selected_list().
| const bNode & blender::bke::node_find_node | ( | const bNodeTree & | ntree, |
| const bNodeSocket & | socket ) |
| bNode * blender::bke::node_find_node_by_name | ( | bNodeTree & | ntree, |
| StringRefNull | name ) |
Finds a node based on its name.
Definition at line 3607 of file node.cc.
References BLI_findstring(), blender::StringRefNull::c_str(), bNodeTree::nodes, and offsetof.
Referenced by blender::ed::space_node::compute_context_for_tree_path(), blender::ed::space_node::connect_nested_node_to_node(), blender::ed::space_node::ensure_nodetree_previews(), blender::ed::space_node::get_compute_context_hash_for_node_editor(), local_merge(), blender::ed::space_node::node_default_group_width_set_exec(), blender::io::usd::USDPointInstancerReader::set_collection(), and skip_fcurve_selected_data().
| bNode * blender::bke::node_find_node_try | ( | bNodeTree & | ntree, |
| bNodeSocket & | socket ) |
Finds a node based on given socket, returning null in the case where the socket is not part of the node tree.
Definition at line 3625 of file node.cc.
References bNodeSocket::in_out, LISTBASE_FOREACH, and SOCK_IN.
| bNodeSocket * blender::bke::node_find_socket | ( | bNode & | node, |
| eNodeSocketInOut | in_out, | ||
| StringRef | identifier ) |
Definition at line 2864 of file node.cc.
References bNode::inputs, LISTBASE_FOREACH, bNode::outputs, and SOCK_IN.
Referenced by add_auto_smooth_node_tree(), blender::ed::space_node::add_existing_group_input_fn(), blender::ed::space_node::add_group_input_node_fn(), blender::io::usd::add_input_named_attrib_node(), blender::io::usd::add_lessthan(), blender::io::usd::add_oneminus(), blender::io::usd::add_scale_bias(), blender::io::usd::add_scale_bias_adjust(), ambient_occlusion_node_relink(), blender::io::usd::append_node(), bc_get_cot_from_shader(), bc_get_float_from_shader(), blo_do_versions_300(), BLO_update_defaults_startup_blend(), change_input_socket_to_rotation_type(), change_output_socket_to_rotation_type(), clamp_subdivision_node_level_input(), blender::io::usd::configure_displacement(), blender::ed::space_node::connect_node_to_surface_output(), blender::ed::space_node::connect_nodes_to_aovs(), blender::io::obj::copy_property_from_node(), blender::io::usd::create_transform2d_shader(), blender::io::usd::create_usd_preview_surface_material(), default_paint_slot_color_get(), blender::eevee::DefaultSurfaceNodeTree::DefaultSurfaceNodeTree(), blender::eevee::DefaultWorldNodeTree::DefaultWorldNodeTree(), displacement_node_insert(), do_version_alpha_over_node_options_to_inputs(), do_version_alpha_over_remove_premultiply(), do_version_anti_alias_node_options_to_inputs(), do_version_bilateral_blur_node_options_to_inputs(), do_version_blur_defocus_nodes_remove_gamma(), do_version_blur_node_options_to_inputs(), do_version_bokeh_blur_node_options_to_inputs(), do_version_bokeh_image_node_options_to_inputs(), do_version_box_mask_node_options_to_inputs(), do_version_bright_contrast_remove_premultiplied(), do_version_bump_filter_width(), do_version_channel_matte_node_options_to_inputs(), do_version_chroma_matte_node_options_to_inputs(), do_version_color_balance_node_options_to_inputs(), do_version_color_correction_node_options_to_inputs(), do_version_color_matte_node_options_to_inputs(), do_version_color_spill_node_options_to_inputs(), do_version_composite_viewer_remove_alpha(), do_version_convert_to_generic_nodes(), do_version_crop_node_options_to_inputs(), do_version_denoise_node_options_to_inputs(), do_version_despeckle_node_options_to_inputs(), do_version_difference_matte_node_options_to_inputs(), do_version_dilate_node_options_to_inputs(), do_version_directional_blur_node_options_to_inputs(), do_version_distance_matte_node_options_to_inputs(), do_version_ellipse_mask_node_options_to_inputs(), do_version_flip_node_options_to_inputs(), do_version_glare_node_star_45_option_to_input(), do_version_hue_sat_node(), do_version_id_mask_node_options_to_inputs(), do_version_inpaint_node_options_to_inputs(), do_version_invert_node_options_to_inputs(), do_version_keying_node_options_to_inputs(), do_version_keying_screen_node_options_to_inputs(), do_version_kuwahara_node_options_to_inputs(), do_version_lens_distortion_node_options_to_inputs(), do_version_luminance_matte_node_options_to_inputs(), do_version_map_value_node(), do_version_mask_node_options_to_inputs(), do_version_mix_color_use_alpha(), do_version_new_glare_clamp_input(), do_version_node_curve_to_mesh_scale_input(), do_version_pixelate_node_options_to_inputs(), do_version_plane_track_deform_node_options_to_inputs(), do_version_replace_image_info_node_coordinates(), do_version_scale_node_remove_translate(), do_version_split_node_options_to_inputs(), do_version_stabilize_node_options_to_inputs(), do_version_sun_beams_node_options_to_inputs(), do_version_switch_node_options_to_inputs(), do_version_time_curve_node_options_to_inputs(), do_version_tone_map_node_options_to_inputs(), do_version_translate_node_remove_relative(), do_version_vector_blur_node_options_to_inputs(), do_version_z_combine_node_options_to_inputs(), do_versions_material_convert_legacy_blend_mode(), blender::io::usd::dome_light_to_world_material(), ED_node_shader_default(), blender::ed::curves::ensure_surface_deformation_node_exists(), fix_geometry_nodes_object_info_scale(), MaterialNode::get_diffuse_image(), get_input_socket(), blender::ed::space_node::gizmo_node_box_mask_prop_matrix_get(), blender::ed::space_node::gizmo_node_box_mask_prop_matrix_set(), blender::ed::space_node::gizmo_node_split_prop_matrix_get(), blender::ed::space_node::gizmo_node_split_prop_matrix_set(), light_emission_node_to_energy(), link_nodes(), blender::io::fbx::link_sockets(), blender::io::obj::link_sockets(), blender::eevee::LookdevWorld::LookdevWorld(), material_default_holdout_init(), material_default_surface_init(), material_default_volume_init(), blender::eevee::MaterialModule::MaterialModule(), blender::ed::space_node::node_add_collection_exec(), blender::ed::space_node::node_add_group_input_node_exec(), blender::ed::space_node::node_add_object_exec(), blender::ed::space_node::node_clipboard_paste_exec(), node_find_socket(), blender::ed::space_node::node_input_from_rect(), blender::ed::space_node::node_input_to_rect(), blender::io::usd::node_search(), blender::nodes::node_shader_mapping_cc::node_shader_update_mapping(), blender::nodes::node_shader_bsdf_metallic_cc::node_shader_update_metallic(), blender::nodes::node_shader_bsdf_principled_cc::node_shader_update_principled(), blender::nodes::node_shader_tex_sky_cc::node_shader_update_sky(), blender::nodes::node_shader_tex_gabor_cc::node_shader_update_tex_gabor(), blender::nodes::node_shader_tex_noise_cc::node_shader_update_tex_noise(), blender::nodes::node_shader_tex_voronoi_cc::node_shader_update_tex_voronoi(), blender::nodes::node_shader_tex_white_noise_cc::node_shader_update_tex_white_noise(), blender::nodes::node_shader_vector_math_cc::node_shader_update_vector_math(), blender::nodes::node_shader_vector_rotate_cc::node_shader_update_vector_rotate(), node_tree_relink_with_socket_id_map(), blender::nodes::node_composite_colorbalance_cc::node_update(), blender::nodes::node_composite_dilate_cc::node_update(), blender::nodes::node_composite_glare_cc::node_update(), blender::nodes::node_composite_kuwahara_cc::node_update(), blender::nodes::node_composite_lensdist_cc::node_update(), blender::nodes::node_composite_mask_cc::node_update(), blender::nodes::node_composite_relative_to_pixel_cc::node_update(), blender::nodes::node_composite_tonemap_cc::node_update(), blender::bke::greasepencil::convert::offset_radius_node_tree_add(), blender::ed::space_node::prepare_viewlayer_update(), blender::io::usd::process_inputs(), proj_paint_add_slot(), blender::io::usd::USDPointInstancerReader::read_object_data(), remove_triangulate_node_min_size_input(), MaterialNode::set_alpha(), blender::io::usd::USDPointInstancerReader::set_collection(), MaterialNode::set_diffuse(), blender::io::usd::USDMaterialReader::set_displacement_node_inputs(), MaterialNode::set_emission(), MaterialNode::set_ior(), blender::io::usd::USDMaterialReader::set_node_input(), MaterialNode::set_opacity(), blender::io::usd::USDMaterialReader::set_principled_node_inputs(), blender::io::obj::set_property_of_socket(), MaterialNode::set_reflectivity(), blender::io::fbx::set_socket_float(), blender::io::fbx::set_socket_rgb(), blender::io::fbx::set_socket_vector(), MaterialNode::set_specular(), blender::ed::space_node::shader_preview_startjob(), blender::nodes::socket_items::try_add_item_via_extend_socket(), update_mapping_node_inputs_and_properties(), update_noise_and_wave_distortion(), update_vector_math_node_add_and_subtract_operators(), update_vector_math_node_average_operator(), update_vector_math_node_cross_product_operator(), update_vector_math_node_dot_product_operator(), update_vector_math_node_normalize_operator(), update_voronoi_node_coloring(), update_voronoi_node_crackle(), update_voronoi_node_square_distance(), update_wave_node_directions_and_offset(), version_geometry_nodes_extrude_smooth_propagation(), version_geometry_nodes_replace_transfer_attribute_node(), version_geometry_nodes_use_rotation_socket(), version_mesh_crease_generic(), version_node_add_socket_if_not_exist(), version_node_socket_duplicate(), version_principled_bsdf_coat(), version_principled_bsdf_emission(), version_principled_bsdf_sheen(), version_principled_bsdf_specular_tint(), version_principled_bsdf_subsurface(), version_principled_transmission_roughness(), version_refraction_depth_to_thickness_value(), version_replace_texcoord_normal_socket(), version_replace_velvet_sheen_node(), version_update_node_input(), versioning_eevee_alpha_source_get(), versioning_eevee_material_blend_mode_settings(), versioning_eevee_material_shadow_none(), versioning_replace_musgrave_texture_node(), versioning_replace_splitviewer(), versioning_update_noise_texture_node(), blender::ed::space_node::WIDGETGROUP_node_sbeam_refresh(), and blender::bke::forward_compat::write_compositor_legacy_properties().
| const bNodeSocket * blender::bke::node_find_socket | ( | const bNode & | node, |
| eNodeSocketInOut | in_out, | ||
| StringRef | identifier ) |
Definition at line 2877 of file node.cc.
References node_find_socket().
|
static |
Definition at line 395 of file node.cc.
References BLI_ghashutil_strhash_p(), CMP_NODE_MOVIEDISTORTION, IDCacheKey::id_session_uid, IDCacheKey::identifier, NTREE_COMPOSIT, and bNodeTree::type.
|
static |
Definition at line 371 of file node.cc.
References BKE_LIB_FOREACHID_PROCESS_ID, BKE_LIB_FOREACHID_PROCESS_IDSUPER, data, bNodeTree::gpd, IDWALK_CB_LOOPBACK, IDWALK_CB_NEVER_SELF, IDWALK_CB_NOP, IDWALK_CB_READFILE_IGNORE, IDWALK_CB_USER, node_node_foreach_id(), bNodeTree::owner_id, bNodeTree::runtime, and bNodeTree::tree_interface.
Referenced by blender::bke::tests::TEST_F().
|
static |
Definition at line 413 of file node.cc.
References BKE_bpath_foreach_path_fixed_process(), NodeShaderScript::filepath, NodeShaderTexIES::filepath, NodeShaderScript::mode, NodeShaderTexIES::mode, NODE_IES_EXTERNAL, NODE_SCRIPT_EXTERNAL, NTREE_SHADER, SH_NODE_SCRIPT, SH_NODE_TEX_IES, and bNodeTree::type.
Free the node itself.
Definition at line 4579 of file node.cc.
References BKE_ntree_update_tag_node_removed(), BLI_remlink(), IDP_FreePropertyContent_ex(), bNode::inputs, LISTBASE_FOREACH_MUTABLE, MEM_freeN(), MEM_SAFE_FREE, node_rebuild_id_vector(), node_socket_free(), bNodeTree::nodes, NTREE_TEXTURE, ntreeTexEndExecTree(), bNode::outputs, bNode::panel_states_array, bNode::prop, bNode::runtime, bNodeTree::runtime, bNodeTree::type, and bNode::typeinfo.
Referenced by blender::ed::space_node::NodeClipboard::clear(), blender::ed::space_node::node_clipboard_paste_exec(), node_remove_node(), node_tree_free_local_node(), and ntree_free_data().
|
static |
Definition at line 2812 of file node.cc.
References defer_free_socket_type(), G_MAIN, and update_typeinfo().
Referenced by node_system_exit(), and node_unregister_socket_type().
|
static |
Definition at line 2729 of file node.cc.
References defer_free_node_type(), G_MAIN, blender::bke::bNodeType::static_declaration, and update_typeinfo().
Referenced by node_system_exit(), and node_unregister_type().
Definition at line 4957 of file node.cc.
References bNode::flag, and NODE_ACTIVE.
Referenced by blender::nodes::socket_items::ops::get_active_node_to_operate_on(), blender::ed::space_node::node_activate_viewer_exec(), blender::ed::space_node::node_active_link_viewer_exec(), blender::ed::space_node::node_context(), blender::ed::space_node::node_copy_color_exec(), blender::ed::space_node::node_cryptomatte_add_socket_exec(), blender::ed::space_node::node_cryptomatte_remove_socket_exec(), node_get_active_paint_canvas(), node_get_active_texture(), blender::ed::space_node::node_group_get_active(), blender::ed::space_node::node_output_file_add_socket_exec(), blender::ed::space_node::node_output_file_move_active_socket_exec(), blender::ed::space_node::node_output_file_remove_active_socket_exec(), blender::ed::space_node::node_parent_set_exec(), blender::ed::space_node::node_resize_exit(), blender::ed::space_node::node_resize_invoke(), blender::ed::space_node::node_resize_modal(), blender::ed::space_node::node_select_grouped_exec(), blender::ed::space_node::node_select_same_type_step_exec(), blender::ed::space_node::node_shader_script_update_exec(), blender::ed::space_node::node_shader_script_update_poll(), blender::ed::space_node::WIDGETGROUP_node_box_mask_poll(), blender::ed::space_node::WIDGETGROUP_node_corner_pin_poll(), blender::ed::space_node::WIDGETGROUP_node_corner_pin_refresh(), blender::ed::space_node::WIDGETGROUP_node_crop_poll(), blender::ed::space_node::WIDGETGROUP_node_crop_refresh(), blender::ed::space_node::WIDGETGROUP_node_ellipse_mask_poll(), blender::ed::space_node::WIDGETGROUP_node_mask_refresh(), blender::ed::space_node::WIDGETGROUP_node_sbeam_poll(), blender::ed::space_node::WIDGETGROUP_node_sbeam_refresh(), blender::ed::space_node::WIDGETGROUP_node_split_poll(), blender::ed::space_node::WIDGETGROUP_node_split_refresh(), and blender::ed::space_node::WIDGETGROUP_node_transform_poll().
Definition at line 309 of file node_shader_util.cc.
References NODE_ACTIVE_PAINT_CANVAS, and node_get_active().
Referenced by BKE_texpaint_slot_refresh_cache().
Two active flags, ID nodes have special flag for buttons display.
Definition at line 304 of file node_shader_util.cc.
References NODE_ACTIVE_TEXTURE, and node_get_active().
Referenced by ED_object_assign_active_image(), and ED_object_get_active_image().
| bool blender::bke::node_group_poll | ( | const bNodeTree * | nodetree, |
| const bNodeTree * | grouptree, | ||
| const char ** | r_disabled_hint ) |
Definition at line 166 of file node_common.cc.
References RPT_, and bNodeTree::type.
Referenced by blender::ed::space_node::node_group_add_poll(), node_group_poll_instance(), and blender::ed::space_node::ui_node_link_items().
|
static |
Definition at line 5125 of file node.cc.
Referenced by node_instance_key().
|
static |
Definition at line 583 of file node_tree_zones.cc.
References i, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), and tree.
Referenced by blender::bke::bNodeTreeZone::child_nodes(), and blender::bke::bNodeTreeZones::nodes_outside_zones().
Definition at line 2420 of file node.cc.
References BLI_assert, C, CMP_NODE_R_LAYERS, bNode::color, DATA_, blender::bke::bNodeType::flag, bNode::flag, blender::bke::bNodeType::height, bNode::height, bNode::id, bNodeTree::id, id_us_plus(), blender::bke::bNodeType::initfunc, blender::bke::bNodeType::initfunc_api, bNode::name, node_add_sockets_from_type(), NODE_INIT, NODE_OPTIONS, NODE_SELECT, node_unique_name(), NodeTypeUndefined, ptr, RNA_pointer_create_discrete(), bNode::type_legacy, bNode::typeinfo, bNodeTree::typeinfo, blender::bke::bNodeType::ui_name, blender::bke::bNodeType::width, and bNode::width.
Referenced by node_set_typeinfo().
| bNodeInstanceKey blender::bke::node_instance_key | ( | bNodeInstanceKey | parent_key, |
| const bNodeTree * | ntree, | ||
| const bNode * | node ) |
Definition at line 5139 of file node.cc.
References bNodeTree::id, bNode::name, ID::name, and node_hash_int_str().
Referenced by collect_used_previews(), blender::ed::space_node::current_node_instance_key(), ED_node_tree_push(), blender::nodes::DNode::instance_key(), blender::ed::space_node::node_draw_nodetree(), node_preview_init_tree_recursive(), and ntree_exec_begin().
Definition at line 5110 of file node.cc.
References bNode::runtime.
Definition at line 4185 of file node.cc.
References adjust_multi_input_indices_after_removed_link(), blender::Vector< T, InlineBufferCapacity, Allocator >::append_non_duplicates(), BKE_ntree_update_tag_link_changed(), bNodeLink::flag, bNodeLink::fromnode, bNodeLink::fromsock, bNodeSocket::link, bNodeTree::links, LISTBASE_FOREACH_MUTABLE, bNodeLink::multi_input_sort_id, NODE_LINK_MUTED, NODE_LINK_VALID, node_remove_link(), bNode::runtime, bNodeLink::tonode, and bNodeLink::tosock.
Referenced by blender::ed::space_node::detach_links_exec(), localize(), localize(), and blender::ed::space_node::node_delete_reconnect_exec().
Definition at line 731 of file node_common.cc.
References blender::Stack< T, InlineBufferCapacity, Allocator >::is_empty(), NODE_CLASS_OUTPUT, NODE_DO_OUTPUT, blender::Stack< T, InlineBufferCapacity, Allocator >::pop(), and blender::Stack< T, InlineBufferCapacity, Allocator >::push().
Referenced by blender::ed::object::bake_object_check().
A dangling reroute node is a reroute node that does not have a "data source", i.e. no non-reroute node is connected to its input.
Definition at line 3662 of file node.cc.
References bNode::parent.
Referenced by blender::ed::space_node::can_attach_node_to_frame(), and node_attach_node().
| bool blender::bke::node_is_static_socket_type | ( | const bNodeSocketType & | stype | ) |
Definition at line 3158 of file node.cc.
References blender::bke::bNodeSocketType::ext_socket, RNA_struct_is_a(), and ExtensionRNA::srna.
Referenced by composite_node_tree_socket_type_valid(), geometry_node_tree_socket_type_valid(), shader_node_tree_socket_type_valid(), texture_node_tree_socket_type_valid(), and blender::bke::node_interface::socket_types::try_get_supported_socket_type().
Definition at line 5242 of file node.cc.
References IFACE_, bNode::label, MAX_NAME, and bNode::typeinfo.
Referenced by blender::ed::space_node::node_draw_basis(), blender::ed::space_node::node_draw_hidden(), blender::ed::space_node::node_find_create_label(), blender::ed::space_node::node_group_make_wrapper(), blender::ed::space_node::node_socket_get_tooltip(), blender::ed::space_node::ui_node_sock_name(), and blender::ed::viewer_path::viewer_path_for_geometry_node().
| bool blender::bke::node_link_is_hidden | ( | const bNodeLink & | link | ) |
Definition at line 4159 of file node.cc.
References bNodeLink::fromsock, and bNodeLink::tosock.
Referenced by blender::ed::space_node::node_draw_mute_line(), blender::ed::space_node::node_draw_nodetree(), blender::ed::space_node::node_group_make_insert_selected(), and blender::ed::space_node::node_link_is_hidden_or_dimmed().
| bool blender::bke::node_link_is_selected | ( | const bNodeLink & | link | ) |
Definition at line 4164 of file node.cc.
References bNode::flag, bNodeLink::fromnode, NODE_SELECT, and bNodeLink::tonode.
Referenced by blender::ed::space_node::node_draw_nodetree().
Set the mute status of a single link.
Definition at line 4141 of file node.cc.
References BKE_ntree_update_tag_link_mute(), bNodeLink::flag, NODE_LINK_MUTED, and SET_FLAG_FROM_TEST.
Referenced by blender::ed::space_node::mute_links_exec().
| void blender::bke::node_modify_socket_type | ( | bNodeTree & | ntree, |
| bNode & | node, | ||
| bNodeSocket & | sock, | ||
| StringRefNull | idname ) |
Definition at line 3059 of file node.cc.
References blender::StringRefNull::c_str(), CLOG_ERROR, blender::StringRefBase::copy_utf8_truncated(), bNodeSocket::default_value, bNodeSocket::idname, LOG, MEM_freeN(), node_socket_set_typeinfo(), 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, socket_id_user_decrement(), blender::bke::bNodeSocketType::subtype, blender::bke::bNodeSocketType::type, and bNodeSocket::type.
Referenced by node_modify_socket_type_static().
| void blender::bke::node_modify_socket_type_static | ( | bNodeTree * | ntree, |
| bNode * | node, | ||
| bNodeSocket * | sock, | ||
| int | type, | ||
| int | subtype ) |
Definition at line 3123 of file node.cc.
References CLOG_ERROR, LOG, node_modify_socket_type(), and node_static_socket_type().
Referenced by do_version_blur_node_options_to_inputs(), blender::nodes::node_composite_file_output_cc::update_output_file(), verify_socket_template(), version_principled_bsdf_sheen(), and version_principled_bsdf_specular_tint().
| void blender::bke::node_node_foreach_id | ( | bNode * | node, |
| LibraryForeachIDData * | data ) |
Iterate over all ID usages of the given node. Can be used with #BKE_library_foreach_subdata_ID_link.
See BKE_lib_query.hh and IDTypeInfo.foreach_id for more details.
Definition at line 352 of file node.cc.
References BKE_LIB_FOREACHID_PROCESS_FUNCTION_CALL, BKE_LIB_FOREACHID_PROCESS_ID, data, bNode::id, IDP_foreach_property(), IDP_TYPE_FILTER_ID, IDWALK_CB_LOOPBACK, IDWALK_CB_USER, bNode::inputs, library_foreach_node_socket(), LISTBASE_FOREACH, bNode::outputs, bNode::prop, and bNode::runtime.
Referenced by blender::ed::space_node::NodeClipboard::copy_add_node(), node_foreach_id(), blender::ed::space_node::NodeClipboard::paste_update_node_id_references(), blender::ed::space_node::NodeClipboard::paste_validate_id_references(), and blender::bke::tests::TEST_F().
Definition at line 440 of file node.cc.
References BLI_assert, ID_FLAG_EMBEDDED_DATA, node_tree_from_id(), and bNodeTree::owner_id.
| void blender::bke::node_parents_iterator | ( | bNode * | node, |
| bool(* | callback )(bNode *, void *), | ||
| void * | userdata ) |
Iterate over all parents of node, executing callback for each parent (which can return false to end iterator)
Definition at line 3754 of file node.cc.
References node_parents_iterator(), and bNode::parent.
Referenced by blender::ed::space_node::node_link_insert_offset_ntree(), and node_parents_iterator().
|
static |
Definition at line 5283 of file node.cc.
Referenced by node_type_base().
|
static |
Definition at line 5290 of file node.cc.
References bNode::typeinfo.
Referenced by node_type_base().
| void blender::bke::node_position_propagate | ( | bNode & | node | ) |
Definition at line 4314 of file node.cc.
References bNodeLink::fromnode, bNodeLink::fromsock, bNode::inputs, LISTBASE_FOREACH, node_position_propagate(), node_position_relative(), bNodeLink::tonode, and bNodeLink::tosock.
Referenced by node_position_propagate(), and proj_paint_add_slot().
| void blender::bke::node_position_relative | ( | bNode & | from_node, |
| const bNode & | to_node, | ||
| const bNodeSocket * | from_sock, | ||
| const bNodeSocket & | to_sock ) |
Definition at line 4272 of file node.cc.
References BLI_assert, BLI_findindex(), BLI_listbase_count(), bNodeSocket::in_out, bNode::inputs, bNode::location, bNode::outputs, SOCK_IN, bNode::typeinfo, and U.
Referenced by node_position_propagate(), blender::ed::space_node::node_socket_add_replace(), and proj_paint_add_slot().
| void blender::bke::node_preview_init_tree | ( | bNodeTree * | ntree, |
| int | xsize, | ||
| int | ysize ) |
Definition at line 4482 of file node.cc.
References NODE_INSTANCE_KEY_BASE, node_preview_init_tree_recursive(), and bNodeTree::runtime.
Referenced by compositor_init_node_previews().
|
static |
Definition at line 4462 of file node.cc.
References bNode::id, node_instance_key(), node_preview_init_tree_recursive(), node_preview_used(), and node_preview_verify().
Referenced by node_preview_init_tree(), and node_preview_init_tree_recursive().
| void blender::bke::node_preview_merge_tree | ( | bNodeTree * | to_ntree, |
| bNodeTree * | from_ntree, | ||
| bool | remove_old ) |
Definition at line 4517 of file node.cc.
References node_preview_remove_unused(), and bNodeTree::runtime.
Referenced by local_merge().
| void blender::bke::node_preview_remove_unused | ( | bNodeTree * | ntree | ) |
Definition at line 4508 of file node.cc.
References collect_used_previews(), blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), blender::MapItem< Key, Value >::key, NODE_INSTANCE_KEY_BASE, and bNodeTree::runtime.
Referenced by node_preview_merge_tree().
| bool blender::bke::node_preview_used | ( | const bNode & | node | ) |
Definition at line 4403 of file node.cc.
References NODE_PREVIEW, and bNode::typeinfo.
Referenced by collect_used_previews(), and node_preview_init_tree_recursive().
| bNodePreview * blender::bke::node_preview_verify | ( | Map< bNodeInstanceKey, bNodePreview > & | previews, |
| bNodeInstanceKey | key, | ||
| int | xsize, | ||
| int | ysize, | ||
| bool | create ) |
Definition at line 4409 of file node.cc.
References ImBuf::byte_buffer, ImBufByteBuffer::data, IB_byte_data, blender::bke::bNodePreview::ibuf, IMB_alloc_byte_pixels(), IMB_allocImBuf(), IMB_rect_size_set(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add_cb(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_ptr(), and size().
Referenced by blender::compositor::compute_preview(), and node_preview_init_tree_recursive().
| void blender::bke::node_rebuild_id_vector | ( | bNodeTree & | node_tree | ) |
Rebuild the node_by_id runtime vector set. Call after removing a node if not handled separately. This is important instead of just using nodes_by_id.remove() since it maintains the node order.
Definition at line 4568 of file node.cc.
References i, LISTBASE_FOREACH_INDEX, bNodeTree::nodes, bNode::runtime, and bNodeTree::runtime.
Referenced by node_free_node(), blender::ed::space_node::node_group_make_insert_selected(), blender::ed::space_node::node_group_separate_selected(), node_remove_node(), node_tree_free_local_node(), version_geometry_nodes_extrude_smooth_propagation(), and version_geometry_nodes_primitive_uv_maps().
Definition at line 2784 of file node.cc.
References get_node_type_alias_map(), and blender::bke::bNodeType::idname.
Referenced by register_node_type_sh_bsdf_glossy().
| void blender::bke::node_register_socket_type | ( | bNodeSocketType & | stype | ) |
Definition at line 2826 of file node.cc.
References G_MAIN, get_socket_type_map(), and update_typeinfo().
Referenced by register_standard_node_socket_types().
| void blender::bke::node_register_type | ( | bNodeType & | ntype | ) |
Definition at line 2748 of file node.cc.
References BLI_assert, blender::nodes::build_node_declaration(), blender::bke::bNodeType::declare, blender::bke::bNodeType::enum_name_legacy, G_MAIN, get_node_type_map(), blender::bke::bNodeType::idname, blender::bke::bNodeType::poll, RNA_def_struct_ui_text(), blender::bke::bNodeType::rna_ext, ExtensionRNA::srna, blender::bke::bNodeType::static_declaration, blender::bke::bNodeType::ui_description, blender::bke::bNodeType::ui_name, and update_typeinfo().
Referenced by blender::nodes::node_fn_align_euler_to_vector_cc::node_register(), blender::nodes::node_fn_align_rotation_to_vector_cc::node_register(), blender::nodes::node_fn_axes_to_rotation_cc::node_register(), blender::nodes::node_fn_axis_angle_to_rotation_cc::node_register(), blender::nodes::node_fn_bit_math_cc::node_register(), blender::nodes::node_fn_boolean_math_cc::node_register(), blender::nodes::node_fn_combine_color_cc::node_register(), blender::nodes::node_fn_combine_matrix_cc::node_register(), blender::nodes::node_fn_combine_transform_cc::node_register(), blender::nodes::node_fn_compare_cc::node_register(), blender::nodes::node_fn_euler_to_rotation_cc::node_register(), blender::nodes::node_fn_find_in_string_cc::node_register(), blender::nodes::node_fn_float_to_int_cc::node_register(), blender::nodes::node_fn_format_string_cc::node_register(), blender::nodes::node_fn_hash_value_cc::node_register(), blender::nodes::node_fn_input_bool_cc::node_register(), blender::nodes::node_fn_input_color_cc::node_register(), blender::nodes::node_fn_input_int_cc::node_register(), blender::nodes::node_fn_input_rotation_cc::node_register(), blender::nodes::node_fn_input_special_characters_cc::node_register(), blender::nodes::node_fn_input_string_cc::node_register(), blender::nodes::node_fn_input_vector_cc::node_register(), blender::nodes::node_fn_integer_math_cc::node_register(), blender::nodes::node_fn_invert_matrix_cc::node_register(), blender::nodes::node_fn_invert_rotation_cc::node_register(), blender::nodes::node_fn_match_string_cc::node_register(), blender::nodes::node_fn_matrix_determinant_cc::node_register(), blender::nodes::node_fn_matrix_multiply_cc::node_register(), blender::nodes::node_fn_project_point_cc::node_register(), blender::nodes::node_fn_quaternion_to_rotation_cc::node_register(), blender::nodes::node_fn_random_value_cc::node_register(), blender::nodes::node_fn_replace_string_cc::node_register(), blender::nodes::node_fn_rotate_euler_cc::node_register(), blender::nodes::node_fn_rotate_rotation_cc::node_register(), blender::nodes::node_fn_rotate_vector_cc::node_register(), blender::nodes::node_fn_rotation_to_axis_angle_cc::node_register(), blender::nodes::node_fn_rotation_to_euler_cc::node_register(), blender::nodes::node_fn_rotation_to_quaternion_cc::node_register(), blender::nodes::node_fn_separate_color_cc::node_register(), blender::nodes::node_fn_separate_matrix_cc::node_register(), blender::nodes::node_fn_separate_transform_cc::node_register(), blender::nodes::node_fn_slice_string_cc::node_register(), blender::nodes::node_fn_string_length_cc::node_register(), blender::nodes::node_fn_transform_direction_cc::node_register(), blender::nodes::node_fn_transform_point_cc::node_register(), blender::nodes::node_fn_transpose_matrix_cc::node_register(), blender::nodes::node_fn_value_to_string_cc::node_register(), blender::nodes::node_geo_accumulate_field_cc::node_register(), blender::nodes::node_geo_attribute_capture_cc::node_register(), blender::nodes::node_geo_attribute_domain_size_cc::node_register(), blender::nodes::node_geo_attribute_statistic_cc::node_register(), blender::nodes::node_geo_bake_cc::node_register(), blender::nodes::node_geo_blur_attribute_cc::node_register(), blender::nodes::node_geo_boolean_cc::node_register(), blender::nodes::node_geo_bounding_box_cc::node_register(), blender::nodes::node_geo_camera_info_cc::node_register(), blender::nodes::node_geo_closure_cc::input_node::node_register(), blender::nodes::node_geo_closure_cc::output_node::node_register(), blender::nodes::node_geo_collection_info_cc::node_register(), blender::nodes::node_geo_combine_bundle_cc::node_register(), blender::nodes::node_geo_convex_hull_cc::node_register(), blender::nodes::node_geo_curve_endpoint_selection_cc::node_register(), blender::nodes::node_geo_curve_fill_cc::node_register(), blender::nodes::node_geo_curve_fillet_cc::node_register(), blender::nodes::node_geo_curve_handle_type_selection_cc::node_register(), blender::nodes::node_geo_curve_length_cc::node_register(), blender::nodes::node_geo_curve_primitive_arc_cc::node_register(), blender::nodes::node_geo_curve_primitive_bezier_segment_cc::node_register(), blender::nodes::node_geo_curve_primitive_circle_cc::node_register(), blender::nodes::node_geo_curve_primitive_line_cc::node_register(), blender::nodes::node_geo_curve_primitive_quadratic_bezier_cc::node_register(), blender::nodes::node_geo_curve_primitive_quadrilateral_cc::node_register(), blender::nodes::node_geo_curve_primitive_spiral_cc::node_register(), blender::nodes::node_geo_curve_primitive_star_cc::node_register(), blender::nodes::node_geo_curve_resample_cc::node_register(), blender::nodes::node_geo_curve_reverse_cc::node_register(), blender::nodes::node_geo_curve_sample_cc::node_register(), blender::nodes::node_geo_curve_set_handle_type_cc::node_register(), blender::nodes::node_geo_curve_spline_parameter_cc::node_register(), blender::nodes::node_geo_curve_spline_type_cc::node_register(), blender::nodes::node_geo_curve_subdivide_cc::node_register(), blender::nodes::node_geo_curve_to_mesh_cc::node_register(), blender::nodes::node_geo_curve_to_points_cc::node_register(), blender::nodes::node_geo_curve_topology_curve_of_point_cc::node_register(), blender::nodes::node_geo_curve_topology_points_of_curve_cc::node_register(), blender::nodes::node_geo_curve_trim_cc::node_register(), blender::nodes::node_geo_curves_to_grease_pencil_cc::node_register(), blender::nodes::node_geo_deform_curves_on_surface_cc::node_register(), blender::nodes::node_geo_delete_geometry_cc::node_register(), blender::nodes::node_geo_distribute_points_in_grid_cc::node_register(), blender::nodes::node_geo_distribute_points_in_volume_cc::node_register(), blender::nodes::node_geo_distribute_points_on_faces_cc::node_register(), blender::nodes::node_geo_dual_mesh_cc::node_register(), blender::nodes::node_geo_duplicate_elements_cc::node_register(), blender::nodes::node_geo_edge_paths_to_curves_cc::node_register(), blender::nodes::node_geo_edge_paths_to_selection_cc::node_register(), blender::nodes::node_geo_edge_split_cc::node_register(), blender::nodes::node_geo_edges_to_face_groups_cc::node_register(), blender::nodes::node_geo_evaluate_at_index_cc::node_register(), blender::nodes::node_geo_evaluate_closure_cc::node_register(), blender::nodes::node_geo_evaluate_on_domain_cc::node_register(), blender::nodes::node_geo_extrude_mesh_cc::node_register(), blender::nodes::node_geo_field_average_cc::node_register(), blender::nodes::node_geo_field_min_and_max_cc::node_register(), blender::nodes::node_geo_field_variance_cc::node_register(), blender::nodes::node_geo_flip_faces_cc::node_register(), blender::nodes::node_geo_foreach_geometry_element_cc::input_node::node_register(), blender::nodes::node_geo_foreach_geometry_element_cc::output_node::node_register(), blender::nodes::node_geo_geometry_to_instance_cc::node_register(), blender::nodes::node_geo_get_named_grid_cc::node_register(), blender::nodes::node_geo_gizmo_dial_cc::node_register(), blender::nodes::node_geo_gizmo_linear_cc::node_register(), blender::nodes::node_geo_gizmo_transform_cc::node_register(), blender::nodes::node_geo_grease_pencil_set_depth_mode::node_register(), blender::nodes::node_geo_grease_pencil_to_curves_cc::node_register(), blender::nodes::node_geo_grid_info_cc::node_register(), blender::nodes::node_geo_grid_to_mesh_cc::node_register(), blender::nodes::node_geo_image_cc::node_register(), blender::nodes::node_geo_image_info_cc::node_register(), blender::nodes::node_geo_image_texture_cc::node_register(), blender::nodes::node_geo_import_csv::node_register(), blender::nodes::node_geo_import_obj::node_register(), blender::nodes::node_geo_import_stl::node_register(), blender::nodes::node_geo_import_text::node_register(), blender::nodes::node_geo_import_vdb::node_register(), blender::nodes::node_geo_index_of_nearest_cc::node_register(), blender::nodes::node_geo_input_active_camera_cc::node_register(), blender::nodes::node_geo_input_collection_cc::node_register(), blender::nodes::node_geo_input_curve_handles_cc::node_register(), blender::nodes::node_geo_input_curve_tilt_cc::node_register(), blender::nodes::node_geo_input_edge_smooth_cc::node_register(), blender::nodes::node_geo_input_face_smooth_cc::node_register(), blender::nodes::node_geo_input_id_cc::node_register(), blender::nodes::node_geo_input_index_cc::node_register(), blender::nodes::node_geo_input_instance_bounds_cc::node_register(), blender::nodes::node_geo_input_instance_rotation_cc::node_register(), blender::nodes::node_geo_input_instance_scale_cc::node_register(), blender::nodes::node_geo_input_instance_transform_cc::node_register(), blender::nodes::node_geo_input_material_cc::node_register(), blender::nodes::node_geo_input_material_index_cc::node_register(), blender::nodes::node_geo_input_mesh_edge_angle_cc::node_register(), blender::nodes::node_geo_input_mesh_edge_neighbors_cc::node_register(), blender::nodes::node_geo_input_mesh_edge_vertices_cc::node_register(), blender::nodes::node_geo_input_mesh_face_area_cc::node_register(), blender::nodes::node_geo_input_mesh_face_is_planar_cc::node_register(), blender::nodes::node_geo_input_mesh_face_neighbors_cc::node_register(), blender::nodes::node_geo_input_mesh_island_cc::node_register(), blender::nodes::node_geo_input_mesh_vertex_neighbors_cc::node_register(), blender::nodes::node_geo_input_named_attribute_cc::node_register(), blender::nodes::node_geo_input_named_layer_selection__cc::node_register(), blender::nodes::node_geo_input_normal_cc::node_register(), blender::nodes::node_geo_input_object_cc::node_register(), blender::nodes::node_geo_input_position_cc::node_register(), blender::nodes::node_geo_input_radius_cc::node_register(), blender::nodes::node_geo_input_scene_time_cc::node_register(), blender::nodes::node_geo_input_shortest_edge_paths_cc::node_register(), blender::nodes::node_geo_input_spline_cyclic_cc::node_register(), blender::nodes::node_geo_input_spline_length_cc::node_register(), blender::nodes::node_geo_input_spline_resolution_cc::node_register(), blender::nodes::node_geo_input_tangent_cc::node_register(), blender::nodes::node_geo_instance_on_points_cc::node_register(), blender::nodes::node_geo_instances_to_points_cc::node_register(), blender::nodes::node_geo_interpolate_curves_cc::node_register(), blender::nodes::node_geo_is_viewport_cc::node_register(), blender::nodes::node_geo_join_geometry_cc::node_register(), blender::nodes::node_geo_material_replace_cc::node_register(), blender::nodes::node_geo_material_selection_cc::node_register(), blender::nodes::node_geo_merge_by_distance_cc::node_register(), blender::nodes::node_geo_merge_layers_cc::node_register(), blender::nodes::node_geo_mesh_face_group_boundaries_cc::node_register(), blender::nodes::node_geo_mesh_primitive_circle_cc::node_register(), blender::nodes::node_geo_mesh_primitive_cone_cc::node_register(), blender::nodes::node_geo_mesh_primitive_cube_cc::node_register(), blender::nodes::node_geo_mesh_primitive_cylinder_cc::node_register(), blender::nodes::node_geo_mesh_primitive_grid_cc::node_register(), blender::nodes::node_geo_mesh_primitive_ico_sphere_cc::node_register(), blender::nodes::node_geo_mesh_primitive_line_cc::node_register(), blender::nodes::node_geo_mesh_primitive_uv_sphere_cc::node_register(), blender::nodes::node_geo_mesh_subdivide_cc::node_register(), blender::nodes::node_geo_mesh_to_curve_cc::node_register(), blender::nodes::node_geo_mesh_to_density_grid_cc::node_register(), blender::nodes::node_geo_mesh_to_points_cc::node_register(), blender::nodes::node_geo_mesh_to_sdf_grid_cc::node_register(), blender::nodes::node_geo_mesh_to_volume_cc::node_register(), blender::nodes::node_geo_mesh_topology_corners_of_edge_cc::node_register(), blender::nodes::node_geo_mesh_topology_corners_of_face_cc::node_register(), blender::nodes::node_geo_mesh_topology_corners_of_vertex_cc::node_register(), blender::nodes::node_geo_mesh_topology_edges_of_corner_cc::node_register(), blender::nodes::node_geo_mesh_topology_edges_of_vertex_cc::node_register(), blender::nodes::node_geo_mesh_topology_face_of_corner_cc::node_register(), blender::nodes::node_geo_mesh_topology_offset_corner_in_face_cc::node_register(), blender::nodes::node_geo_mesh_topology_vertex_of_corner_cc::node_register(), blender::nodes::node_geo_mouse_position_cc::node_register(), blender::nodes::node_geo_object_info_cc::node_register(), blender::nodes::node_geo_offset_point_in_curve_cc::node_register(), blender::nodes::node_geo_points_cc::node_register(), blender::nodes::node_geo_points_to_curves_cc::node_register(), blender::nodes::node_geo_points_to_sdf_grid_cc::node_register(), blender::nodes::node_geo_points_to_vertices_cc::node_register(), blender::nodes::node_geo_points_to_volume_cc::node_register(), blender::nodes::node_geo_proximity_cc::node_register(), blender::nodes::node_geo_raycast_cc::node_register(), blender::nodes::node_geo_realize_instances_cc::node_register(), blender::nodes::node_geo_remove_attribute_cc::node_register(), blender::nodes::node_geo_repeat_cc::repeat_input_node::node_register(), blender::nodes::node_geo_repeat_cc::repeat_output_node::node_register(), blender::nodes::node_geo_rotate_instances_cc::node_register(), blender::nodes::node_geo_sample_grid_cc::node_register(), blender::nodes::node_geo_sample_grid_index_cc::node_register(), blender::nodes::node_geo_sample_index_cc::node_register(), blender::nodes::node_geo_sample_nearest_cc::node_register(), blender::nodes::node_geo_sample_nearest_surface_cc::node_register(), blender::nodes::node_geo_sample_uv_surface_cc::node_register(), blender::nodes::node_geo_scale_elements_cc::node_register(), blender::nodes::node_geo_scale_instances_cc::node_register(), blender::nodes::node_geo_sdf_grid_boolean_cc::node_register(), blender::nodes::node_geo_self_object_cc::node_register(), blender::nodes::node_geo_separate_bundle_cc::node_register(), blender::nodes::node_geo_separate_components_cc::node_register(), blender::nodes::node_geo_separate_geometry_cc::node_register(), blender::nodes::node_geo_set_curve_handles_cc::node_register(), blender::nodes::node_geo_set_curve_normal_cc::node_register(), blender::nodes::node_geo_set_curve_radius_cc::node_register(), blender::nodes::node_geo_set_curve_tilt_cc::node_register(), blender::nodes::node_geo_set_geometry_name::node_register(), blender::nodes::node_geo_set_grease_pencil_color_cc::node_register(), blender::nodes::node_geo_set_grease_pencil_softness_cc::node_register(), blender::nodes::node_geo_set_id_cc::node_register(), blender::nodes::node_geo_set_material_cc::node_register(), blender::nodes::node_geo_set_material_index_cc::node_register(), blender::nodes::node_geo_set_mesh_normal_cc::node_register(), blender::nodes::node_geo_set_point_radius_cc::node_register(), blender::nodes::node_geo_set_position_cc::node_register(), blender::nodes::node_geo_set_shade_smooth_cc::node_register(), blender::nodes::node_geo_set_spline_cyclic_cc::node_register(), blender::nodes::node_geo_set_spline_resolution_cc::node_register(), blender::nodes::node_geo_simulation_cc::sim_input_node::node_register(), blender::nodes::node_geo_simulation_cc::sim_output_node::node_register(), blender::nodes::node_geo_sort_elements_cc::node_register(), blender::nodes::node_geo_split_to_instances_cc::node_register(), blender::nodes::node_geo_store_named_attribute_cc::node_register(), blender::nodes::node_geo_store_named_grid_cc::node_register(), blender::nodes::node_geo_string_join_cc::node_register(), blender::nodes::node_geo_string_to_curves_cc::node_register(), blender::nodes::node_geo_subdivision_surface_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(), blender::nodes::node_geo_triangulate_cc::node_register(), blender::nodes::node_geo_uv_pack_islands_cc::node_register(), blender::nodes::node_geo_uv_unwrap_cc::node_register(), blender::nodes::node_geo_viewer_cc::node_register(), blender::nodes::node_geo_viewport_transform_cc::node_register(), blender::nodes::node_geo_volume_cube_cc::node_register(), blender::nodes::node_geo_volume_to_mesh_cc::node_register(), blender::nodes::node_geo_warning_cc::node_register(), blender::nodes::nodes_geo_import_ply::node_register(), blender::nodes::node_composite_image_coordinates_cc::register_node(), blender::nodes::node_composite_relative_to_pixel_cc::register_node(), blender::nodes::node_geo_index_switch_cc::register_node(), blender::nodes::node_geo_menu_switch_cc::register_node(), blender::nodes::node_geo_switch_cc::register_node(), blender::nodes::node_geo_transform_geometry_cc::register_node(), blender::nodes::node_geo_translate_instances_cc::register_node(), register_node_type_cmp_alphaover(), register_node_type_cmp_antialiasing(), register_node_type_cmp_bilateralblur(), register_node_type_cmp_blur(), register_node_type_cmp_bokehblur(), register_node_type_cmp_bokehimage(), register_node_type_cmp_boxmask(), register_node_type_cmp_brightcontrast(), register_node_type_cmp_channel_matte(), register_node_type_cmp_chroma_matte(), register_node_type_cmp_color_matte(), register_node_type_cmp_color_spill(), register_node_type_cmp_colorbalance(), register_node_type_cmp_colorcorrection(), register_node_type_cmp_combhsva(), register_node_type_cmp_combine_color(), register_node_type_cmp_combine_xyz(), register_node_type_cmp_combrgba(), register_node_type_cmp_combycca(), register_node_type_cmp_combyuva(), register_node_type_cmp_composite(), register_node_type_cmp_convert_color_space(), register_node_type_cmp_cornerpin(), register_node_type_cmp_crop(), register_node_type_cmp_cryptomatte(), register_node_type_cmp_cryptomatte_legacy(), register_node_type_cmp_curve_rgb(), register_node_type_cmp_curve_time(), register_node_type_cmp_curve_vec(), register_node_type_cmp_dblur(), register_node_type_cmp_defocus(), register_node_type_cmp_denoise(), register_node_type_cmp_despeckle(), register_node_type_cmp_diff_matte(), register_node_type_cmp_dilateerode(), register_node_type_cmp_displace(), register_node_type_cmp_distance_matte(), register_node_type_cmp_doubleedgemask(), register_node_type_cmp_ellipsemask(), register_node_type_cmp_exposure(), register_node_type_cmp_filter(), register_node_type_cmp_flip(), register_node_type_cmp_gamma(), register_node_type_cmp_glare(), register_node_type_cmp_group(), register_node_type_cmp_hue_sat(), register_node_type_cmp_huecorrect(), register_node_type_cmp_idmask(), register_node_type_cmp_image(), register_node_type_cmp_image_info(), register_node_type_cmp_inpaint(), register_node_type_cmp_invert(), register_node_type_cmp_keying(), register_node_type_cmp_keyingscreen(), register_node_type_cmp_kuwahara(), register_node_type_cmp_lensdist(), register_node_type_cmp_luma_matte(), register_node_type_cmp_map_range(), register_node_type_cmp_map_value(), register_node_type_cmp_mapuv(), register_node_type_cmp_mask(), register_node_type_cmp_math(), register_node_type_cmp_mix_rgb(), register_node_type_cmp_movieclip(), register_node_type_cmp_moviedistortion(), register_node_type_cmp_normal(), register_node_type_cmp_normalize(), register_node_type_cmp_output_file(), register_node_type_cmp_pixelate(), register_node_type_cmp_planetrackdeform(), register_node_type_cmp_posterize(), register_node_type_cmp_premulkey(), register_node_type_cmp_rgb(), register_node_type_cmp_rgbtobw(), register_node_type_cmp_rlayers(), register_node_type_cmp_rotate(), register_node_type_cmp_scale(), register_node_type_cmp_scene_time(), register_node_type_cmp_separate_color(), register_node_type_cmp_separate_xyz(), register_node_type_cmp_sephsva(), register_node_type_cmp_seprgba(), register_node_type_cmp_sepycca(), register_node_type_cmp_sepyuva(), register_node_type_cmp_setalpha(), register_node_type_cmp_split(), register_node_type_cmp_stabilize2d(), register_node_type_cmp_sunbeams(), register_node_type_cmp_switch(), register_node_type_cmp_switch_view(), register_node_type_cmp_texture(), register_node_type_cmp_tonemap(), register_node_type_cmp_trackpos(), register_node_type_cmp_transform(), register_node_type_cmp_translate(), register_node_type_cmp_valtorgb(), register_node_type_cmp_value(), register_node_type_cmp_vecblur(), register_node_type_cmp_view_levels(), register_node_type_cmp_viewer(), register_node_type_cmp_zcombine(), register_node_type_frame(), blender::nodes::register_node_type_geo_group(), register_node_type_group_input(), register_node_type_group_output(), register_node_type_reroute(), register_node_type_sh_add_shader(), register_node_type_sh_ambient_occlusion(), register_node_type_sh_attribute(), register_node_type_sh_background(), register_node_type_sh_bevel(), register_node_type_sh_blackbody(), register_node_type_sh_brightcontrast(), register_node_type_sh_bsdf_diffuse(), register_node_type_sh_bsdf_glass(), register_node_type_sh_bsdf_glossy(), register_node_type_sh_bsdf_hair(), register_node_type_sh_bsdf_hair_principled(), register_node_type_sh_bsdf_metallic(), register_node_type_sh_bsdf_principled(), register_node_type_sh_bsdf_ray_portal(), register_node_type_sh_bsdf_refraction(), register_node_type_sh_bsdf_sheen(), register_node_type_sh_bsdf_toon(), register_node_type_sh_bsdf_translucent(), register_node_type_sh_bsdf_transparent(), register_node_type_sh_bump(), register_node_type_sh_camera(), register_node_type_sh_clamp(), register_node_type_sh_combcolor(), register_node_type_sh_combhsv(), register_node_type_sh_combrgb(), register_node_type_sh_combxyz(), register_node_type_sh_curve_float(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_sh_displacement(), register_node_type_sh_eevee_specular(), register_node_type_sh_emission(), register_node_type_sh_fresnel(), register_node_type_sh_gamma(), register_node_type_sh_geometry(), register_node_type_sh_group(), register_node_type_sh_hair_info(), register_node_type_sh_holdout(), register_node_type_sh_hue_sat(), register_node_type_sh_invert(), register_node_type_sh_layer_weight(), register_node_type_sh_light_falloff(), register_node_type_sh_light_path(), register_node_type_sh_map_range(), register_node_type_sh_mapping(), register_node_type_sh_math(), register_node_type_sh_mix(), register_node_type_sh_mix_rgb(), register_node_type_sh_mix_shader(), register_node_type_sh_normal(), register_node_type_sh_normal_map(), register_node_type_sh_object_info(), register_node_type_sh_output_aov(), register_node_type_sh_output_light(), register_node_type_sh_output_linestyle(), register_node_type_sh_output_material(), register_node_type_sh_output_world(), register_node_type_sh_particle_info(), register_node_type_sh_point_info(), register_node_type_sh_rgb(), register_node_type_sh_rgbtobw(), register_node_type_sh_script(), register_node_type_sh_sepcolor(), register_node_type_sh_sephsv(), register_node_type_sh_seprgb(), register_node_type_sh_sepxyz(), register_node_type_sh_shadertorgb(), register_node_type_sh_squeeze(), register_node_type_sh_subsurface_scattering(), register_node_type_sh_tangent(), register_node_type_sh_tex_brick(), register_node_type_sh_tex_checker(), register_node_type_sh_tex_coord(), register_node_type_sh_tex_environment(), register_node_type_sh_tex_gradient(), register_node_type_sh_tex_ies(), register_node_type_sh_tex_image(), register_node_type_sh_tex_magic(), register_node_type_sh_tex_noise(), register_node_type_sh_tex_pointdensity(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_wave(), register_node_type_sh_tex_white_noise(), register_node_type_sh_uvalongstroke(), register_node_type_sh_uvmap(), register_node_type_sh_valtorgb(), register_node_type_sh_value(), register_node_type_sh_vect_math(), register_node_type_sh_vect_transform(), register_node_type_sh_vector_displacement(), register_node_type_sh_vector_rotate(), register_node_type_sh_vertex_color(), register_node_type_sh_volume_absorption(), register_node_type_sh_volume_coefficients(), register_node_type_sh_volume_info(), register_node_type_sh_volume_principled(), register_node_type_sh_volume_scatter(), register_node_type_sh_wavelength(), register_node_type_sh_wireframe(), register_node_type_tex_at(), register_node_type_tex_bricks(), register_node_type_tex_checker(), register_node_type_tex_combine_color(), register_node_type_tex_compose(), register_node_type_tex_coord(), register_node_type_tex_curve_rgb(), register_node_type_tex_curve_time(), register_node_type_tex_decompose(), register_node_type_tex_distance(), register_node_type_tex_group(), register_node_type_tex_hue_sat(), register_node_type_tex_image(), register_node_type_tex_invert(), register_node_type_tex_math(), register_node_type_tex_mix_rgb(), register_node_type_tex_output(), register_node_type_tex_rgbtobw(), register_node_type_tex_rotate(), register_node_type_tex_scale(), register_node_type_tex_separate_color(), register_node_type_tex_texture(), register_node_type_tex_translate(), register_node_type_tex_valtonor(), register_node_type_tex_valtorgb(), and register_node_type_tex_viewer().
Definition at line 4124 of file node.cc.
References BKE_ntree_update_tag_link_removed(), BLI_remlink(), bNodeSocket::link, bNodeTree::links, MEM_freeN(), and bNodeLink::tosock.
Referenced by ambient_occlusion_node_relink(), blo_do_versions_260(), blender::ed::space_node::connect_node_to_surface_output(), blender::ed::space_node::cut_links_exec(), blender::ed::space_node::displace_links(), displacement_node_insert(), do_version_alpha_over_remove_premultiply(), do_version_blur_defocus_nodes_remove_gamma(), do_version_blur_node_options_to_inputs(), do_version_bright_contrast_remove_premultiplied(), do_version_color_to_float_conversion(), do_version_composite_viewer_remove_alpha(), do_version_map_value_node(), do_version_mix_color_use_alpha(), do_version_replace_image_info_node_coordinates(), do_version_scale_node_remove_translate(), do_version_translate_node_remove_relative(), do_versions_material_convert_legacy_blend_mode(), blender::io::usd::dome_light_to_world_material(), blender::ed::space_node::node_group_make_from_node_declaration(), blender::ed::space_node::node_group_make_insert_selected(), blender::ed::space_node::node_group_separate_selected(), blender::ed::space_node::node_insert_on_link_flags(), node_internal_relink(), blender::ed::space_node::node_link_init(), blender::ed::space_node::node_remove_existing_links_if_needed(), node_remove_socket_ex(), node_remove_socket_links(), blender::ed::space_node::node_socket_add_replace(), blender::ed::space_node::node_socket_disconnect(), blender::ed::space_node::node_swap_links(), node_unlink_node(), ntree_shader_copy_branch(), ntree_shader_groups_remove_muted_links(), ntree_shader_implicit_closure_cast(), ntree_shader_unlink_hidden_value_sockets(), ntree_weight_tree_merge_weight(), blender::ed::space_node::pick_link(), blender::ed::space_node::viewer_linking::remove_links_to_unavailable_viewer_sockets(), blender::ed::space_node::remove_unavailable_links(), shader_node_disconnect_input(), update_mapping_node_inputs_and_properties(), update_math_node_single_operand_operators(), update_noise_and_wave_distortion(), update_vector_math_node_add_and_subtract_operators(), update_vector_math_node_average_operator(), update_vector_math_node_cross_product_operator(), update_vector_math_node_dot_product_operator(), update_vector_math_node_normalize_operator(), update_voronoi_node_coloring(), update_voronoi_node_crackle(), update_voronoi_node_square_distance(), version_principled_bsdf_specular_tint(), version_principled_bsdf_subsurface(), version_replace_texcoord_normal_socket(), version_update_node_input(), versioning_eevee_material_blend_mode_settings(), versioning_eevee_material_shadow_none(), versioning_remove_microfacet_sharp_distribution(), versioning_replace_musgrave_texture_node(), and versioning_update_noise_texture_node().
| void blender::bke::node_remove_node | ( | Main * | bmain, |
| bNodeTree & | ntree, | ||
| bNode & | node, | ||
| bool | do_id_user, | ||
| bool | remove_animation = true ) |
Delete node, associated animation data and ID user count.
Definition at line 4649 of file node.cc.
References BKE_animdata_fix_paths_remove(), BLI_assert, BLI_str_escape(), DEG_relations_tag_update(), bNode::id, bNodeTree::id, ID_TAG_LOCALIZED, id_us_min(), bNode::inputs, LISTBASE_FOREACH, MAX_IDPROP_NAME, bNode::name, node_free_node(), node_rebuild_id_vector(), node_unlink_attached(), node_unlink_node(), bNode::outputs, ptr, RNA_pointer_create_discrete(), SNPRINTF, socket_id_user_decrement(), ID::tag, and bNode::typeinfo.
Referenced by do_version_map_value_node(), blender::ed::space_node::node_delete_exec(), blender::ed::space_node::node_delete_reconnect_exec(), blender::ed::space_node::node_group_make_from_node_declaration(), blender::ed::space_node::node_group_ungroup(), blender::ed::space_node::node_remove_linked(), blender::ed::transform::special_aftertrans_update__node(), and version_geometry_nodes_replace_transfer_attribute_node().
| void blender::bke::node_remove_socket | ( | bNodeTree & | ntree, |
| bNode & | node, | ||
| bNodeSocket & | sock ) |
Definition at line 3575 of file node.cc.
References node_remove_socket_ex().
Referenced by cmp_node_image_add_pass_output(), cmp_node_image_verify_outputs(), do_version_replace_float_size_with_vector(), do_versions_nodetree_multi_file_output_format_2_62_1(), ntreeCompositCryptomatteRemoveSocket(), ntreeCompositOutputFileRemoveActiveSocket(), remove_triangulate_node_min_size_input(), blender::nodes::node_composite_file_output_cc::update_output_file(), verify_socket_template_list(), version_geometry_nodes_set_position_node_offset(), version_node_join_geometry_for_multi_input_socket(), version_principled_bsdf_subsurface(), and version_principled_transmission_roughness().
| void blender::bke::node_remove_socket_ex | ( | bNodeTree & | ntree, |
| bNode & | node, | ||
| bNodeSocket & | sock, | ||
| bool | do_id_user ) |
Definition at line 3580 of file node.cc.
References BKE_ntree_update_tag_node_internal_link(), BKE_ntree_update_tag_socket_removed(), BLI_remlink(), bNodeLink::fromsock, i, bNode::inputs, bNodeTree::links, LISTBASE_FOREACH_MUTABLE, MEM_freeN(), node_remove_link(), node_socket_free(), bNode::outputs, bNode::runtime, and bNodeLink::tosock.
Referenced by node_remove_socket(), and blender::nodes::refresh_node_sockets_and_panels().
| void blender::bke::node_remove_socket_links | ( | bNodeTree & | ntree, |
| bNodeSocket & | sock ) |
Definition at line 4150 of file node.cc.
References bNodeTree::links, LISTBASE_FOREACH_MUTABLE, and node_remove_link().
Referenced by Freestyle::BlenderStrokeRenderer::GetStrokeShader(), and blender::ed::space_node::snode_autoconnect_input().
|
static |
Definition at line 5177 of file node.cc.
References can_read_node_type(), bNode::idname, NODE_CUSTOM, NodeTypeUndefined, SNPRINTF, bNode::type_legacy, and bNode::typeinfo.
Referenced by node_tree_update_all_new().
Two active flags, ID nodes have special flag for buttons display.
Definition at line 4996 of file node.cc.
References bNode::flag, NODE_ACTIVE, NODE_ACTIVE_PAINT_CANVAS, NODE_ACTIVE_TEXTURE, node_supports_active_flag(), and SET_FLAG_FROM_TEST.
Referenced by blender::ed::space_node::add_node_group_asset(), BKE_linestyle_default_shader(), blender::io::obj::create_mtl_node_tree(), blender::eevee::DefaultSurfaceNodeTree::DefaultSurfaceNodeTree(), blender::eevee::DefaultWorldNodeTree::DefaultWorldNodeTree(), blender::io::usd::dome_light_to_world_material(), ED_node_composit_default(), ED_node_set_active(), ED_node_shader_default(), ED_node_texture_default(), Freestyle::BlenderStrokeRenderer::GetStrokeShader(), blender::io::fbx::import_material(), blender::io::usd::USDMaterialReader::import_usd_preview_nodes(), blender::ed::space_node::link_drag_search_exec_fn(), blender::eevee::LookdevWorld::LookdevWorld(), material_default_holdout_init(), material_default_surface_init(), material_default_volume_init(), blender::eevee::MaterialModule::MaterialModule(), blender::ed::space_node::node_add_collection_exec(), blender::ed::space_node::node_add_color_exec(), blender::ed::space_node::node_add_group_exec(), blender::ed::space_node::node_add_import_node_exec(), blender::ed::space_node::node_add_object_exec(), blender::ed::space_node::node_clipboard_paste_exec(), blender::ed::space_node::node_group_insert_exec(), blender::ed::space_node::node_group_make_exec(), blender::ed::space_node::node_join_exec(), blender::ed::space_node::node_socket_add_replace(), and proj_paint_add_slot().
| bool blender::bke::node_set_selected | ( | bNode & | node, |
| bool | select ) |
Selects or deselects the node. If the node is deselected, all its sockets are deselected too.
Definition at line 4967 of file node.cc.
References bNode::flag, bNode::inputs, LISTBASE_FOREACH, NODE_SELECT, bNode::outputs, select, and SET_FLAG_FROM_TEST.
Referenced by add_auto_smooth_node_tree(), blender::ed::space_node::add_node(), add_realize_node_tree(), blender::ed::space_node::add_static_node(), blender::ed::space_node::do_lasso_select_node(), blender::ed::space_node::link_drag_search_exec_fn(), blender::ed::space_node::node_add_image_exec(), blender::ed::space_node::node_box_select_exec(), blender::ed::space_node::node_circleselect_exec(), blender::ed::space_node::node_clipboard_paste_exec(), blender::ed::space_node::node_deselect_all(), blender::ed::space_node::node_duplicate_exec(), blender::ed::space_node::node_mouse_select(), blender::ed::space_node::node_select_all_exec(), blender::ed::space_node::node_select_grouped_color(), blender::ed::space_node::node_select_grouped_exec(), blender::ed::space_node::node_select_grouped_name(), blender::ed::space_node::node_select_grouped_type(), blender::ed::space_node::node_select_linked_from_exec(), blender::ed::space_node::node_select_linked_to_exec(), blender::ed::space_node::node_select_single(), blender::bke::greasepencil::convert::offset_radius_node_tree_add(), and template_texture_select().
| void blender::bke::node_set_socket_availability | ( | bNodeTree & | ntree, |
| bNodeSocket & | sock, | ||
| bool | is_available ) |
Definition at line 5011 of file node.cc.
References BKE_ntree_update_tag_socket_availability(), bNodeSocket::flag, and SOCK_UNAVAIL.
Referenced by cmp_node_image_verify_outputs(), blender::nodes::node_fn_random_value_cc::fn_node_random_value_update(), blender::nodes::node_composite_scale_cc::node_composite_update_scale(), node_math_update(), blender::nodes::node_shader_volume_coefficients_cc::node_shader_update_coefficients(), blender::nodes::node_shader_bsdf_hair_principled_cc::node_shader_update_hair_principled(), blender::nodes::node_shader_map_range_cc::node_shader_update_map_range(), blender::nodes::node_shader_mapping_cc::node_shader_update_mapping(), blender::nodes::node_shader_bsdf_metallic_cc::node_shader_update_metallic(), blender::nodes::node_shader_bsdf_principled_cc::node_shader_update_principled(), blender::nodes::node_shader_volume_scatter_cc::node_shader_update_scatter(), blender::nodes::node_shader_tex_sky_cc::node_shader_update_sky(), blender::nodes::node_shader_subsurface_scattering_cc::node_shader_update_subsurface_scattering(), blender::nodes::node_shader_tex_gabor_cc::node_shader_update_tex_gabor(), blender::nodes::node_shader_tex_noise_cc::node_shader_update_tex_noise(), blender::nodes::node_shader_tex_voronoi_cc::node_shader_update_tex_voronoi(), blender::nodes::node_shader_tex_white_noise_cc::node_shader_update_tex_white_noise(), blender::nodes::node_shader_vector_math_cc::node_shader_update_vector_math(), blender::nodes::node_shader_vector_rotate_cc::node_shader_update_vector_rotate(), blender::nodes::node_composite_colorbalance_cc::node_update(), blender::nodes::node_composite_dilate_cc::node_update(), blender::nodes::node_composite_glare_cc::node_update(), blender::nodes::node_composite_kuwahara_cc::node_update(), blender::nodes::node_composite_lensdist_cc::node_update(), blender::nodes::node_composite_mask_cc::node_update(), blender::nodes::node_composite_relative_to_pixel_cc::node_update(), blender::nodes::node_composite_tonemap_cc::node_update(), blender::nodes::node_fn_boolean_math_cc::node_update(), blender::nodes::node_fn_compare_cc::node_update(), blender::nodes::node_fn_integer_math_cc::node_update(), blender::nodes::node_fn_rotate_euler_cc::node_update(), blender::nodes::node_geo_mesh_primitive_line_cc::node_update(), and blender::nodes::node_sh_mix_cc::sh_node_mix_update().
|
static |
Definition at line 2497 of file node.cc.
References BKE_ntree_update_tag_node_type(), C, bNode::flag, NODE_INIT, node_init(), NodeTypeUndefined, bNode::storage, blender::bke::bNodeType::storagename, blender::bke::bNodeType::type_legacy, bNode::type_legacy, and bNode::typeinfo.
Referenced by node_add_node(), node_tree_set_type(), and update_typeinfo().
|
static |
Definition at line 3828 of file node.cc.
References bNodeSocket::default_attribute_name, bNodeSocket::default_value, flag, IDP_CopyProperty_ex(), LIB_ID_CREATE_NO_USER_REFCOUNT, MEM_dupallocN(), bNodeSocket::prop, bNodeSocket::runtime, SOCK_MENU, socket_id_user_increment(), bNodeSocket::stack_index, and bNodeSocket::type.
Referenced by node_copy_with_mapping().
| void blender::bke::node_socket_declarations_update | ( | bNode * | node | ) |
Update socket->declaration for all sockets in the node. This assumes that the node declaration and sockets are up to date already.
Definition at line 5058 of file node.cc.
References BLI_assert, bNode::inputs, bNode::outputs, reset_socket_declarations(), bNode::runtime, and update_socket_declarations().
Referenced by node_declaration_ensure(), and blender::nodes::refresh_node().
|
static |
Definition at line 3549 of file node.cc.
References bNodeSocket::default_attribute_name, bNodeSocket::default_value, IDP_FreePropertyContent_ex(), MEM_freeN(), bNodeSocket::prop, bNodeSocket::runtime, SOCK_MENU, socket_id_user_decrement(), and bNodeSocket::type.
Referenced by node_free_node(), and node_remove_socket_ex().
| bool blender::bke::node_socket_is_registered | ( | const bNodeSocket & | sock | ) |
Definition at line 2841 of file node.cc.
References NodeSocketTypeUndefined, and bNodeSocket::typeinfo.
| StringRefNull blender::bke::node_socket_label | ( | const bNodeSocket & | sock | ) |
Get node socket label if it is set.
Definition at line 5268 of file node.cc.
References bNodeSocket::label, and bNodeSocket::name.
Referenced by blender::ui::nodes::draw_node_input(), blender::ed::space_node::node_socket_get_label(), and blender::ed::space_node::node_socket_get_tooltip().
| int blender::bke::node_socket_link_limit | ( | const bNodeSocket & | sock | ) |
Definition at line 5025 of file node.cc.
References bNodeSocket::in_out, blender::bke::bNodeSocketType::input_link_limit, bNodeSocket::limit, blender::bke::bNodeSocketType::output_link_limit, SOCK_IN, bNodeSocket::typeinfo, and blender::bke::bNodeSocketType::use_link_limits_of_type.
Referenced by blender::ed::space_node::node_find_linkable_socket(), blender::ed::space_node::node_link_init(), blender::ed::space_node::node_remove_existing_links_if_needed(), and blender::ed::space_node::node_socket_add_replace().
| void blender::bke::node_socket_move_default_value | ( | Main & | bmain, |
| bNodeTree & | tree, | ||
| bNodeSocket & | src, | ||
| bNodeSocket & | dst ) |
Move socket default from src (input socket) to locations specified by dst (output socket). Result value moved in specific location. (potentially multiple group nodes socket values, if dst is a group input node).
Definition at line 4010 of file node.cc.
References BLI_strdup_null(), bNodeSocket::default_value, blender::CPPType::destruct(), ELEM, get_implicit_type_conversions(), MEM_SAFE_FREE, node_static_value_storage_for(), SOCK_COLLECTION, SOCK_IMAGE, SOCK_MATERIAL, SOCK_OBJECT, SOCK_STRING, SOCK_TEXTURE, socket_value_storage(), bNode::storage, tree, bNodeSocket::type, bNodeSocket::typeinfo, and blender::CPPType::value_initialize().
Referenced by blender::ed::space_node::add_group_input_node_fn(), and blender::nodes::LinkSearchOpParams::connect_available_socket().
|
static |
Definition at line 2527 of file node.cc.
References BKE_ntree_update_tag_socket_type(), bNodeSocket::default_value, node_socket_init_default_value(), NodeSocketTypeUndefined, blender::bke::bNodeSocketType::type, bNodeSocket::type, and bNodeSocket::typeinfo.
Referenced by blender::bke::forward_compat::make_socket(), make_socket(), node_modify_socket_type(), node_tree_set_type(), and update_typeinfo().
| std::optional< StringRefNull > blender::bke::node_socket_short_label | ( | const bNodeSocket & | sock | ) |
Get node socket short label if it is set. It is used when grouping sockets under panels, to avoid redundancy in the label.
Definition at line 5257 of file node.cc.
References blender::StringRefBase::is_empty(), and bNodeSocket::runtime.
Referenced by blender::ed::space_node::node_socket_get_label().
| StringRefNull blender::bke::node_socket_sub_type_label | ( | int | subtype | ) |
Definition at line 2855 of file node.cc.
References RNA_enum_name(), and rna_enum_property_subtype_items.
Referenced by make_standard_socket_type().
| bNodeSocketType * blender::bke::node_socket_type_find | ( | StringRef | idname | ) |
Definition at line 2794 of file node.cc.
References get_socket_type_map().
Referenced by blender::nodes::build_interface_socket_declaration(), blender::bke::bake::copy_bake_item_to_socket_value(), do_version_vector_sockets_dimensions(), ED_node_type_draw_color(), blender::ed::space_node::gather_socket_link_operations(), blender::bke::forward_compat::make_socket(), make_socket(), blender::nodes::decl::modify_subtype_except_for_storage(), blender::nodes::decl::modify_subtype_except_for_storage(), node_modify_socket_type(), node_socket_type_find_static(), node_tree_set_type(), blender::ed::space_node::search_link_ops_for_asset_metadata(), blender::bke::node_interface::socket_types::try_get_supported_socket_type(), and version_node_add_socket().
| bNodeSocketType * blender::bke::node_socket_type_find_static | ( | int | type, |
| int | subtype = 0 ) |
Definition at line 2803 of file node.cc.
References node_socket_type_find(), and node_static_socket_type().
Referenced by blender::bke::bake::default_initialize_socket_value(), blender::nodes::node_geo_bake_cc::get_item_cpp_type(), blender::nodes::node_geo_simulation_cc::get_simulation_item_cpp_type(), blender::nodes::node_geo_menu_switch_cc::LazyFunctionForMenuSwitchNode::LazyFunctionForMenuSwitchNode(), blender::bke::bake::move_socket_values_to_bake_items(), blender::nodes::node_geo_combine_bundle_cc::node_geo_exec(), blender::nodes::node_geo_separate_bundle_cc::node_geo_exec(), and slow_socket_type_to_geo_nodes_base_cpp_type().
| StringRefNull blender::bke::node_socket_type_label | ( | const bNodeSocketType & | stype | ) |
Definition at line 2846 of file node.cc.
References blender::bke::bNodeSocketType::ext_socket, blender::bke::bNodeSocketType::label, RNA_struct_ui_name(), and ExtensionRNA::srna.
| Span< bNodeSocketType * > blender::bke::node_socket_types_get | ( | ) |
Definition at line 2789 of file node.cc.
References get_socket_type_map().
| std::optional< StringRefNull > blender::bke::node_static_socket_interface_type_new | ( | int | type, |
| int | subtype, | ||
| std::optional< int > | dimensions = std::nullopt ) |
Definition at line 3327 of file node.cc.
References BLI_assert_unreachable, PROP_ACCELERATION, PROP_ANGLE, PROP_COLOR_TEMPERATURE, PROP_DIRECTION, PROP_DISTANCE, PROP_EULER, PROP_FACTOR, PROP_FILEPATH, PROP_FREQUENCY, PROP_NONE, PROP_PERCENTAGE, PROP_TIME, PROP_TIME_ABSOLUTE, PROP_TRANSLATION, PROP_UNSIGNED, PROP_VELOCITY, PROP_WAVELENGTH, PROP_XYZ, SOCK_BOOLEAN, SOCK_BUNDLE, SOCK_CLOSURE, SOCK_COLLECTION, SOCK_CUSTOM, SOCK_FLOAT, SOCK_GEOMETRY, SOCK_IMAGE, SOCK_INT, SOCK_MATERIAL, SOCK_MATRIX, SOCK_MENU, SOCK_OBJECT, SOCK_RGBA, SOCK_ROTATION, SOCK_SHADER, SOCK_STRING, SOCK_TEXTURE, and SOCK_VECTOR.
Referenced by make_standard_socket_type().
| std::optional< StringRefNull > blender::bke::node_static_socket_label | ( | int | type, |
| int | subtype ) |
Definition at line 3484 of file node.cc.
References SOCK_BOOLEAN, SOCK_BUNDLE, SOCK_CLOSURE, SOCK_COLLECTION, SOCK_CUSTOM, SOCK_FLOAT, SOCK_GEOMETRY, SOCK_IMAGE, SOCK_INT, SOCK_MATERIAL, SOCK_MATRIX, SOCK_MENU, SOCK_OBJECT, SOCK_RGBA, SOCK_ROTATION, SOCK_SHADER, SOCK_STRING, SOCK_TEXTURE, and SOCK_VECTOR.
Referenced by make_standard_socket_type(), and blender::nodes::socket_items::set_item_name_and_make_unique().
| std::optional< StringRefNull > blender::bke::node_static_socket_type | ( | int | type, |
| int | subtype, | ||
| std::optional< int > | dimensions = std::nullopt ) |
Definition at line 3167 of file node.cc.
References BLI_assert, BLI_assert_unreachable, PROP_ACCELERATION, PROP_ANGLE, PROP_COLOR_TEMPERATURE, PROP_DIRECTION, PROP_DISTANCE, PROP_EULER, PROP_FACTOR, PROP_FILEPATH, PROP_FREQUENCY, PROP_NONE, PROP_PERCENTAGE, PROP_TIME, PROP_TIME_ABSOLUTE, PROP_TRANSLATION, PROP_UNSIGNED, PROP_VELOCITY, PROP_WAVELENGTH, PROP_XYZ, SOCK_BOOLEAN, SOCK_BUNDLE, SOCK_CLOSURE, SOCK_COLLECTION, SOCK_CUSTOM, SOCK_FLOAT, SOCK_GEOMETRY, SOCK_IMAGE, SOCK_INT, SOCK_MATERIAL, SOCK_MATRIX, SOCK_MENU, SOCK_OBJECT, SOCK_RGBA, SOCK_ROTATION, SOCK_SHADER, SOCK_STRING, SOCK_TEXTURE, and SOCK_VECTOR.
Referenced by blender::nodes::decl::Vector::build(), do_version_replace_float_size_with_vector(), make_standard_socket_type(), blender::nodes::decl::modify_subtype_except_for_storage(), blender::nodes::decl::modify_subtype_except_for_storage(), node_add_static_socket(), node_modify_socket_type_static(), node_socket_get_static_idname(), node_socket_type_find_static(), and blender::bke::node_interface::socket_types::try_get_supported_socket_type().
|
static |
Type of value storage related with socket is the same.
| socket | Node can have multiple sockets & storages pairs. |
Definition at line 3936 of file node.cc.
References ListBase::first, FN_NODE_INPUT_BOOL, FN_NODE_INPUT_COLOR, FN_NODE_INPUT_INT, FN_NODE_INPUT_VECTOR, GEO_NODE_IMAGE, bNode::id, bNode::outputs, SH_NODE_VALUE, bNode::storage, and bNode::type_legacy.
Referenced by node_socket_move_default_value().
| bool blender::bke::node_supports_active_flag | ( | const bNode & | node, |
| int | sub_activity ) |
Does the given node supports the sub active flag.
| sub_active | The active flag to check. NODE_ACTIVE_TEXTURE / NODE_ACTIVE_PAINT_CANVAS. |
Definition at line 230 of file node_shader_util.cc.
References BLI_assert, ELEM, NODE_ACTIVE_PAINT_CANVAS, NODE_ACTIVE_TEXTURE, NODE_CLASS_TEXTURE, SH_NODE_ATTRIBUTE, SH_NODE_TEX_IMAGE, bNode::type_legacy, and bNode::typeinfo.
Referenced by node_get_active(), and node_set_active().
| void blender::bke::node_system_exit | ( | ) |
Definition at line 5620 of file node.cc.
References get_node_tree_type_map(), get_node_type_alias_map(), get_node_type_map(), get_socket_type_map(), node_free_socket_type(), node_free_type(), and ntree_free_type().
Referenced by BKE_blender_free(), blender::bke::tests::LibQueryTest::TearDownTestSuite(), blender::bke::tests::LibRemapTest::TearDownTestSuite(), and blender::nodes::tests::NodeTest::TearDownTestSuite().
| void blender::bke::node_system_init | ( | ) |
Definition at line 5615 of file node.cc.
References register_nodes().
Referenced by main(), BlendfileLoadingBaseTest::SetUpTestCase(), blender::bke::tests::LibQueryTest::SetUpTestSuite(), blender::bke::tests::LibRemapTest::SetUpTestSuite(), and blender::nodes::tests::NodeTest::SetUpTestSuite().
| void blender::bke::node_tag_update_id | ( | bNode & | node | ) |
Definition at line 5105 of file node.cc.
References NODE_UPDATE_ID, and bNode::runtime.
Referenced by blender::ed::space_node::node_add_image_exec().
| bNodeTree * blender::bke::node_tree_add_in_lib | ( | Main * | bmain, |
| Library * | owner_library, | ||
| StringRefNull | name, | ||
| StringRefNull | idname ) |
Add a new (non-embedded) node tree, like node_tree_add_tree, but allows to create it inside a given library. Used mainly by readfile code when versioning linked data.
Definition at line 4367 of file node.cc.
References node_tree_add_tree_do().
Referenced by add_auto_smooth_node_tree(), and blender::bke::greasepencil::convert::offset_radius_node_tree_add().
Definition at line 4362 of file node.cc.
References node_tree_add_tree_do().
Referenced by add_realize_node_tree(), default_paint_slot_color_get(), blender::eevee::DefaultSurfaceNodeTree::DefaultSurfaceNodeTree(), blender::eevee::DefaultWorldNodeTree::DefaultWorldNodeTree(), blender::io::usd::dome_light_to_world_material(), blender::ed::curves::ensure_surface_deformation_node_exists(), blender::ed::space_node::new_node_tree_exec(), blender::ed::space_node::node_group_make_from_nodes(), blender::ed::space_node::node_group_make_test_selected(), blender::ed::space_node::node_group_make_wrapper(), and blender::io::usd::USDPointInstancerReader::read_object_data().
|
static |
Definition at line 4325 of file node.cc.
References BKE_libblock_alloc_in_lib(), BKE_libblock_init_empty(), BLI_assert, BLI_assert_msg, blender::StringRefBase::copy_utf8_truncated(), flag, ID::flag, bNodeTree::id, ID_FLAG_EMBEDDED_DATA, ID_NT, bNodeTree::idname, LIB_ID_CREATE_NO_MAIN, node_tree_ptr_from_id(), node_tree_type_find(), ntree_set_typeinfo(), and bNodeTree::owner_id.
Referenced by node_tree_add_in_lib(), node_tree_add_tree(), and node_tree_add_tree_embedded().
| bNodeTree * blender::bke::node_tree_add_tree_embedded | ( | Main * | bmain, |
| ID * | owner_id, | ||
| StringRefNull | name, | ||
| StringRefNull | idname ) |
Definition at line 4375 of file node.cc.
References node_tree_add_tree_do().
Referenced by BKE_linestyle_default_shader(), blender::io::obj::create_mtl_node_tree(), ED_node_composit_default(), ED_node_shader_default(), ED_node_texture_default(), Freestyle::BlenderStrokeRenderer::GetStrokeShader(), blender::io::fbx::import_material(), blender::io::usd::USDMaterialReader::import_usd_preview_nodes(), blender::eevee::LookdevWorld::LookdevWorld(), material_default_holdout_init(), material_default_surface_init(), material_default_volume_init(), blender::eevee::MaterialModule::MaterialModule(), prepare_material_nodetree(), blender::nodes::tests::TEST_F(), and blender::nodes::tests::TEST_F().
|
static |
Definition at line 2339 of file node.cc.
References BLI_strdup_null(), AssetMetaData::description, bNodeTree::description, and MEM_SAFE_FREE.
|
static |
Definition at line 2327 of file node.cc.
References BLI_strdup_null(), AssetMetaData::description, bNodeTree::description, and node_update_asset_metadata().
|
static |
Definition at line 2321 of file node.cc.
References node_update_asset_metadata().
| void blender::bke::node_tree_blend_read_data | ( | BlendDataReader * | reader, |
| ID * | owner_id, | ||
| bNodeTree * | ntree ) |
Definition at line 2146 of file node.cc.
References BKE_ntree_update_tag_missing_runtime_data(), BKE_previewimg_blend_read(), BLI_assert, BLI_listbase_count(), BLO_read_fileversion_get(), BLO_read_string(), BLO_read_struct, BLO_read_struct_array, BLO_read_struct_list, CLOG_WARN, bNodeTree::description, direct_link_node_socket(), ID::flag, bNodeTree::geometry_node_asset_traits, i, bNodeTree::id, ID_FLAG_EMBEDDED_DATA, IDP_BlendDataRead, ID::lib, bNodeTree::links, LISTBASE_FOREACH, LISTBASE_FOREACH_INDEX, LISTBASE_FOREACH_MUTABLE, LOG, ID::name, bNodeTree::nested_node_refs, bNodeTree::nested_node_refs_num, node_blend_read_data_storage(), node_unique_id(), bNodeTree::nodes, bNodeTree::owner_id, bNode::parent, bNodeTree::preview, remove_unsupported_sockets(), bNodeTree::runtime, bNodeTree::tree_interface, and bNodeTree::typeinfo.
Referenced by direct_link_id_embedded_id(), and ntree_blend_read_data().
| void blender::bke::node_tree_blend_write | ( | BlendWriter * | writer, |
| bNodeTree * | ntree ) |
This is only direct data, tree itself should have been written.
Definition at line 1464 of file node.cc.
References BKE_id_blend_write(), BKE_image_format_blend_write(), BKE_previewimg_blend_write(), BLO_write_is_undo(), BLO_write_string(), BLO_write_struct, BLO_write_struct_array, CMP_NODE_IMAGE, CMP_NODE_OUTPUT_FILE, CMP_NODE_R_LAYERS, data, bNodeTree::description, ELEM, NodeImageMultiFile::format, NodeImageMultiFileSocket::format, bNodeTree::geometry_node_asset_traits, bNodeTree::id, IDP_BlendWrite(), bNodeTree::links, LISTBASE_FOREACH, bNodeTree::nested_node_refs, bNodeTree::nested_node_refs_num, node_blend_write_storage(), NTREE_SHADER, bNodeTree::preview, SH_NODE_BSDF_HAIR_PRINCIPLED, bNodeTree::tree_interface, bNodeTree::type, blender::bke::forward_compat::update_node_location_legacy(), blender::bke::forward_compat::write_compositor_legacy_properties(), blender::bke::forward_compat::write_legacy_sockets(), and write_node_socket().
Referenced by light_blend_write(), linestyle_blend_write(), material_blend_write(), ntree_blend_write(), scene_blend_write(), texture_blend_write(), and world_blend_write().
| bool blender::bke::node_tree_contains_tree | ( | const bNodeTree & | tree_to_search_in, |
| const bNodeTree & | tree_to_search_for ) |
Check recursively if a node tree contains another.
Definition at line 4935 of file node.cc.
References ntree_contains_tree_exec().
Referenced by ED_node_set_active(), and blender::ed::space_node::node_group_insert_exec().
Definition at line 4391 of file node.cc.
References node_tree_copy_tree_ex().
Referenced by ED_node_shader_default(), and blender::ed::space_node::node_group_ungroup().
| bNodeTree * blender::bke::node_tree_copy_tree_ex | ( | const bNodeTree & | ntree, |
| Main * | bmain, | ||
| bool | do_id_user ) |
Definition at line 4383 of file node.cc.
References BKE_id_copy_ex(), flag, LIB_ID_CREATE_NO_MAIN, and LIB_ID_CREATE_NO_USER_REFCOUNT.
Referenced by Freestyle::BlenderStrokeRenderer::GetStrokeShader(), and node_tree_copy_tree().
| void blender::bke::node_tree_free_embedded_tree | ( | bNodeTree * | ntree | ) |
Free tree which is embedded into another data-block.
Definition at line 4724 of file node.cc.
References BKE_libblock_free_data(), BKE_libblock_free_data_py(), bNodeTree::id, and node_tree_free_tree().
Referenced by blo_update_defaults_scene(), light_free_data(), linestyle_free_data(), material_free_data(), paste_material_exec(), scene_free_data(), texture_free_data(), world_free_data(), blender::eevee::DefaultSurfaceNodeTree::~DefaultSurfaceNodeTree(), and blender::eevee::DefaultWorldNodeTree::~DefaultWorldNodeTree().
Definition at line 4635 of file node.cc.
References BLI_assert, bNodeTree::id, ID_TAG_LOCALIZED, node_free_node(), node_rebuild_id_vector(), node_unlink_attached(), node_unlink_node(), and ID::tag.
Referenced by flatten_group_do(), localize(), localize(), ntree_shader_groups_flatten(), and ntree_shader_pruned_unused().
| void blender::bke::node_tree_free_local_tree | ( | bNodeTree * | ntree | ) |
Definition at line 4731 of file node.cc.
References BKE_libblock_free_data(), bNodeTree::id, ID_TAG_LOCALIZED, node_tree_free_tree(), and ID::tag.
Referenced by GPU_material_from_nodetree().
| void blender::bke::node_tree_free_tree | ( | bNodeTree & | ntree | ) |
Free (or release) any data used by this node-tree. Does not free the node-tree itself and does no ID user counting.
Definition at line 4718 of file node.cc.
References BKE_animdata_free(), bNodeTree::id, and ntree_free_data().
Referenced by blender::ed::space_node::compo_freejob(), default_paint_slot_color_get(), free_localized_node_groups(), localize(), blender::ed::space_node::node_group_make_test_selected(), node_tree_free_embedded_tree(), node_tree_free_local_tree(), and ntree_shader_groups_flatten().
Returns the private NodeTree object of the data-block, if it has one.
Definition at line 4840 of file node.cc.
References node_tree_ptr_from_id().
Referenced by after_liblink_id_embedded_id_process(), animdata_copy_id_action(), BKE_bpath_foreach_path_id(), BKE_id_newptr_and_tag_clear(), BKE_idtype_id_foreach_cache(), BKE_lib_id_make_local_generic(), BKE_lib_override_library_main_operations_create(), BKE_lib_override_library_make_local(), BKE_library_id_can_use_filter_id(), BKE_library_make_local(), blo_do_versions_270(), blo_do_versions_280(), BLO_main_validate_embedded_flag(), BLO_main_validate_embedded_liboverrides(), BLO_readfile_id_runtime_data_free_all(), blender::animrig::versioning::convert_legacy_action_assignments(), deg_graph_clear_id_recalc_flags(), DEG_iterator_ids_step(), direct_link_id_embedded_id(), blender::animrig::find_related_ids(), blender::bke::greasepencil::convert::legacy_gpencil_sanitize_annotations(), lib_override_library_resync(), memfile_undosys_step_decode(), blender::ed::space_node::node_foreach_id(), node_owner_pointer_get(), blender::ed::space_node::node_tree_from_ID(), blender::animrig::internal::rebuild_slot_user_cache(), and blender::animrig::versioning::tag_action_users_for_slotted_actions_conversion().
| bool blender::bke::node_tree_is_registered | ( | const bNodeTree & | ntree | ) |
Definition at line 2701 of file node.cc.
References NodeTreeTypeUndefined, and bNodeTree::typeinfo.
Referenced by blender::bke::node_field_inferencing::get_node_field_inferencing_interface().
| void blender::bke::node_tree_iterator_init | ( | NodeTreeIterStore * | ntreeiter, |
| Main * | bmain ) |
Definition at line 5655 of file node.cc.
References ListBase::first, blender::bke::NodeTreeIterStore::light, Main::lights, blender::bke::NodeTreeIterStore::linestyle, Main::linestyles, blender::bke::NodeTreeIterStore::mat, Main::materials, blender::bke::NodeTreeIterStore::ngroup, Main::nodetrees, blender::bke::NodeTreeIterStore::scene, Main::scenes, blender::bke::NodeTreeIterStore::tex, Main::textures, blender::bke::NodeTreeIterStore::world, and Main::worlds.
| bool blender::bke::node_tree_iterator_step | ( | NodeTreeIterStore * | ntreeiter, |
| bNodeTree ** | r_nodetree, | ||
| ID ** | r_id ) |
Definition at line 5665 of file node.cc.
References bNodeTree::id, FreestyleLineStyle::id, Light::id, Material::id, Scene::id, Tex::id, World::id, blender::bke::NodeTreeIterStore::light, blender::bke::NodeTreeIterStore::linestyle, blender::bke::NodeTreeIterStore::mat, ID::next, blender::bke::NodeTreeIterStore::ngroup, FreestyleLineStyle::nodetree, Light::nodetree, Material::nodetree, Scene::nodetree, Tex::nodetree, World::nodetree, blender::bke::NodeTreeIterStore::scene, blender::bke::NodeTreeIterStore::tex, and blender::bke::NodeTreeIterStore::world.
Merge local tree results back, and free local tree.
We have to assume the editor already changed completely.
Definition at line 4901 of file node.cc.
References bNodeTree::typeinfo.
Referenced by blender::ed::space_node::compo_freejob().
| bNodeTree * blender::bke::node_tree_localize | ( | bNodeTree * | ntree, |
| std::optional< ID * > | new_owner_id ) |
Returns localized tree for execution in threads.
| new_owner_id | the owner ID of the localized nodetree, may be nullopt if unknown or irrelevant. |
Definition at line 4858 of file node.cc.
References BKE_id_copy_in_lib(), ListBase::first, bNode::id, bNodeTree::id, ID_TAG_LOCALIZED, LIB_ID_COPY_LOCALIZE, LIB_ID_COPY_NO_ANIMDATA, LISTBASE_FOREACH, bNode::next, node_tree_localize(), node_tree_set_output(), bNodeTree::nodes, bNode::runtime, ID::tag, and bNodeTree::typeinfo.
Referenced by blender::ed::space_node::compo_initjob(), GPU_material_from_nodetree(), light_copy_data(), material_copy_data(), node_tree_localize(), texture_copy_data(), and world_copy_data().
| void blender::bke::node_tree_node_flag_set | ( | bNodeTree & | ntree, |
| int | flag, | ||
| bool | enable ) |
Definition at line 4846 of file node.cc.
References bNode::flag, and flag.
Referenced by blender::ed::space_node::node_link_insert_offset_ntree().
Get address of potential node-tree pointer of given ID.
Definition at line 4816 of file node.cc.
References GS, ID_LA, ID_LS, ID_MA, ID_SCE, ID_TE, and ID_WO.
Referenced by blender::deg::DepsgraphNodeBuilder::build_animation_images(), blender::deg::DepsgraphRelationBuilder::build_animation_images(), direct_link_id_embedded_id(), id_swap(), node_tree_add_tree_do(), and node_tree_from_id().
Definition at line 5714 of file node.cc.
References BLI_assert, CMP_NODE_R_LAYERS, bNode::custom1, bNode::id, Scene::id, and bNode::type_legacy.
Referenced by view_layer_remove_unset_nodetrees().
| void blender::bke::node_tree_set_output | ( | bNodeTree & | ntree | ) |
XXX: old trees handle output flags automatically based on special output node types and last active selection. New tree types have a per-output socket flag to indicate the final output to use explicitly.
Definition at line 4742 of file node.cc.
References bNode::custom1, bNode::flag, LISTBASE_FOREACH, NODE_CLASS_OUTPUT, NODE_DO_OUTPUT, NODE_VIEWER_SHORTCUT_NONE, bNodeTree::nodes, NTREE_COMPOSIT, NTREE_GEOMETRY, output, bNodeTree::type, bNode::type_legacy, and bNode::typeinfo.
Referenced by geometry_node_tree_update(), node_tree_localize(), ntreeShaderBeginExecTree_internal(), ntreeShaderOutputNode(), update(), and update().
| void blender::bke::node_tree_set_type | ( | bNodeTree & | ntree | ) |
Try to initialize all type-info in a node tree.
Definition at line 2586 of file node.cc.
References bNodeTree::idname, LISTBASE_FOREACH, node_set_typeinfo(), node_socket_set_typeinfo(), node_socket_type_find(), node_tree_type_find(), node_type_find(), and ntree_set_typeinfo().
Referenced by blo_do_versions_270(), do_versions_after_linking_270(), ntree_blend_read_after_liblink(), and version_geometry_nodes_replace_transfer_attribute_node().
| std::string blender::bke::node_tree_to_dot | ( | const bNodeTree & | tree, |
| const bNodeTreeToDotOptions & | options = bNodeTreeToDotOptions() ) |
Convert a node tree into the dot format. This can be visualized with tools like graphviz and is very useful for debugging purposes.
Definition at line 34 of file node_tree_dot_export.cc.
References blender::dot_export::NodeWithSockets::add_input(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), blender::dot_export::NodeWithSockets::add_output(), dot(), blender::dot_export::NodeWithSockets::Socket::fontcolor, blender::dot_export::NodeWithSocketsRef::input(), blender::dot_export::LeftToRight, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup(), blender::dot_export::DirectedGraph::new_edge(), blender::dot_export::Graph::new_node(), blender::dot_export::NodeWithSockets::node_name, options, blender::dot_export::NodeWithSocketsRef::output(), blender::dot_export::Graph::set_rankdir(), blender::dot_export::DirectedGraph::to_dot_string(), and tree.
Referenced by blender::bke::node_tree_reference_lifetimes::make_reference_lifetimes_info().
| void blender::bke::node_tree_type_add | ( | bNodeTreeType & | nt | ) |
Definition at line 2672 of file node.cc.
References G_MAIN, get_node_tree_type_map(), and update_typeinfo().
Referenced by register_node_tree_type_cmp(), register_node_tree_type_geo(), register_node_tree_type_sh(), and register_node_tree_type_tex().
| bNodeTreeType * blender::bke::node_tree_type_find | ( | StringRef | idname | ) |
Definition at line 2635 of file node.cc.
References get_node_tree_type_map().
Referenced by blender::ed::space_node::add_node_group_asset(), blender::ed::space_node::new_node_tree_exec(), blender::ed::space_node::node_space_icon_get(), blender::ed::space_node::node_space_name_get(), node_tree_add_tree_do(), node_tree_set_type(), and blender::ed::space_node::snode_set_context().
| void blender::bke::node_tree_type_free_link | ( | const bNodeTreeType & | nt | ) |
Definition at line 2695 of file node.cc.
References get_node_tree_type_map(), and ntree_free_type().
| Span< bNodeTreeType * > blender::bke::node_tree_types_get | ( | ) |
Definition at line 2706 of file node.cc.
References get_node_tree_type_map().
Referenced by blender::ed::space_node::node_create().
| void blender::bke::node_tree_update_all_new | ( | Main & | main | ) |
Definition at line 5190 of file node.cc.
References BKE_ntree_update(), BKE_ntree_update_tag_all(), FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, ID_TAG_NEW, main, and node_replace_undefined_types().
Referenced by blo_read_file_internal(), and library_link_end().
Definition at line 5217 of file node.cc.
References BKE_ntree_update(), BKE_ntree_update_tag_node_property(), FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, bNode::id, and main.
Referenced by libblock_remap_data_postprocess_nodetree_update().
| void blender::bke::node_type_base | ( | bNodeType & | ntype, |
| std::string | idname, | ||
| std::optional< int16_t > | legacy_type = std::nullopt ) |
Initialize a new node type struct with default values and callbacks.
Definition at line 5310 of file node.cc.
References BLI_assert, ELEM, get_next_auto_legacy_type(), blender::bke::bNodeType::idname, blender::bke::bNodeType::nclass, NODE_CLASS_CONVERTER, NODE_CUSTOM, node_poll_default(), node_poll_instance_default(), node_type_base_defaults(), NODE_UNDEFINED, blender::bke::bNodeType::poll, blender::bke::bNodeType::poll_instance, blender::bke::bNodeType::rna_ext, RNA_struct_blender_type_set(), RNA_struct_find(), ExtensionRNA::srna, and blender::bke::bNodeType::type_legacy.
Referenced by cmp_node_type_base(), fn_node_type_base(), geo_node_type_base(), register_node_type_frame(), register_node_type_group_input(), register_node_type_group_output(), register_node_type_reroute(), sh_node_type_base(), and tex_node_type_base().
| void blender::bke::node_type_base_custom | ( | bNodeType & | ntype, |
| StringRefNull | idname, | ||
| StringRefNull | name, | ||
| StringRefNull | enum_name, | ||
| short | nclass ) |
Definition at line 5340 of file node.cc.
References blender::StringRefNull::c_str(), blender::bke::bNodeType::enum_name_legacy, blender::bke::bNodeType::idname, blender::bke::bNodeType::nclass, NODE_CUSTOM, node_type_base_defaults(), blender::bke::bNodeType::type_legacy, and blender::bke::bNodeType::ui_name.
Referenced by register_node_type_cmp_group(), blender::nodes::register_node_type_geo_group(), register_node_type_sh_group(), register_node_type_tex_group(), and register_undefined_types().
|
static |
Definition at line 5273 of file node.cc.
References Default, FLT_MAX, blender::bke::bNodeType::height, blender::bke::bNodeType::maxheight, blender::bke::bNodeType::minheight, and node_type_size_preset().
Referenced by node_type_base(), and node_type_base_custom().
Definition at line 2711 of file node.cc.
References get_node_type_map().
Referenced by can_read_node_type(), blender::bke::node_tree_runtime::get_implicit_origin_nodes(), blender::bke::bNodeType::is_type(), node_add_node(), node_blend_read_data_storage(), node_tree_set_type(), pyrna_struct_bl_rna_get_subclass(), blender::bke::node_tree_runtime::update_group_output_node(), and version_node_add_empty().
| StringRefNull blender::bke::node_type_find_alias | ( | StringRefNull | alias | ) |
Definition at line 2720 of file node.cc.
References get_node_type_alias_map().
Referenced by pyrna_struct_bl_rna_get_subclass().
| void blender::bke::node_type_size | ( | bNodeType & | ntype, |
| int | width, | ||
| int | minwidth, | ||
| int | maxwidth ) |
Definition at line 5573 of file node.cc.
References FLT_MAX, blender::bke::bNodeType::maxwidth, blender::bke::bNodeType::minwidth, and blender::bke::bNodeType::width.
Referenced by blender::nodes::node_geo_curves_to_grease_pencil_cc::node_register(), blender::nodes::node_geo_deform_curves_on_surface_cc::node_register(), blender::nodes::node_geo_distribute_points_in_grid_cc::node_register(), blender::nodes::node_geo_distribute_points_in_volume_cc::node_register(), blender::nodes::node_geo_distribute_points_on_faces_cc::node_register(), blender::nodes::node_geo_edge_paths_to_selection_cc::node_register(), blender::nodes::node_geo_geometry_to_instance_cc::node_register(), blender::nodes::node_geo_grease_pencil_set_depth_mode::node_register(), blender::nodes::node_geo_grease_pencil_to_curves_cc::node_register(), blender::nodes::node_geo_input_named_layer_selection__cc::node_register(), blender::nodes::node_geo_mesh_to_volume_cc::node_register(), blender::nodes::node_geo_points_to_volume_cc::node_register(), blender::nodes::node_geo_remove_attribute_cc::node_register(), blender::nodes::node_geo_set_grease_pencil_color_cc::node_register(), blender::nodes::node_geo_set_grease_pencil_softness_cc::node_register(), blender::nodes::node_geo_set_instance_transform_cc::node_register(), blender::nodes::node_geo_store_named_attribute_cc::node_register(), blender::nodes::node_geo_string_to_curves_cc::node_register(), blender::nodes::node_geo_volume_to_mesh_cc::node_register(), node_type_size_preset(), register_node_type_cmp_antialiasing(), register_node_type_cmp_cryptomatte(), register_node_type_cmp_curve_rgb(), register_node_type_cmp_curve_time(), register_node_type_cmp_curve_vec(), register_node_type_cmp_group(), register_node_type_cmp_huecorrect(), register_node_type_cmp_valtorgb(), register_node_type_frame(), blender::nodes::register_node_type_geo_group(), register_node_type_group_input(), register_node_type_group_output(), register_node_type_sh_bsdf_hair(), register_node_type_sh_group(), register_node_type_tex_at(), and register_node_type_tex_group().
| void blender::bke::node_type_size_preset | ( | bNodeType & | ntype, |
| eNodeSizePreset | size ) |
Definition at line 5585 of file node.cc.
References Default, Large, Middle, NODE_DEFAULT_MAX_WIDTH, node_type_size(), size(), and Small.
Referenced by blender::nodes::node_geo_image_cc::node_register(), blender::nodes::node_geo_image_info_cc::node_register(), blender::nodes::node_geo_image_texture_cc::node_register(), blender::nodes::node_geo_input_curve_handles_cc::node_register(), blender::nodes::node_geo_input_mesh_face_neighbors_cc::node_register(), blender::nodes::node_geo_mesh_face_group_boundaries_cc::node_register(), blender::nodes::node_geo_raycast_cc::node_register(), blender::nodes::node_geo_sample_nearest_surface_cc::node_register(), blender::nodes::node_geo_subdivision_surface_cc::node_register(), node_type_base_defaults(), register_node_type_cmp_convert_color_space(), register_node_type_cmp_rgb(), register_node_type_cmp_rgbtobw(), register_node_type_cmp_rlayers(), register_node_type_cmp_switch(), register_node_type_cmp_value(), register_node_type_sh_blackbody(), register_node_type_sh_bsdf_diffuse(), register_node_type_sh_bsdf_glass(), register_node_type_sh_bsdf_glossy(), register_node_type_sh_bsdf_hair_principled(), register_node_type_sh_bsdf_metallic(), register_node_type_sh_bsdf_principled(), register_node_type_sh_bsdf_refraction(), register_node_type_sh_bsdf_toon(), register_node_type_sh_curve_float(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_sh_hue_sat(), register_node_type_sh_light_falloff(), register_node_type_sh_normal_map(), register_node_type_sh_subsurface_scattering(), register_node_type_sh_tangent(), register_node_type_sh_tex_brick(), register_node_type_sh_tex_environment(), register_node_type_sh_tex_image(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_wave(), register_node_type_sh_uvmap(), register_node_type_sh_valtorgb(), register_node_type_sh_volume_coefficients(), register_node_type_sh_volume_principled(), register_node_type_sh_volume_scatter(), register_node_type_sh_wavelength(), register_node_type_tex_bricks(), register_node_type_tex_curve_rgb(), register_node_type_tex_curve_time(), register_node_type_tex_hue_sat(), register_node_type_tex_output(), and register_node_type_tex_valtorgb().
| void blender::bke::node_type_socket_templates | ( | bNodeType * | ntype, |
| bNodeSocketTemplate * | inputs, | ||
| bNodeSocketTemplate * | outputs ) |
Definition at line 5541 of file node.cc.
References blender::bke::bNodeType::inputs, inputs, blender::bke::bNodeType::outputs, outputs, STRNCPY(), and unique_socket_template_identifier().
Referenced by register_node_type_cmp_cryptomatte_legacy(), register_node_type_cmp_rlayers(), register_node_type_tex_at(), register_node_type_tex_bricks(), register_node_type_tex_checker(), register_node_type_tex_combine_color(), register_node_type_tex_compose(), register_node_type_tex_coord(), register_node_type_tex_curve_rgb(), register_node_type_tex_curve_time(), register_node_type_tex_decompose(), register_node_type_tex_distance(), register_node_type_tex_hue_sat(), register_node_type_tex_image(), register_node_type_tex_invert(), register_node_type_tex_math(), register_node_type_tex_mix_rgb(), register_node_type_tex_output(), register_node_type_tex_rgbtobw(), register_node_type_tex_rotate(), register_node_type_tex_scale(), register_node_type_tex_separate_color(), register_node_type_tex_texture(), register_node_type_tex_translate(), register_node_type_tex_valtonor(), register_node_type_tex_valtorgb(), and register_node_type_tex_viewer().
| void blender::bke::node_type_storage | ( | bNodeType & | ntype, |
| std::optional< StringRefNull > | storagename, | ||
| void(* | freefunc )(bNode *node), | ||
| void(* | copyfunc )(bNodeTree *dest_ntree, bNode *dest_node, const bNode *src_node) ) |
Definition at line 5603 of file node.cc.
References blender::bke::bNodeType::copyfunc, blender::bke::bNodeType::freefunc, and blender::bke::bNodeType::storagename.
Referenced by blender::nodes::node_fn_combine_color_cc::node_register(), blender::nodes::node_fn_compare_cc::node_register(), blender::nodes::node_fn_format_string_cc::node_register(), blender::nodes::node_fn_input_bool_cc::node_register(), blender::nodes::node_fn_input_color_cc::node_register(), blender::nodes::node_fn_input_int_cc::node_register(), blender::nodes::node_fn_input_rotation_cc::node_register(), blender::nodes::node_fn_input_string_cc::node_register(), blender::nodes::node_fn_input_vector_cc::node_register(), blender::nodes::node_fn_random_value_cc::node_register(), blender::nodes::node_fn_separate_color_cc::node_register(), blender::nodes::node_geo_accumulate_field_cc::node_register(), blender::nodes::node_geo_attribute_capture_cc::node_register(), blender::nodes::node_geo_bake_cc::node_register(), blender::nodes::node_geo_closure_cc::input_node::node_register(), blender::nodes::node_geo_closure_cc::output_node::node_register(), blender::nodes::node_geo_collection_info_cc::node_register(), blender::nodes::node_geo_combine_bundle_cc::node_register(), blender::nodes::node_geo_curve_fill_cc::node_register(), blender::nodes::node_geo_curve_fillet_cc::node_register(), blender::nodes::node_geo_curve_handle_type_selection_cc::node_register(), blender::nodes::node_geo_curve_primitive_arc_cc::node_register(), blender::nodes::node_geo_curve_primitive_bezier_segment_cc::node_register(), blender::nodes::node_geo_curve_primitive_circle_cc::node_register(), blender::nodes::node_geo_curve_primitive_line_cc::node_register(), blender::nodes::node_geo_curve_primitive_quadrilateral_cc::node_register(), blender::nodes::node_geo_curve_resample_cc::node_register(), blender::nodes::node_geo_curve_sample_cc::node_register(), blender::nodes::node_geo_curve_set_handle_type_cc::node_register(), blender::nodes::node_geo_curve_spline_type_cc::node_register(), blender::nodes::node_geo_curve_to_points_cc::node_register(), blender::nodes::node_geo_curve_trim_cc::node_register(), blender::nodes::node_geo_delete_geometry_cc::node_register(), blender::nodes::node_geo_distribute_points_in_volume_cc::node_register(), blender::nodes::node_geo_duplicate_elements_cc::node_register(), blender::nodes::node_geo_evaluate_closure_cc::node_register(), blender::nodes::node_geo_extrude_mesh_cc::node_register(), blender::nodes::node_geo_foreach_geometry_element_cc::input_node::node_register(), blender::nodes::node_geo_foreach_geometry_element_cc::output_node::node_register(), blender::nodes::node_geo_gizmo_dial_cc::node_register(), blender::nodes::node_geo_gizmo_linear_cc::node_register(), blender::nodes::node_geo_gizmo_transform_cc::node_register(), blender::nodes::node_geo_image_texture_cc::node_register(), blender::nodes::node_geo_input_named_attribute_cc::node_register(), blender::nodes::node_geo_merge_by_distance_cc::node_register(), blender::nodes::node_geo_merge_layers_cc::node_register(), blender::nodes::node_geo_mesh_primitive_circle_cc::node_register(), blender::nodes::node_geo_mesh_primitive_cone_cc::node_register(), blender::nodes::node_geo_mesh_primitive_cylinder_cc::node_register(), blender::nodes::node_geo_mesh_primitive_line_cc::node_register(), blender::nodes::node_geo_mesh_to_points_cc::node_register(), blender::nodes::node_geo_mesh_to_volume_cc::node_register(), blender::nodes::node_geo_object_info_cc::node_register(), blender::nodes::node_geo_points_to_volume_cc::node_register(), blender::nodes::node_geo_proximity_cc::node_register(), blender::nodes::node_geo_raycast_cc::node_register(), blender::nodes::node_geo_repeat_cc::repeat_input_node::node_register(), blender::nodes::node_geo_repeat_cc::repeat_output_node::node_register(), blender::nodes::node_geo_sample_index_cc::node_register(), blender::nodes::node_geo_separate_bundle_cc::node_register(), blender::nodes::node_geo_separate_geometry_cc::node_register(), blender::nodes::node_geo_set_curve_handles_cc::node_register(), blender::nodes::node_geo_simulation_cc::sim_input_node::node_register(), blender::nodes::node_geo_simulation_cc::sim_output_node::node_register(), blender::nodes::node_geo_store_named_attribute_cc::node_register(), blender::nodes::node_geo_string_to_curves_cc::node_register(), blender::nodes::node_geo_subdivision_surface_cc::node_register(), blender::nodes::node_geo_uv_unwrap_cc::node_register(), blender::nodes::node_geo_viewer_cc::node_register(), blender::nodes::node_geo_volume_to_mesh_cc::node_register(), blender::nodes::node_geo_index_switch_cc::register_node(), blender::nodes::node_geo_menu_switch_cc::register_node(), blender::nodes::node_geo_switch_cc::register_node(), register_node_type_cmp_blur(), register_node_type_cmp_channel_matte(), register_node_type_cmp_color_spill(), register_node_type_cmp_combine_color(), register_node_type_cmp_convert_color_space(), register_node_type_cmp_cryptomatte(), register_node_type_cmp_cryptomatte_legacy(), register_node_type_cmp_curve_rgb(), register_node_type_cmp_curve_time(), register_node_type_cmp_curve_vec(), register_node_type_cmp_defocus(), register_node_type_cmp_denoise(), register_node_type_cmp_dilateerode(), register_node_type_cmp_distance_matte(), register_node_type_cmp_glare(), register_node_type_cmp_huecorrect(), register_node_type_cmp_image(), register_node_type_cmp_keying(), register_node_type_cmp_keyingscreen(), register_node_type_cmp_kuwahara(), register_node_type_cmp_lensdist(), register_node_type_cmp_map_value(), register_node_type_cmp_movieclip(), register_node_type_cmp_moviedistortion(), register_node_type_cmp_output_file(), register_node_type_cmp_planetrackdeform(), register_node_type_cmp_rlayers(), register_node_type_cmp_scale(), register_node_type_cmp_separate_color(), register_node_type_cmp_setalpha(), register_node_type_cmp_tonemap(), register_node_type_cmp_trackpos(), register_node_type_cmp_translate(), register_node_type_cmp_valtorgb(), register_node_type_cmp_viewer(), register_node_type_frame(), register_node_type_sh_attribute(), register_node_type_sh_bsdf_hair_principled(), register_node_type_sh_combcolor(), register_node_type_sh_curve_float(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_sh_map_range(), register_node_type_sh_mix(), register_node_type_sh_normal_map(), register_node_type_sh_output_aov(), register_node_type_sh_script(), register_node_type_sh_sepcolor(), register_node_type_sh_tangent(), register_node_type_sh_tex_brick(), register_node_type_sh_tex_checker(), register_node_type_sh_tex_environment(), register_node_type_sh_tex_gradient(), register_node_type_sh_tex_ies(), register_node_type_sh_tex_image(), register_node_type_sh_tex_magic(), register_node_type_sh_tex_noise(), register_node_type_sh_tex_pointdensity(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_wave(), register_node_type_sh_uvmap(), register_node_type_sh_valtorgb(), register_node_type_sh_vect_transform(), register_node_type_sh_vertex_color(), register_node_type_tex_curve_rgb(), register_node_type_tex_curve_time(), register_node_type_tex_image(), register_node_type_tex_output(), and register_node_type_tex_valtorgb().
Definition at line 2779 of file node.cc.
References get_node_type_map().
Referenced by ED_node_init_butfuncs(), blender::ed::space_node::gather_socket_link_operations(), get_known_node_types_set(), node_add_static_node(), blender::ed::space_node::node_operatortypes(), and blender::ed::space_node::ui_node_menu_column().
Create a new unique integer identifier for the node. Also set the node's index in the tree, which is an eagerly maintained cache.
Definition at line 3770 of file node.cc.
References BLI_assert, BLI_time_now_seconds(), blender::RandomNumberGenerator::get_int32(), bNode::identifier, bNode::runtime, and bNodeTree::runtime.
Referenced by flatten_group_do(), node_add_node(), node_copy_with_mapping(), blender::ed::space_node::node_group_make_insert_selected(), blender::ed::space_node::node_group_separate_selected(), blender::ed::space_node::node_group_ungroup(), node_tree_blend_read_data(), ntree_shader_copy_branch(), version_add_group_in_out_node(), and version_node_add_empty().
Find the first available, non-duplicate name for a given node.
Definition at line 3764 of file node.cc.
References BLI_uniquename(), DATA_, bNode::name, bNodeTree::nodes, and offsetof.
Referenced by blender::ed::space_node::add_node_group_asset(), blo_do_versions_250(), blo_do_versions_260(), ED_node_shader_default(), node_copy_with_mapping(), blender::ed::space_node::node_group_make_from_node_declaration(), blender::ed::space_node::node_group_make_insert_selected(), blender::ed::space_node::node_group_separate_selected(), blender::ed::space_node::node_group_ungroup(), node_init(), and version_node_add_empty().
Definition at line 4559 of file node.cc.
References node_detach_node(), and bNode::parent.
Referenced by node_remove_node(), and node_tree_free_local_node().
Definition at line 4532 of file node.cc.
References adjust_multi_input_indices_after_removed_link(), bNode::inputs, bNodeTree::links, LISTBASE_FOREACH, LISTBASE_FOREACH_MUTABLE, node_remove_link(), and bNode::outputs.
Referenced by node_remove_node(), and node_tree_free_local_node().
| void blender::bke::node_unregister_socket_type | ( | bNodeSocketType & | stype | ) |
Definition at line 2835 of file node.cc.
References get_socket_type_map(), and node_free_socket_type().
| void blender::bke::node_unregister_type | ( | bNodeType & | ntype | ) |
Definition at line 2773 of file node.cc.
References get_node_type_map(), and node_free_type().
| void blender::bke::node_update_asset_metadata | ( | bNodeTree & | node_tree | ) |
Update asset meta-data cache of data-block properties.
Definition at line 2289 of file node.cc.
References ID::asset_data, BKE_asset_metadata_idprop_ensure(), blender::bke::idprop::create(), blender::bke::idprop::create_group(), GeometryNodeAssetTraits::flag, bNodeTree::geometry_node_asset_traits, bNodeTree::id, IDP_AddToGroup(), IDP_FreeProperty(), inputs, outputs, and bNodeTree::type.
Referenced by node_tree_asset_on_mark_asset(), and node_tree_asset_pre_save().
|
static |
Definition at line 54 of file curve_legacy_convert.cc.
References BLI_assert_unreachable, CU_TWIST_MINIMUM, CU_TWIST_TANGENT, CU_TWIST_Z_UP, NORMAL_MODE_MINIMUM_TWIST, and NORMAL_MODE_Z_UP.
Referenced by curve_legacy_to_curves().
|
static |
Definition at line 942 of file curves_geometry.cc.
References data, i, blender::math::normalize(), and normalize_span().
Referenced by blender::bke::CurvesGeometry::evaluated_normals(), and normalize_span().
|
static |
Definition at line 1622 of file mesh_normals.cc.
References normalize_vecs(), normals, and blender::threading::parallel_for().
Referenced by mesh_set_custom_normals(), mesh_set_custom_normals_from_verts(), and normalize_vecs().
|
static |
Definition at line 2266 of file node.cc.
References BLO_read_lib_is_undo(), LISTBASE_FOREACH, node_tree_set_type(), node_verify_sockets(), and bNodeTree::nodes.
|
static |
Definition at line 2260 of file node.cc.
References node_tree_blend_read_data().
|
static |
Definition at line 1539 of file node.cc.
References BLO_write_id_struct, BLO_write_is_undo(), blender::bke::forward_compat::cleanup_legacy_sockets(), blender::bke::forward_compat::construct_interface_as_legacy_sockets(), bNodeTree::id, node_tree_blend_write(), bNodeTree::runtime, and bNodeTree::typeinfo.
|
static |
Definition at line 4910 of file node.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), and ntree_contains_tree_exec().
Referenced by node_tree_contains_tree(), and ntree_contains_tree_exec().
|
static |
Definition at line 142 of file node.cc.
References blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), BKE_previewimg_id_copy(), BLI_addtail(), BLI_assert, BLI_listbase_clear(), BLI_strdup_null(), bNodeTree::description, ELEM, blender::bke::bNodeTreeRuntime::field_inferencing_interface, flag, bNodeLink::fromnode, bNodeLink::fromsock, bNodeTree::geometry_node_asset_traits, i, bNodeTree::id, LIB_ID_COPY_NO_PREVIEW, LIB_ID_CREATE_NO_USER_REFCOUNT, bNodeSocket::link, bNodeTree::links, LISTBASE_FOREACH, LISTBASE_FOREACH_INDEX, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup(), blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_key_as(), MEM_dupallocN(), MEM_malloc_arrayN(), bNodeTree::nested_node_refs, bNodeTree::nested_node_refs_num, node_copy_with_mapping(), node_declaration_ensure(), bNodeTree::nodes, blender::bke::bNodeTreeRuntime::nodes_by_id, bNodeTree::preview, blender::bke::bNodeTreeRuntime::previews, blender::bke::bNodeTreeRuntime::reference_lifetimes_info, blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::reserve(), bNode::runtime, bNodeTree::runtime, blender::bke::bNodeTreeRuntime::structure_type_interface, bNodeLink::tonode, bNodeLink::tosock, bNodeTree::tree_interface, and blender::uninitialized_copy_n().
|
static |
Definition at line 250 of file node.cc.
References BKE_libblock_free_data(), BKE_previewimg_free(), BLI_freelistN(), bNodeTree::description, free_localized_node_groups(), bNodeTree::geometry_node_asset_traits, bNodeTree::id, ID_TAG_LOCALIZED, bNodeTree::links, LISTBASE_FOREACH_MUTABLE, MEM_freeN(), MEM_SAFE_FREE, bNodeTree::nested_node_refs, node_free_node(), bNodeTree::nodes, NTREE_SHADER, NTREE_TEXTURE, ntreeShaderEndExecTree(), ntreeTexEndExecTree(), bNodeTree::preview, bNodeTree::runtime, ID::tag, bNodeTree::tree_interface, and bNodeTree::type.
Referenced by node_tree_free_tree().
|
static |
Definition at line 2681 of file node.cc.
References defer_free_tree_type(), G_MAIN, and update_typeinfo().
Referenced by node_system_exit(), and node_tree_type_free_link().
|
static |
Definition at line 133 of file node.cc.
References bNodeTree::default_group_node_width, GROUP_NODE_DEFAULT_WIDTH, ntree_set_typeinfo(), bNodeTree::runtime, and bNodeTree::tree_interface.
|
static |
Definition at line 2483 of file node.cc.
References BKE_ntree_update_tag_all(), NodeTreeTypeUndefined, bNodeTree::type, and bNodeTree::typeinfo.
Referenced by node_tree_add_tree_do(), node_tree_set_type(), ntree_init_data(), and update_typeinfo().
|
static |
Definition at line 1062 of file mesh_data_update.cc.
References BKE_paint_select_face_test(), BKE_view_layer_active_object_get(), BKE_view_layer_synced_ensure(), CD_MASK_MDEFORMVERT, CD_MASK_MTFACE, CD_MASK_MVERT_SKIN, CD_MASK_PROP_BYTE_COLOR, CD_MASK_PROP_FLOAT2, DEG_get_customdata_mask_for_object(), DEG_get_evaluated_scene(), DEG_get_evaluated_view_layer(), DEG_get_original(), DEG_is_active(), depsgraph, CustomData_MeshMasks::fmask, CustomData_MeshMasks::lmask, Object::mode, OB_MODE_EDIT, OB_MODE_TEXTURE_PAINT, OB_MODE_VERTEX_PAINT, OB_MODE_WEIGHT_PAINT, and CustomData_MeshMasks::vmask.
Referenced by editbmesh_get_eval_cage(), mesh_data_update(), and mesh_get_eval_deform().
| GeometrySet blender::bke::object_get_evaluated_geometry_set | ( | const Object & | object, |
| bool | apply_subdiv = true ) |
Definition at line 42 of file geometry_set_instances.cc.
References add_final_mesh_as_geometry_component(), DEG_object_geometry_is_evaluated(), blender::bke::GeometrySet::from_instances(), blender::bke::GeometrySet::has_mesh(), blender::MatBase< float, 4, 4 >::identity(), OB_EMPTY, OB_MESH, and OB_MODE_EDIT.
Referenced by BKE_pointcloud_to_mesh(), BPy_GeometrySet_static_from_evaluated_object(), blender::io::usd::USDPointInstancerWriter::do_write(), blender::bke::Instances::ensure_geometry_instances(), blender::ed::view3d::geometry_nodes_gizmos::find_geometry_for_gizmo(), blender::bke::Instances::foreach_referenced_geometry(), blender::nodes::node_geo_input_instance_bounds_cc::InstanceBoundsField::get_varray_for_context(), blender::io::HierarchyContext::is_point_instancer(), blender::nodes::node_geo_boolean_cc::node_geo_exec(), blender::nodes::node_geo_object_info_cc::node_geo_exec(), blender::ed::spreadsheet::spreadsheet_get_display_geometry_set(), blender::bke::InstanceReference::to_geometry_set(), and blender::ed::object::visual_geometry_to_objects_exec().
| bool blender::bke::object_has_geometry_set_instances | ( | const Object & | object | ) |
Definition at line 832 of file geometry_set.cc.
References ELEM, blender::bke::GeometrySet::has_component(), OB_CURVES_LEGACY, OB_FONT, OB_GREASE_PENCIL, OB_MESH, OB_POINTCLOUD, and OB_VOLUME.
Referenced by BKE_object_visibility(), get_dupli_generator(), blender::ed::transform::iter_snap_objects(), and blender::ed::object::make_object_duplilist_real().
|
static |
Definition at line 244 of file curve_to_mesh_convert.cc.
References i, blender::offset_indices::OffsetIndices< T >::index_range(), and size().
| std::ostream & blender::bke::operator<< | ( | std::ostream & | stream, |
| const bNodeTreeZone & | zone ) |
Definition at line 613 of file node_tree_zones.cc.
| std::ostream & blender::bke::operator<< | ( | std::ostream & | stream, |
| const bNodeTreeZones & | zones ) |
Definition at line 602 of file node_tree_zones.cc.
| std::ostream & blender::bke::operator<< | ( | std::ostream & | stream, |
| const GeometrySet & | geometry_set ) |
Definition at line 227 of file geometry_set.cc.
| std::ostream & blender::bke::operator<< | ( | std::ostream & | stream, |
| const SocketValueVariant & | value_variant ) |
Definition at line 381 of file node_socket_value.cc.
| bool blender::bke::operator== | ( | const InstanceReference & | a, |
| const InstanceReference & | b ) |
Definition at line 134 of file instances.cc.
|
static |
Definition at line 158 of file mesh_data_update.cc.
References CD_CONSTRUCT, CustomData_add_layer(), CustomData_get_layer_for_write(), and data.
Referenced by add_orco_mesh().
| const AttributeAccessorFunctions & blender::bke::pointcloud_attribute_accessor_functions | ( | ) |
Definition at line 99 of file pointcloud_attributes.cc.
References get_pointcloud_accessor_functions().
Referenced by blender::bke::PointCloudComponent::attributes(), and blender::bke::PointCloudComponent::attributes_for_write().
| void blender::bke::pointcloud_convert_customdata_to_storage | ( | PointCloud & | pointcloud | ) |
See mesh_convert_customdata_to_storage.
Definition at line 294 of file attribute_legacy_convert.cc.
References attribute_legacy_convert_customdata_to_storage(), PointCloud::attribute_storage, PointCloud::pdata, Point, pointcloud_convert_customdata_to_storage(), and PointCloud::totpoint.
Referenced by pointcloud_convert_customdata_to_storage().
| void blender::bke::pointcloud_convert_storage_to_customdata | ( | PointCloud & | pointcloud | ) |
See mesh_convert_storage_to_customdata.
Definition at line 288 of file attribute_legacy_convert.cc.
References PointCloud::attribute_storage, convert_storage_to_customdata(), and pointcloud_convert_storage_to_customdata().
Referenced by pointcloud_blend_read_data(), and pointcloud_convert_storage_to_customdata().
| PointCloud * blender::bke::pointcloud_new_no_attributes | ( | int | totpoint | ) |
Definition at line 502 of file pointcloud.cc.
References BKE_id_new_nomain(), and PointCloud::totpoint.
Referenced by blender::nodes::node_geo_curve_to_points_cc::curves_to_points(), blender::nodes::node_geo_mesh_to_points_cc::geometry_set_mesh_to_points(), blender::geometry::reorder_points(), and blender::bke::bake::try_load_pointcloud().
|
static |
Definition at line 515 of file type_conversions.cc.
References blender::math::to_euler().
|
static |
Definition at line 519 of file type_conversions.cc.
|
static |
Definition at line 523 of file type_conversions.cc.
References blender::math::from_rotation().
|
static |
Definition at line 213 of file attribute_storage.cc.
References BLO_read_float3_array(), BLO_read_float_array(), BLO_read_int16_array(), BLO_read_int32_array(), BLO_read_int8_array(), BLO_read_struct_array, BLO_read_uint8_array(), Bool, ColorByte, ColorFloat, data, Float, Float2, Float3, Float4x4, Int16_2D, Int32, Int32_2D, Int8, Quaternion, size(), and String.
Referenced by read_shared_array().
|
static |
Definition at line 283 of file attribute_storage.cc.
References Array, BLO_read_struct, Attribute::data, data, read_shared_array(), and Single.
Referenced by blender::bke::AttributeStorage::blend_read().
|
static |
Definition at line 328 of file attribute_storage.cc.
References Corner, Curve, Edge, Face, Instance, Layer, and Point.
Referenced by blender::bke::AttributeStorage::blend_read().
|
static |
Definition at line 581 of file blenkernel/intern/action.cc.
References BKE_fcurve_blend_read_data(), BLO_read_pointer_array(), BLO_read_struct, bActionGroup::channelbag, bActionGroup::channels, ActionChannelbag::fcurve_array, ActionChannelbag::fcurve_array_num, ActionChannelbag::group_array, ActionChannelbag::group_array_num, i, FCurve::next, and FCurve::prev.
Referenced by read_strip_keyframe_data().
|
static |
Definition at line 637 of file blenkernel/intern/action.cc.
References BLO_read_pointer_array(), BLO_read_struct, bAction::layer_array, bAction::layer_array_num, ActionLayer::strip_array, and ActionLayer::strip_array_num.
Referenced by action_blend_read_data().
|
static |
Definition at line 266 of file attribute_storage.cc.
References attribute_type_to_cpp_type(), BLO_read_shared(), data, read_array_data(), and size().
Referenced by read_attr_data().
|
static |
Definition at line 666 of file blenkernel/intern/action.cc.
References BLI_endian_switch_int16(), BLO_read_pointer_array(), BLO_read_requires_endian_switch(), BLO_read_struct, i, ActionSlot::idtype, bAction::slot_array, and bAction::slot_array_num.
Referenced by action_blend_read_data().
|
static |
Definition at line 610 of file blenkernel/intern/action.cc.
References BLO_read_pointer_array(), BLO_read_struct, ActionStripKeyframeData::channelbag_array, ActionStripKeyframeData::channelbag_array_num, i, and read_channelbag().
Referenced by read_strip_keyframe_data_array().
|
static |
Definition at line 624 of file blenkernel/intern/action.cc.
References BLO_read_pointer_array(), BLO_read_struct, i, read_strip_keyframe_data(), bAction::strip_keyframe_data_array, and bAction::strip_keyframe_data_array_num.
Referenced by action_blend_read_data().
| void blender::bke::register_node_zone_type | ( | const bNodeZoneType & | zone_type | ) |
Definition at line 510 of file node_tree_zones.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), and get_zone_types_vector().
Referenced by register_zone_types().
|
static |
Definition at line 60 of file geometry_component_edit_data.cc.
References blender::bke::GeometryComponentEditData::curves_edit_hints_, blender::bke::CurvesEditHints::curves_id_orig, Curves::geometry, CurvesGeometry::point_num, blender::bke::CurvesEditHints::positions(), blender::bke::CurvesEditHints::positions_data, and save_shared_attribute().
Referenced by blender::bke::GeometryComponentEditData::remember_deformed_positions_if_necessary().
|
static |
Definition at line 81 of file geometry_component_edit_data.cc.
References blender::bke::GreasePencilDrawingEditHints::drawing_orig, blender::bke::GeometryComponentEditData::grease_pencil_edit_hints_, blender::Span< T >::index_range(), blender::bke::CurvesGeometry::points_num(), blender::bke::GreasePencilDrawingEditHints::positions_data, GreasePencil::runtime, GreasePencilLayer::runtime, save_shared_attribute(), blender::Span< T >::size(), and blender::bke::greasepencil::Drawing::strokes().
Referenced by blender::bke::GeometryComponentEditData::remember_deformed_positions_if_necessary().
| void blender::bke::remove_defgroup_index | ( | MutableSpan< MDeformVert > | dverts, |
| int | defgroup_index ) |
Definition at line 1793 of file deform.cc.
References blender::MutableSpan< T >::index_range(), blender::threading::parallel_for(), and remove_defgroup_index().
Referenced by remove_defgroup_index(), blender::bke::curves::CurvesVertexGroupsAttributeProvider::try_delete(), blender::bke::MeshVertexGroupsAttributeProvider::try_delete(), and blender::bke::greasepencil::validate_drawing_vertex_groups().
Definition at line 2027 of file node.cc.
References BLI_remlink(), is_node_socket_supported(), LISTBASE_FOREACH_MUTABLE, and MEM_freeN().
Referenced by node_tree_blend_read_data().
|
static |
Definition at line 70 of file mesh_runtime.cc.
Referenced by bit_vector_with_reset_bits_or_empty().
|
static |
Definition at line 5051 of file node.cc.
References LISTBASE_FOREACH.
Referenced by node_socket_declarations_update().
| Vector< AttributeTransferData > blender::bke::retrieve_attributes_for_transfer | ( | const AttributeAccessor | src_attributes, |
| MutableAttributeAccessor | dst_attributes, | ||
| AttrDomainMask | domain_mask, | ||
| const AttributeFilter & | attribute_filter = {} ) |
Retrieve attribute arrays and writers for attributes that should be transferred between data-blocks of the same type.
Definition at line 935 of file attribute_access.cc.
References blender::bke::AttributeFilter::allow_skip(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), ATTR_DOMAIN_AS_MASK, CD_PROP_STRING, blender::bke::AttributeIter::data_type, blender::bke::AttributeIter::domain, blender::bke::AttributeAccessor::foreach_attribute(), blender::bke::AttributeIter::get(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), and blender::bke::AttributeIter::name.
Referenced by blender::geometry::convert_curves_to_bezier(), blender::geometry::convert_curves_to_catmull_rom_or_poly(), blender::geometry::convert_curves_to_nurbs(), blender::nodes::node_geo_duplicate_elements_cc::copy_curve_attributes_without_id(), blender::ed::curves::copy_data_to_geometry(), blender::nodes::node_geo_duplicate_elements_cc::copy_edge_attributes_without_id(), blender::nodes::node_geo_duplicate_elements_cc::copy_face_attributes_without_id(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_points_CurvesGeometry(), blender::geometry::fillet_curves(), blender::geometry::mesh_triangulate(), blender::geometry::subdivide_curves(), and blender::geometry::trim_curves().
|
static |
Definition at line 1592 of file curves_geometry.cc.
References data, blender::index_mask::IndexMask::foreach_index(), and reverse_curve_point_data().
Referenced by reverse_curve_point_data().
|
static |
Definition at line 1582 of file curves_geometry.cc.
References blender::MutableSpan< T >::last(), blender::MutableSpan< T >::reverse(), and reverse_custom_knots().
Referenced by blender::bke::CurvesGeometry::reverse_curves(), and reverse_custom_knots().
|
static |
Definition at line 1602 of file curves_geometry.cc.
References b, blender::index_mask::IndexMask::foreach_index(), i, reverse_swap_curve_point_data(), blender::IndexRange::size(), and blender::MutableSpan< T >::slice().
Referenced by blender::bke::CurvesGeometry::reverse_curves(), and reverse_swap_curve_point_data().
|
static |
Definition at line 929 of file curves_geometry.cc.
References i, blender::MutableSpan< T >::index_range(), blender::math::is_zero(), blender::math::rotate_direction_around_axis(), rotate_directions_around_axes(), and UNLIKELY.
Referenced by blender::bke::CurvesGeometry::evaluated_normals(), and rotate_directions_around_axes().
|
static |
Definition at line 48 of file geometry_component_edit_data.cc.
References blender::ImplicitSharingInfo::add_user(), blender::GSpan::data(), data, blender::GVArrayCommon::get_internal_span(), blender::GVArrayCommon::is_span(), blender::GVArrayCommon::materialize(), blender::bke::GAttributeReader::sharing_info, blender::GVArrayCommon::size(), blender::GVArrayCommon::type(), and blender::bke::GAttributeReader::varray.
Referenced by remember_deformed_curve_positions_if_necessary(), and remember_deformed_grease_pencil_if_necessary().
|
static |
Definition at line 20 of file curve_to_mesh_convert.cc.
References blender::bke::curves::segments_num().
Referenced by fill_mesh_topology().
|
static |
Definition at line 271 of file mesh_data_update.cc.
References blender::bke::MutableAttributeAccessor::add(), blender::bke::AttributeAccessor::lookup(), Point, blender::bke::MutableAttributeAccessor::remove(), blender::bke::AttributeReader< T >::sharing_info, and blender::bke::AttributeReader< T >::varray.
Referenced by editbmesh_calc_modifiers(), and mesh_calc_modifiers().
Definition at line 524 of file instances.cc.
References transform().
|
static |
Definition at line 264 of file type_conversions.cc.
References blender::math::is_zero().
|
static |
Definition at line 300 of file type_conversions.cc.
References blender::ColorSceneLinear4f< Alpha >::encode(), and short2_to_color().
|
static |
Definition at line 296 of file type_conversions.cc.
Referenced by short2_to_byte_color().
|
static |
Definition at line 284 of file type_conversions.cc.
References float2_to_float().
Definition at line 268 of file type_conversions.cc.
Definition at line 288 of file type_conversions.cc.
Definition at line 292 of file type_conversions.cc.
|
static |
Definition at line 272 of file type_conversions.cc.
References blender::math::midpoint().
Referenced by short2_to_int8().
Definition at line 276 of file type_conversions.cc.
|
static |
Definition at line 280 of file type_conversions.cc.
References int_to_int8(), and short2_to_int().
|
static |
Definition at line 373 of file curve_to_mesh_convert.cc.
References blender::bke::AttributeFilter::allow_skip(), CD_PROP_STRING, blender::bke::AttributeMetaData::data_type, blender::bke::AttributeAccessor::is_builtin(), and should_add_attribute_to_mesh().
Referenced by curve_to_mesh_sweep(), and should_add_attribute_to_mesh().
|
static |
Definition at line 5407 of file node.cc.
References blender::bke::bNodeSocketType::base_cpp_type, and node_socket_type_find_static().
Referenced by socket_type_to_geo_nodes_base_cpp_type().
|
static |
Definition at line 3009 of file node.cc.
References id_us_min(), 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, bNodeSocket::type, bNodeSocketValueCollection::value, bNodeSocketValueImage::value, bNodeSocketValueMaterial::value, bNodeSocketValueObject::value, and bNodeSocketValueTexture::value.
Referenced by node_modify_socket_type(), node_remove_node(), and node_socket_free().
|
static |
Definition at line 2959 of file node.cc.
References id_us_plus(), 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, bNodeSocket::type, bNodeSocketValueCollection::value, bNodeSocketValueImage::value, bNodeSocketValueMaterial::value, bNodeSocketValueObject::value, and bNodeSocketValueTexture::value.
Referenced by node_socket_copy().
| std::optional< eCustomDataType > blender::bke::socket_type_to_custom_data_type | ( | eNodeSocketDatatype | type | ) |
Definition at line 5355 of file node.cc.
References CD_PROP_BOOL, CD_PROP_COLOR, CD_PROP_FLOAT, CD_PROP_FLOAT3, CD_PROP_FLOAT4X4, CD_PROP_INT32, CD_PROP_QUATERNION, CD_PROP_STRING, SOCK_BOOLEAN, SOCK_FLOAT, SOCK_INT, SOCK_MATRIX, SOCK_RGBA, SOCK_ROTATION, SOCK_STRING, and SOCK_VECTOR.
Referenced by blender::nodes::CaptureAttributeItemsAccessor::init_with_socket_type_and_name(), blender::nodes::node_geo_blur_attribute_cc::node_gather_link_searches(), blender::nodes::node_geo_curve_sample_cc::node_gather_link_searches(), blender::nodes::node_geo_evaluate_at_index_cc::node_gather_link_searches(), blender::nodes::node_geo_evaluate_on_domain_cc::node_gather_link_searches(), blender::nodes::node_geo_input_named_attribute_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_geo_viewer_cc::node_gather_link_searches(), blender::ed::space_node::viewer_linking::node_link_viewer_get_socket(), and blender::nodes::CaptureAttributeItemsAccessor::supports_socket_type().
| const CPPType * blender::bke::socket_type_to_geo_nodes_base_cpp_type | ( | eNodeSocketDatatype | type | ) |
Definition at line 5413 of file node.cc.
References BLI_assert, blender::CPPType::get(), slow_socket_type_to_geo_nodes_base_cpp_type(), SOCK_BOOLEAN, SOCK_BUNDLE, SOCK_CLOSURE, SOCK_FLOAT, SOCK_INT, SOCK_MATRIX, SOCK_RGBA, SOCK_ROTATION, and SOCK_VECTOR.
Referenced by blender::bke::bake::copy_bake_item_to_socket_value(), blender::bke::SocketValueVariant::extract(), blender::nodes::node_fn_format_string_cc::FormatStringMultiFunction::FormatStringMultiFunction(), blender::bke::SocketValueVariant::get_single_ptr(), blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_generation_items_group(), blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_main_items_and_geometry(), blender::nodes::mix_baked_data_item(), blender::nodes::node_geo_grid_info_cc::node_geo_exec(), blender::nodes::node_geo_sample_grid_cc::node_geo_exec(), and blender::nodes::node_geo_sample_grid_index_cc::node_geo_exec().
| std::optional< VolumeGridType > blender::bke::socket_type_to_grid_type | ( | eNodeSocketDatatype | type | ) |
Definition at line 5487 of file node.cc.
References SOCK_BOOLEAN, SOCK_FLOAT, SOCK_INT, SOCK_VECTOR, VOLUME_GRID_BOOLEAN, VOLUME_GRID_FLOAT, VOLUME_GRID_INT, and VOLUME_GRID_VECTOR_FLOAT.
Referenced by blender::bke::SocketValueVariant::extract(), blender::nodes::node_geo_get_named_grid_cc::node_geo_exec(), and blender::nodes::node_geo_store_named_grid_cc::search_link_ops().
|
static |
Definition at line 3965 of file node.cc.
References SOCK_BOOLEAN, SOCK_BUNDLE, SOCK_CLOSURE, SOCK_COLLECTION, SOCK_CUSTOM, SOCK_FLOAT, SOCK_GEOMETRY, SOCK_IMAGE, SOCK_INT, SOCK_MATERIAL, SOCK_MATRIX, SOCK_MENU, SOCK_OBJECT, SOCK_RGBA, SOCK_ROTATION, SOCK_SHADER, SOCK_STRING, SOCK_TEXTURE, SOCK_VECTOR, and bNodeSocket::type.
Referenced by node_socket_move_default_value().
|
static |
Check if a socket type stores the static C++ type.
Definition at line 77 of file node_socket_value.cc.
References BLI_assert_unreachable, SOCK_BOOLEAN, SOCK_BUNDLE, SOCK_CLOSURE, SOCK_COLLECTION, SOCK_CUSTOM, SOCK_FLOAT, SOCK_GEOMETRY, SOCK_IMAGE, SOCK_INT, SOCK_MATERIAL, SOCK_MATRIX, SOCK_MENU, SOCK_OBJECT, SOCK_RGBA, SOCK_ROTATION, SOCK_SHADER, SOCK_STRING, SOCK_TEXTURE, and SOCK_VECTOR.
Referenced by blender::bke::SocketValueVariant::extract().
|
static |
Very fast (compile-time) conversion from a static C++ type to the corresponding socket type.
Definition at line 38 of file node_socket_value.cc.
References blender::is_same_any_v, is_single_or_field_or_grid_v, SOCK_BOOLEAN, SOCK_BUNDLE, SOCK_CLOSURE, SOCK_FLOAT, SOCK_INT, SOCK_MATRIX, SOCK_RGBA, SOCK_ROTATION, SOCK_STRING, and SOCK_VECTOR.
|
static |
Definition at line 711 of file mesh_attributes.cc.
References tag_component_positions_changed().
Referenced by create_attribute_providers_for_mesh(), create_attribute_providers_for_pointcloud(), and tag_component_positions_changed().
|
static |
Definition at line 13 of file pointcloud_attributes.cc.
|
static |
Definition at line 19 of file pointcloud_attributes.cc.
Referenced by create_attribute_providers_for_pointcloud().
|
static |
Definition at line 11 of file instances_attributes.cc.
References blender::bke::Instances::tag_reference_handles_changed().
Referenced by create_attribute_providers_for_instances().
|
static |
Definition at line 719 of file mesh_attributes.cc.
References tag_component_sharpness_changed().
Referenced by create_attribute_providers_for_mesh(), and tag_component_sharpness_changed().
|
static |
Definition at line 726 of file mesh_attributes.cc.
References tag_material_index_changed().
Referenced by create_attribute_providers_for_mesh(), and tag_material_index_changed().
| void blender::bke::transform_custom_normal_attribute | ( | const float4x4 & | transform, |
| MutableAttributeAccessor & | attributes ) |
Apply a transform to the "custom_normal" attribute.
Definition at line 1169 of file attribute_access.cc.
References blender::bke::MutableAttributeAccessor::add(), blender::bke::AttributeAccessor::lookup(), blender::bke::MutableAttributeAccessor::lookup_for_write_span(), MEM_malloc_arrayN(), normals, blender::bke::MutableAttributeAccessor::remove(), transform(), and blender::math::transform_normals().
Referenced by mesh_transform(), and blender::bke::CurvesGeometry::transform().
|
static |
Definition at line 1234 of file curves_geometry.cc.
References blender::MutableSpan< T >::index_range(), and blender::threading::parallel_for().
|
static |
Definition at line 1509 of file blenkernel/intern/mesh.cc.
References blender::MutableSpan< T >::index_range(), and blender::threading::parallel_for().
|
static |
Definition at line 1225 of file curves_geometry.cc.
References blender::MutableSpan< T >::index_range(), blender::threading::parallel_for(), and translate_positions().
Referenced by mesh_translate(), blender::bke::CurvesGeometry::translate(), and translate_positions().
|
static |
Definition at line 1518 of file blenkernel/intern/mesh.cc.
References blender::MutableSpan< T >::index_range(), blender::threading::parallel_for(), and translate_positions().
Definition at line 667 of file attribute_access.cc.
References get_implicit_type_conversions(), and blender::bke::DataTypeConversions::try_convert().
Referenced by adapt_domain_and_type_if_necessary().
|
static |
Some fields reference attributes directly. When the referenced attribute has the requested type and domain, use implicit sharing to avoid duplication when creating the captured attribute.
Definition at line 768 of file geometry_fields.cc.
References blender::bke::MutableAttributeAccessor::add(), attribute_kind_matches(), blender::fn::GFieldBase< NodePtr >::cpp_type(), cpp_type_to_custom_data_type(), blender::GSpan::data(), blender::GVArrayCommon::get_internal_span(), init(), init(), blender::GVArrayCommon::is_span(), blender::bke::AttributeAccessor::lookup(), blender::bke::AttributeAccessor::lookup_meta_data(), blender::bke::GAttributeReader::sharing_info, try_get_field_direct_attribute_id(), and blender::bke::GAttributeReader::varray.
Referenced by try_capture_fields_on_geometry().
|
inline |
Definition at line 496 of file BKE_geometry_fields.hh.
References try_capture_fields_on_geometry().
|
inline |
Definition at line 482 of file BKE_geometry_fields.hh.
References try_capture_fields_on_geometry().
|
inline |
Definition at line 466 of file BKE_geometry_fields.hh.
References try_capture_fields_on_geometry().
Referenced by blender::bke::bake::capture_field_on_geometry_components(), blender::nodes::LazyFunctionForViewerNode::execute_impl(), blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_generation_items_group(), blender::nodes::node_geo_set_instance_transform_cc::node_geo_exec(), blender::nodes::node_geo_set_material_index_cc::node_geo_exec(), blender::nodes::node_geo_set_mesh_normal_cc::node_geo_exec(), blender::nodes::node_geo_set_point_radius_cc::node_geo_exec(), blender::nodes::node_geo_store_named_attribute_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(), blender::nodes::node_geo_set_spline_cyclic_cc::set_curve_cyclic(), blender::nodes::node_geo_set_curve_normal_cc::set_curve_normal(), blender::nodes::node_geo_set_spline_resolution_cc::set_curve_resolution(), blender::nodes::node_geo_set_curve_tilt_cc::set_curve_tilt(), blender::nodes::node_geo_set_material_index_cc::set_material_index_in_grease_pencil(), blender::nodes::node_geo_set_position_cc::set_points_position(), blender::nodes::node_geo_set_curve_radius_cc::set_radius(), and blender::nodes::node_geo_set_shade_smooth_cc::set_sharp().
| bool blender::bke::try_capture_fields_on_geometry | ( | GeometryComponent & | component, |
| Span< StringRef > | attribute_ids, | ||
| AttrDomain | domain, | ||
| const fn::Field< bool > & | selection, | ||
| Span< fn::GField > | fields ) |
Definition at line 924 of file geometry_fields.cc.
References Curve, ELEM, blender::bke::GeometryComponent::GreasePencil, blender::threading::parallel_for(), Point, and blender::bke::GeometryComponent::type().
| bool blender::bke::try_capture_fields_on_geometry | ( | GeometryComponent & | component, |
| Span< StringRef > | attribute_ids, | ||
| AttrDomain | domain, | ||
| Span< fn::GField > | fields ) |
Definition at line 973 of file geometry_fields.cc.
References blender::fn::make_constant_field(), and try_capture_fields_on_geometry().
| bool blender::bke::try_capture_fields_on_geometry | ( | MutableAttributeAccessor | attributes, |
| const fn::FieldContext & | field_context, | ||
| Span< StringRef > | attribute_ids, | ||
| AttrDomain | domain, | ||
| const fn::Field< bool > & | selection, | ||
| Span< fn::GField > | fields ) |
Definition at line 808 of file geometry_fields.cc.
References blender::bke::MutableAttributeAccessor::add(), blender::fn::FieldEvaluator::add(), blender::fn::FieldEvaluator::add_with_destination(), blender::CPPType::alignment, blender::Vector< T, InlineBufferCapacity, Allocator >::append(), attribute_data_matches_varray(), BLI_assert, blender::array_utils::copy(), blender::fn::GFieldBase< NodePtr >::cpp_type(), cpp_type_to_custom_data_type(), blender::fn::FieldNode::depends_on_input(), blender::CPPType::destruct_n(), blender::bke::AttributeAccessor::domain_size(), blender::fn::FieldEvaluator::evaluate(), blender::fn::evaluate_constant_field(), blender::bke::GSpanAttributeWriter::finish(), blender::bke::AttributeAccessor::get_builtin_domain_and_type(), blender::fn::FieldEvaluator::get_evaluated(), blender::fn::FieldEvaluator::get_evaluated_selection_as_mask(), i, blender::Span< T >::index_range(), blender::bke::AttributeAccessor::lookup(), blender::bke::MutableAttributeAccessor::lookup_for_write_span(), blender::bke::AttributeAccessor::lookup_or_default(), blender::bke::AttributeAccessor::lookup_validator(), mask(), blender::GVArrayCommon::materialize(), MEM_freeN(), MEM_mallocN_aligned(), blender::fn::GFieldBase< NodePtr >::node(), blender::bke::MutableAttributeAccessor::remove(), result, blender::fn::FieldEvaluator::set_selection(), blender::CPPType::size, blender::Span< T >::size(), blender::bke::GSpanAttributeWriter::span, try_add_shared_field_attribute(), blender::bke::AttributeValidator::validate_field_if_necessary(), and blender::bke::GAttributeReader::varray.
Referenced by blender::nodes::node_geo_attribute_capture_cc::node_geo_exec(), blender::nodes::node_geo_set_grease_pencil_color_cc::node_geo_exec(), blender::nodes::node_geo_set_grease_pencil_softness_cc::node_geo_exec(), blender::nodes::node_geo_set_position_cc::set_curves_position(), try_capture_field_on_geometry(), try_capture_field_on_geometry(), try_capture_field_on_geometry(), and try_capture_fields_on_geometry().
| std::optional< AttrDomain > blender::bke::try_detect_field_domain | ( | const GeometryComponent & | component, |
| const fn::GField & | field ) |
Try to find the geometry domain that the field should be evaluated on. If it is not obvious which domain is correct, none is returned.
Definition at line 982 of file geometry_fields.cc.
References blender::bke::GeometryComponent::Curve, blender::fn::FieldNode::field_inputs(), blender::bke::CurveComponent::get(), blender::bke::MeshComponent::get(), blender::bke::GeometryComponent::GreasePencil, Instance, blender::bke::GeometryComponent::Instance, Layer, blender::bke::GeometryComponent::Mesh, blender::fn::GFieldBase< NodePtr >::node(), Point, blender::bke::GeometryComponent::PointCloud, try_detect_field_domain(), and blender::bke::GeometryComponent::type().
Referenced by blender::nodes::LazyFunctionForViewerNode::execute_impl(), blender::nodes::node_geo_blur_attribute_cc::BlurAttributeFieldInput::preferred_domain(), blender::nodes::node_geo_index_of_nearest_cc::HasNeighborFieldInput::preferred_domain(), blender::nodes::node_geo_index_of_nearest_cc::IndexOfNearestFieldInput::preferred_domain(), and try_detect_field_domain().
|
static |
Definition at line 594 of file curve_to_mesh_convert.cc.
References blender::GVArrayCommon::get_internal_span(), blender::GVArrayCommon::is_span(), main, blender::GMutableSpan::size(), try_direct_evaluate_point_data(), and blender::bke::GAttributeReader::varray.
Referenced by copy_main_point_domain_attribute_to_mesh(), and try_direct_evaluate_point_data().
|
static |
Definition at line 749 of file geometry_fields.cc.
References blender::fn::GFieldBase< NodePtr >::node().
Referenced by try_add_shared_field_attribute().
|
static |
Definition at line 576 of file curve_to_mesh_convert.cc.
References blender::bke::MutableAttributeAccessor::add(), cpp_type_to_custom_data_type(), blender::GSpan::data(), blender::bke::AttributeAccessor::domain_size(), blender::GVArrayCommon::get_internal_span(), blender::GVArrayCommon::is_span(), main, Point, blender::bke::GAttributeReader::sharing_info, try_sharing_point_data(), blender::GVArrayCommon::type(), and blender::bke::GAttributeReader::varray.
Referenced by copy_main_point_domain_attribute_to_mesh(), and try_sharing_point_data().
|
static |
If there are no loose edges and no loose vertices, all vertices are used by faces.
Definition at line 98 of file mesh_runtime.cc.
References blender::bits::BitVector< InlineBufferCapacity, Allocator >::clear_and_shrink(), blender::bke::LooseGeomCache::count, and blender::bke::LooseGeomCache::is_loose_bits.
|
static |
Definition at line 5519 of file node.cc.
References BLI_uniquename_cb(), blender::bke::bNodeSocketTemplate::identifier, and blender::bke::bNodeSocketTemplate::type.
Referenced by node_type_socket_templates().
|
static |
Definition at line 5041 of file node.cc.
References LISTBASE_FOREACH_INDEX.
Referenced by node_socket_declarations_update().
|
static |
Definition at line 2549 of file node.cc.
References FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, blender::bke::bNodeSocketType::idname, blender::bke::bNodeTreeType::idname, blender::bke::bNodeType::idname, LISTBASE_FOREACH, node_set_typeinfo(), node_socket_set_typeinfo(), and ntree_set_typeinfo().
Referenced by node_free_socket_type(), node_free_type(), node_register_socket_type(), node_register_type(), node_tree_type_add(), and ntree_free_type().
|
static |
Definition at line 189 of file node_tree_zones.cc.
References BLI_assert, blender::bke::bNodeTreeZone::contains_zone_recursively(), blender::bke::bNodeTreeZones::get_zone_by_socket(), blender::bke::bNodeTreeZone::parent_zone, and tree.
Referenced by discover_tree_zones().
|
static |
Definition at line 18 of file node_tree_zones.cc.
References blender::bke::bNodeTreeZone::depth, blender::bke::bNodeTreeZone::parent_zone, and update_zone_depths().
Referenced by discover_tree_zones(), and update_zone_depths().
|
static |
Definition at line 134 of file node_tree_zones.cc.
References blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_overwrite(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), ELEM, blender::bits::foreach_1_index(), bNode::identifier, blender::bke::bNodeTreeZone::index, blender::Span< T >::index_range(), blender::bke::bNodeTreeZone::input_node(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::items(), blender::bke::bNodeTreeZone::output_node(), and blender::bke::bNodeTreeZone::parent_zone.
Referenced by discover_tree_zones().
| VArray< float > blender::bke::varray_for_deform_verts | ( | Span< MDeformVert > | dverts, |
| int | defgroup_index ) |
Definition at line 1783 of file deform.cc.
References VArray< T >::For(), and varray_for_deform_verts().
Referenced by blender::bke::curves::CurvesVertexGroupsAttributeProvider::get_for_vertex_group_index(), blender::bke::MeshVertexGroupsAttributeProvider::get_for_vertex_group_index(), varray_for_deform_verts(), and blender::ed::greasepencil::weight_sample_invoke().
| VMutableArray< float > blender::bke::varray_for_mutable_deform_verts | ( | MutableSpan< MDeformVert > | dverts, |
| int | defgroup_index ) |
Definition at line 1787 of file deform.cc.
References blender::VMutableArray< T >::For(), and varray_for_mutable_deform_verts().
Referenced by blender::ed::greasepencil::add_armature_automatic_weights(), blender::ed::greasepencil::add_armature_envelope_weights(), blender::ed::greasepencil::grease_pencil_weight_invert_exec(), blender::bke::curves::CurvesVertexGroupsAttributeProvider::try_get_for_write(), blender::bke::MeshVertexGroupsAttributeProvider::try_get_for_write(), and varray_for_mutable_deform_verts().
| std::optional< eCustomDataType > blender::bke::volume_grid_type_to_custom_data_type | ( | VolumeGridType | type | ) |
Definition at line 5497 of file customdata.cc.
References CD_PROP_BOOL, CD_PROP_FLOAT, CD_PROP_FLOAT3, CD_PROP_INT32, VOLUME_GRID_BOOLEAN, VOLUME_GRID_FLOAT, VOLUME_GRID_INT, and VOLUME_GRID_VECTOR_FLOAT.
|
static |
Definition at line 383 of file attribute_storage.cc.
References BLO_write_float3_array(), BLO_write_float_array(), BLO_write_int16_array(), BLO_write_int32_array(), BLO_write_int8_array(), BLO_write_struct_array, BLO_write_uint8_array(), Bool, ColorByte, ColorFloat, data, Float, Float2, Float3, Float4x4, Int16_2D, Int32, Int32_2D, Int8, Quaternion, size(), and String.
|
static |
Definition at line 322 of file blenkernel/intern/action.cc.
References BKE_fcurve_blend_write_data(), BLO_write_pointer_array(), BLO_write_struct, blender::animrig::Channelbag::channel_groups(), blender::Span< T >::data(), blender::animrig::Channelbag::fcurves(), and blender::Span< T >::size().
Referenced by write_strip_keyframe_data().
|
static |
Definition at line 373 of file blenkernel/intern/action.cc.
References BLO_write_pointer_array(), BLO_write_struct, blender::Span< T >::data(), blender::Span< T >::size(), and write_strips().
Referenced by action_blend_write().
|
static |
Definition at line 1363 of file node.cc.
References BLI_assert, BLO_write_struct, bNodeSocket::default_attribute_name, IDP_BlendWrite(), bNodeSocket::prop, and write_node_socket_default_value().
Referenced by node_tree_blend_write().
|
static |
Definition at line 1302 of file node.cc.
References BLI_assert_unreachable, BLO_write_struct, bNodeSocket::default_value, 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, and bNodeSocket::type.
Referenced by write_node_socket(), and blender::bke::forward_compat::write_node_socket_interface().
|
static |
Definition at line 510 of file attribute_storage.cc.
References attribute_type_to_cpp_type(), BLO_write_shared(), data, blender::CPPType::size, and size().
Referenced by blender::bke::AttributeStorage::blend_write().
|
static |
Definition at line 799 of file curve_to_mesh_convert.cc.
References blender::bke::CurvesGeometry::bezier_evaluated_offsets_for_curve(), BEZIER_HANDLE_VECTOR, blender::Span< T >::contains(), CURVE_TYPE_BEZIER, blender::bke::CurvesGeometry::curve_types(), Edge, blender::bke::CombinationInfo::edge_range, foreach_curve_combination(), blender::bke::CurvesGeometry::handle_types_left(), blender::bke::CurvesGeometry::handle_types_right(), blender::bke::CurvesGeometry::has_curve_with_type(), blender::bke::CombinationInfo::i_profile, blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_span(), blender::bke::CombinationInfo::main_segment_num, mark_bezier_vector_edges_sharp(), blender::bke::CurvesGeometry::points_by_curve(), blender::bke::CurvesInfo::profile, blender::IndexRange::size(), blender::Span< T >::slice(), blender::bke::SpanAttributeWriter< T >::span, types, and write_sharp_bezier_edges().
Referenced by curve_to_mesh_sweep(), and write_sharp_bezier_edges().
|
static |
Definition at line 383 of file blenkernel/intern/action.cc.
References BLO_write_pointer_array(), BLO_write_struct_at_address, blender::Span< T >::data(), ActionSlot::runtime, and blender::Span< T >::size().
Referenced by action_blend_write().
|
static |
Definition at line 340 of file blenkernel/intern/action.cc.
References BLO_write_pointer_array(), BLO_write_struct, blender::animrig::StripKeyframeData::channelbags(), and write_channelbag().
Referenced by write_strip_keyframe_data_array().
|
static |
Definition at line 353 of file blenkernel/intern/action.cc.
References BLO_write_pointer_array(), blender::Span< T >::data(), blender::Span< T >::size(), and write_strip_keyframe_data().
Referenced by action_blend_write().
|
static |
Definition at line 364 of file blenkernel/intern/action.cc.
References BLO_write_pointer_array(), BLO_write_struct, blender::Span< T >::data(), and blender::Span< T >::size().
Referenced by write_layers().
| const bNodeZoneType * blender::bke::zone_type_by_node_type | ( | const int | node_type | ) |
Definition at line 557 of file node_tree_zones.cc.
References all_zone_types(), and ELEM.
Referenced by blender::ed::space_node::calc_node_frame_dimensions(), blender::bke::node_tree_runtime::get_implicit_origin_nodes(), blender::bke::node_tree_runtime::get_implicit_target_nodes(), blender::ed::space_node::node_draw_basis(), blender::ed::space_node::node_draw_zones_and_frames(), blender::ed::space_node::remap_node_pairing(), and blender::ed::space_node::remap_pairing().
|
static |
Definition at line 758 of file blenkernel/intern/action.cc.
|
constexpr |
Definition at line 45 of file curves_geometry.cc.
Referenced by blender::bke::CurvesGeometry::curve_types(), and blender::bke::CurvesGeometry::curve_types_for_write().
|
constexpr |
Definition at line 46 of file curves_geometry.cc.
Referenced by blender::bke::CurvesGeometry::cyclic(), and blender::bke::CurvesGeometry::cyclic_for_write().
|
constexpr |
Definition at line 51 of file curves_geometry.cc.
Referenced by blender::bke::CurvesGeometry::handle_positions_left(), blender::bke::CurvesGeometry::handle_positions_left_for_write(), blender::bke::CurvesGeometry::remove_attributes_based_on_types(), and blender::bke::CurvesGeometry::reverse_curves().
|
constexpr |
Definition at line 52 of file curves_geometry.cc.
Referenced by blender::bke::CurvesGeometry::handle_positions_right(), blender::bke::CurvesGeometry::handle_positions_right_for_write(), blender::bke::CurvesGeometry::remove_attributes_based_on_types(), and blender::bke::CurvesGeometry::reverse_curves().
|
constexpr |
|
constexpr |
|
constexpr |
Definition at line 48 of file curves_geometry.cc.
Referenced by blender::bke::CurvesGeometry::normal_mode(), and blender::bke::CurvesGeometry::normal_mode_for_write().
|
constexpr |
Definition at line 55 of file curves_geometry.cc.
Referenced by blender::bke::CurvesGeometry::nurbs_knots_modes(), blender::bke::CurvesGeometry::nurbs_knots_modes_for_write(), and blender::bke::CurvesGeometry::remove_attributes_based_on_types().
|
constexpr |
Definition at line 53 of file curves_geometry.cc.
Referenced by blender::bke::CurvesGeometry::nurbs_orders(), blender::bke::CurvesGeometry::nurbs_orders_for_write(), and blender::bke::CurvesGeometry::remove_attributes_based_on_types().
|
constexpr |
Definition at line 54 of file curves_geometry.cc.
Referenced by blender::bke::CurvesGeometry::nurbs_weights(), blender::bke::CurvesGeometry::nurbs_weights_for_write(), and blender::bke::CurvesGeometry::remove_attributes_based_on_types().
|
constexpr |
Definition at line 42 of file curves_geometry.cc.
Referenced by blender::bke::CurvesGeometry::positions(), and blender::bke::CurvesGeometry::positions_for_write().
|
constexpr |
Definition at line 43 of file curves_geometry.cc.
Referenced by blender::bke::CurvesGeometry::radius(), and blender::bke::CurvesGeometry::radius_for_write().
|
constexpr |
Definition at line 47 of file curves_geometry.cc.
Referenced by blender::bke::CurvesGeometry::remove_attributes_based_on_types(), blender::bke::CurvesGeometry::resolution(), and blender::bke::CurvesGeometry::resolution_for_write().
|
constexpr |
Definition at line 56 of file curves_geometry.cc.
Referenced by blender::bke::CurvesGeometry::surface_uv_coords(), and blender::bke::CurvesGeometry::surface_uv_coords_for_write().
|
constexpr |
Definition at line 44 of file curves_geometry.cc.
Referenced by blender::bke::CurvesGeometry::tilt(), and blender::bke::CurvesGeometry::tilt_for_write().
|
inlineconstexpr |
Definition at line 124 of file BKE_geometry_set.hh.
Referenced by blender::bke::GeometrySet::get_component(), blender::bke::GeometrySet::get_component_for_write(), blender::bke::GeometrySet::has(), blender::bke::GeometrySet::has_component(), and blender::bke::GeometrySet::remove().
Definition at line 26 of file node_socket_value.cc.
Referenced by static_type_to_socket_type().
|
staticconstexpr |
Compile time check to see of a type is a VolumeGrid, e.g. false for float or GVolumeGrid and true for VolumeGrid<int> and VolumeGrid<float>.
Definition at line 52 of file BKE_volume_grid_fwd.hh.
Referenced by blender::bke::SocketValueVariant::extract().
| const char * blender::bke::no_procedural_access_message |
Definition at line 194 of file attribute_access.cc.
Referenced by blender::nodes::node_geo_input_named_attribute_cc::node_geo_exec(), and blender::nodes::node_geo_store_named_attribute_cc::node_geo_exec().
| const bNodeInstanceKey blender::bke::NODE_INSTANCE_KEY_BASE = {5381} |
Magic number for initial hash key.
Definition at line 5118 of file node.cc.
Referenced by blender::nodes::DerivedNodeTree::DerivedNodeTree(), ED_node_tree_push(), ED_node_tree_start(), blender::compositor::Profiler::finalize(), node_preview_init_tree(), node_preview_remove_unused(), ntreeShaderBeginExecTree(), and ntreeTexBeginExecTree().
| const bNodeInstanceKey blender::bke::NODE_INSTANCE_KEY_NONE = {0} |
Definition at line 5119 of file node.cc.
Referenced by blender::nodes::DerivedNodeTree::active_context(), blender::ed::space_node::draw_nodespace_back_pix(), and blender::ed::space_node::node_draw_space().
| bNodeSocketType blender::bke::NodeSocketTypeUndefined |
Definition at line 123 of file node.cc.
Referenced by ED_node_init_butfuncs(), node_socket_is_registered(), node_socket_set_typeinfo(), register_undefined_types(), and blender::bke::node_tree_runtime::update_socket_vectors_and_owner_node().
| bNodeTreeType blender::bke::NodeTreeTypeUndefined |
Definition at line 121 of file node.cc.
Referenced by node_tree_is_registered(), ntree_set_typeinfo(), and register_undefined_types().
| bNodeType blender::bke::NodeTypeUndefined |
Definition at line 122 of file node.cc.
Referenced by ED_node_init_butfuncs(), node_init(), node_replace_undefined_types(), node_set_typeinfo(), blender::ed::space_node::node_undefined_or_unsupported(), and register_undefined_types().