|
Blender V5.0
|
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 | id_hash |
| 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 | AttrUpdateOnChange = void (*)(void *owner) |
| 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 } |
Functions | |
| void | BKE_action_find_fcurves_with_bones (bAction *action, blender::animrig::slot_handle_t slot_handle, FoundFCurveCallback callback) |
| void | BKE_action_find_fcurves_with_bones (const bAction *action, blender::animrig::slot_handle_t slot_handle, FoundFCurveCallbackConst callback) |
| bool | attribute_name_is_anonymous (const StringRef name) |
| template<typename... Args> | |
| std::string | hash_to_anonymous_attribute_name (Args &&...args) |
| SelectedBonesResult | BKE_armature_find_selected_bones (const bArmature *armature, SelectedBoneCallback callback) |
| BoneNameSet | BKE_armature_find_selected_bone_names (const bArmature *armature) |
| BoneNameSet | BKE_pose_channel_find_selected_names (const Object *object) |
| ID * | asset_edit_id_from_weak_reference (Main &global_main, ID_Type id_type, const AssetWeakReference &weak_ref) |
| std::optional< AssetWeakReference > | asset_edit_weak_reference_from_id (const ID &id) |
| bool | asset_edit_id_is_editable (const ID &id) |
| bool | asset_edit_id_is_writable (const ID &id) |
| std::optional< std::string > | asset_edit_id_save_as (Main &global_main, const ID &id, StringRefNull name, const bUserAssetLibrary &user_library, AssetWeakReference &r_weak_ref, ReportList &reports) |
| bool | asset_edit_id_save (Main &global_main, const ID &id, ReportList &reports) |
| ID * | asset_edit_id_revert (Main &global_main, ID &id, ReportList &reports) |
| bool | asset_edit_id_delete (Main &global_main, ID &id, ReportList &reports) |
| ID * | asset_edit_id_find_local (Main &global_main, ID &id) |
| ID * | asset_edit_id_ensure_local (Main &global_main, ID &id) |
| const CPPType & | attribute_type_to_cpp_type (AttrType type) |
| AttrType | cpp_type_to_attribute_type (const CPPType &type) |
| const CPPType * | custom_data_type_to_cpp_type (eCustomDataType type) |
| eCustomDataType | cpp_type_to_custom_data_type (const CPPType &type) |
| bool | allow_procedural_attribute_access (StringRef attribute_name) |
| AttrType | attribute_data_type_highest_complexity (Span< AttrType > data_types) |
| AttrDomain | attribute_domain_highest_priority (Span< AttrDomain > domains) |
| void | gather_attributes (AttributeAccessor src_attributes, AttrDomain src_domain, AttrDomain dst_domain, const AttributeFilter &attribute_filter, const IndexMask &selection, MutableAttributeAccessor dst_attributes) |
| void | gather_attributes (AttributeAccessor src_attributes, AttrDomain src_domain, AttrDomain dst_domain, const AttributeFilter &attribute_filter, Span< int > indices, MutableAttributeAccessor dst_attributes) |
| void | 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) |
| void | 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) |
| void | copy_attributes (const AttributeAccessor src_attributes, AttrDomain src_domain, AttrDomain dst_domain, const AttributeFilter &attribute_filter, MutableAttributeAccessor dst_attributes) |
| void | 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) |
| void | fill_attribute_range_default (MutableAttributeAccessor dst_attributes, AttrDomain domain, const AttributeFilter &attribute_filter, IndexRange range) |
| void | transform_custom_normal_attribute (const float4x4 &transform, MutableAttributeAccessor &attributes) |
| auto | attribute_filter_with_skip_ref (AttributeFilter filter, const Span< StringRef > skip) |
| template<typename StringT> | |
| auto | attribute_filter_with_skip_ref (AttributeFilter filter, const Set< StringT > &skip) |
| auto | attribute_filter_from_skip_ref (const Span< StringRef > skip) |
| template<typename StringT> | |
| auto | attribute_filter_from_skip_ref (const Set< StringT > &skip) |
| std::optional< AttrType > | custom_data_type_to_attr_type (eCustomDataType data_type) |
| std::optional< eCustomDataType > | attr_type_to_custom_data_type (AttrType attr_type) |
| void | mesh_convert_storage_to_customdata (Mesh &mesh) |
| void | mesh_convert_customdata_to_storage (Mesh &mesh) |
| void | curves_convert_customdata_to_storage (CurvesGeometry &curves) |
| void | pointcloud_convert_customdata_to_storage (PointCloud &pointcloud) |
| void | grease_pencil_convert_customdata_to_storage (GreasePencil &grease_pencil) |
| void | attribute_storage_blend_write_prepare (AttributeStorage &data, AttributeStorage::BlendWriteData &write_data) |
| BVHTreeFromMesh | bvhtree_from_mesh_tris_init (const Mesh &mesh, const IndexMask &faces_mask) |
| BVHTreeFromMesh | bvhtree_from_mesh_edges_init (const Mesh &mesh, const IndexMask &edges_mask) |
| BVHTreeFromMesh | bvhtree_from_mesh_verts_init (const Mesh &mesh, const IndexMask &verts_mask) |
| Curves * | curve_legacy_to_curves (const Curve &curve_legacy) |
| Curves * | curve_legacy_to_curves (const Curve &curve_legacy, const ListBase &nurbs_list) |
| KnotsMode | knots_mode_from_legacy (short flag) |
| Mesh * | curve_to_mesh_sweep (const CurvesGeometry &main, const CurvesGeometry &profile, const VArray< float > &scales, bool fill_caps, const bke::AttributeFilter &attribute_filter={}) |
| Mesh * | curve_to_wire_mesh (const CurvesGeometry &curve, const bke::AttributeFilter &attribute_filter={}) |
| void | curves_normals_point_domain_calc (const CurvesGeometry &curves, MutableSpan< float3 > normals) |
| Curves * | curves_new_nomain (int points_num, int curves_num) |
| Curves * | curves_new_nomain (CurvesGeometry curves) |
| Curves * | curves_new_nomain_single (int points_num, CurveType type) |
| void | curves_copy_parameters (const Curves &src, Curves &dst) |
| VArray< float > | varray_for_deform_verts (Span< MDeformVert > dverts, int defgroup_index) |
| VMutableArray< float > | varray_for_mutable_deform_verts (MutableSpan< MDeformVert > dverts, int defgroup_index) |
| void | remove_defgroup_index (MutableSpan< MDeformVert > dverts, int defgroup_index) |
| void | gather_deform_verts (Span< MDeformVert > src, Span< int > indices, MutableSpan< MDeformVert > dst) |
| void | gather_deform_verts (Span< MDeformVert > src, const IndexMask &indices, MutableSpan< MDeformVert > dst) |
| void | file_handler_add (std::unique_ptr< FileHandlerType > file_handler) |
| FileHandlerType * | file_handler_find (StringRef idname) |
| void | file_handler_remove (FileHandlerType *file_handler) |
| Span< std::unique_ptr< FileHandlerType > > | file_handlers () |
| blender::Vector< FileHandlerType * > | file_handlers_poll_file_drop (const bContext *C, const blender::Span< std::string > paths) |
| void | copy_with_checked_indices (const GVArray &src, const VArray< int > &indices, const IndexMask &mask, GMutableSpan dst) |
| bool | 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) |
| bool | try_capture_field_on_geometry (MutableAttributeAccessor attributes, const fn::FieldContext &field_context, const StringRef attribute_id, AttrDomain domain, const fn::Field< bool > &selection, const fn::GField &field) |
| bool | try_capture_fields_on_geometry (GeometryComponent &component, Span< StringRef > attribute_ids, AttrDomain domain, Span< fn::GField > fields) |
| bool | try_capture_field_on_geometry (GeometryComponent &component, const StringRef attribute_id, AttrDomain domain, const fn::GField &field) |
| bool | try_capture_fields_on_geometry (GeometryComponent &component, Span< StringRef > attribute_ids, AttrDomain domain, const fn::Field< bool > &selection, Span< fn::GField > fields) |
| bool | try_capture_field_on_geometry (GeometryComponent &component, const StringRef attribute_id, AttrDomain domain, const fn::Field< bool > &selection, const fn::GField &field) |
| std::optional< AttrDomain > | try_detect_field_domain (const GeometryComponent &component, const fn::GField &field) |
| GeometrySet | object_get_evaluated_geometry_set (const Object &object, bool apply_subdiv=true) |
| VArray< float3 > | instance_position_varray (const Instances &instances) |
| VMutableArray< float3 > | instance_position_varray_for_write (Instances &instances) |
| const AttributeAccessorFunctions & | instance_attribute_accessor_functions () |
| void | mesh_set_custom_normals (Mesh &mesh, MutableSpan< float3 > corner_normals) |
| void | mesh_set_custom_normals_normalized (Mesh &mesh, MutableSpan< float3 > corner_normals) |
| void | mesh_set_custom_normals_from_verts (Mesh &mesh, MutableSpan< float3 > vert_normals) |
| void | mesh_set_custom_normals_from_verts_normalized (Mesh &mesh, MutableSpan< float3 > vert_normals) |
| void | mesh_uv_select_to_single_attribute (Mesh &mesh) |
| void | mesh_custom_normals_to_generic (Mesh &mesh) |
| void | mesh_sculpt_mask_to_generic (Mesh &mesh) |
| void | mesh_freestyle_marks_to_generic (Mesh &mesh) |
| void | mesh_freestyle_marks_to_legacy (AttributeStorage::BlendWriteData &attr_write_data, CustomData &edge_data, CustomData &face_data, Vector< CustomDataLayer, 16 > &edge_layers, Vector< CustomDataLayer, 16 > &face_layers) |
| void | mesh_remesh_reproject_attributes (const Mesh &src, Mesh &dst) |
| void | mesh_get_mapped_verts_coords (Mesh *mesh_eval, MutableSpan< float3 > r_cos) |
| Mesh * | editbmesh_get_eval_cage (Depsgraph *depsgraph, const Scene *scene, Object *obedit, BMEditMesh *em, const CustomData_MeshMasks *dataMask) |
| Mesh * | editbmesh_get_eval_cage_from_orig (Depsgraph *depsgraph, const Scene *scene, Object *obedit, const CustomData_MeshMasks *dataMask) |
| bool | editbmesh_modifier_is_enabled (const Scene *scene, const Object *ob, ModifierData *md, bool has_prev_mesh) |
| Mesh * | mesh_get_eval_deform (Depsgraph *depsgraph, const Scene *scene, Object *ob, const CustomData_MeshMasks *dataMask) |
| Mesh * | mesh_create_eval_final (Depsgraph *depsgraph, const Scene *scene, Object *ob, const CustomData_MeshMasks *dataMask) |
| Mesh * | mesh_create_eval_no_deform (Depsgraph *depsgraph, const Scene *scene, Object *ob, const CustomData_MeshMasks *dataMask) |
| Mesh * | mesh_create_eval_no_deform_render (Depsgraph *depsgraph, const Scene *scene, Object *ob, const CustomData_MeshMasks *dataMask) |
| std::string | node_tree_to_dot (const bNodeTree &tree, const bNodeTreeToDotOptions &options=bNodeTreeToDotOptions()) |
| const bNodeTreeZones * | get_tree_zones (const bNodeTree &tree) |
| PointCloud * | pointcloud_new_no_attributes (int totpoint) |
| const AttributeAccessorFunctions & | pointcloud_attribute_accessor_functions () |
| const DataTypeConversions & | get_implicit_type_conversions () |
| static void | action_init_data (ID *action_id) |
| static void | action_copy_data (Main *, std::optional< Library * >, ID *id_dst, const ID *id_src, const int flag) |
| static void | action_free_data (ID *id) |
| static void | action_foreach_id (ID *id, LibraryForeachIDData *data) |
| static void | write_channelbag (BlendWriter *writer, animrig::Channelbag &channelbag) |
| static void | write_strip_keyframe_data (BlendWriter *writer, animrig::StripKeyframeData &strip_keyframe_data) |
| static void | write_strip_keyframe_data_array (BlendWriter *writer, Span< animrig::StripKeyframeData * > strip_keyframe_data_array) |
| static void | write_strips (BlendWriter *writer, Span< animrig::Strip * > strips) |
| static void | write_layers (BlendWriter *writer, Span< animrig::Layer * > layers) |
| static void | write_slots (BlendWriter *writer, Span< animrig::Slot * > slots) |
| static void | action_blend_write_make_legacy_channel_groups_listbase (ListBase &listbase, const Span< bActionGroup * > channel_groups) |
| static void | action_blend_write_clear_legacy_channel_groups_listbase (ListBase &listbase) |
| static void | action_blend_write_make_legacy_fcurves_listbase (ListBase &listbase, const Span< FCurve * > fcurves) |
| static void | action_blend_write_clear_legacy_fcurves_listbase (ListBase &listbase) |
| static void | action_blend_write (BlendWriter *writer, ID *id, const void *id_address) |
| static void | read_channelbag (BlendDataReader *reader, animrig::Channelbag &channelbag) |
| static void | read_strip_keyframe_data (BlendDataReader *reader, animrig::StripKeyframeData &strip_keyframe_data) |
| static void | read_strip_keyframe_data_array (BlendDataReader *reader, animrig::Action &action) |
| static void | read_layers (BlendDataReader *reader, animrig::Action &action) |
| static void | read_slots (BlendDataReader *reader, animrig::Action &action) |
| static void | action_blend_read_data (BlendDataReader *reader, ID *id) |
| static IDProperty * | action_asset_type_property (const bAction *action) |
| static void | action_asset_metadata_ensure (void *asset_ptr, AssetMetaData *asset_data) |
| template<typename MixerT> | |
| static void | b_bone_deform (const bPoseChannel &pchan, const float3 &co, const float weight, MixerT &mixer) |
| template<typename MixerT> | |
| static float | dist_bone_deform (const bPoseChannel &pchan, const float3 &co, MixerT &mixer) |
| template<typename MixerT> | |
| static float | pchan_bone_deform (const bPoseChannel &pchan, const float weight, const float3 &co, MixerT &mixer) |
| static ArmatureDeformParams | get_armature_deform_params (const Object &ob_arm, const Object &ob_target, const ListBase *defbase, MutableSpan< float3 > vert_coords, std::optional< Span< float3 > > vert_coords_prev, std::optional< MutableSpan< float3x3 > > vert_deform_mats, const int deformflag, blender::StringRefNull defgrp_name, const bool try_use_dverts) |
| template<typename MixerT> | |
| static void | armature_vert_task_with_mixer (const ArmatureDeformParams ¶ms, const int i, const MDeformVert *dvert, MixerT &mixer) |
| static void | armature_vert_task_with_dvert (const ArmatureDeformParams &deform_params, const int i, const MDeformVert *dvert, const bool use_quaternion) |
| static void | armature_deform_coords (const Object &ob_arm, const Object &ob_target, const ListBase *defbase, const MutableSpan< float3 > vert_coords, const std::optional< MutableSpan< float3x3 > > vert_deform_mats, const int deformflag, const std::optional< Span< float3 > > vert_coords_prev, blender::StringRefNull defgrp_name, const std::optional< Span< MDeformVert > > dverts, const Mesh *me_target) |
| template<bool use_dvert> | |
| static void | armature_vert_task_editmesh (void *__restrict userdata, MempoolIterData *iter, const TaskParallelTLS *__restrict) |
| static void | armature_deform_editmesh (const Object &ob_arm, const Object &ob_target, const ListBase *defbase, const MutableSpan< float3 > vert_coords, const std::optional< MutableSpan< float3x3 > > vert_deform_mats, const int deformflag, const std::optional< Span< float3 > > vert_coords_prev, blender::StringRefNull defgrp_name, const BMEditMesh &em_target, const int cd_dvert_offset) |
| static bool | verify_armature_deform_valid (const Object &ob_arm) |
| static ID * | asset_link_id (Main &global_main, const ID_Type id_type, const char *filepath, const char *asset_name, ReportList *reports=nullptr) |
| static std::string | asset_root_path_for_save (const bUserAssetLibrary &user_library, const ID_Type id_type) |
| static std::string | asset_blendfile_path_for_save (const bUserAssetLibrary &user_library, const StringRef base_name, const ID_Type id_type, ReportList &reports) |
| static bool | asset_write_in_library (Main &bmain, const ID &id_const, const StringRef name, const StringRefNull filepath, std::string &final_full_file_path, ReportList &reports) |
| static ID * | asset_reload (Main &global_main, ID &id, ReportList *reports) |
| static AssetWeakReference | asset_weak_reference_for_user_library (const bUserAssetLibrary &user_library, const short idcode, const char *idname, const char *filepath) |
| static AssetWeakReference | asset_weak_reference_for_essentials (const short idcode, const char *idname, const char *filepath) |
| static int | attribute_data_type_complexity (const AttrType data_type) |
| static int | attribute_domain_priority (const AttrDomain domain) |
| static void * | add_generic_custom_data_layer (CustomData &custom_data, const eCustomDataType data_type, const eCDAllocType alloctype, const int domain_size, const StringRef attribute_id) |
| static const void * | add_generic_custom_data_layer_with_existing_data (CustomData &custom_data, const eCustomDataType data_type, const StringRef attribute_id, const int domain_size, void *layer_data, const ImplicitSharingInfo *sharing_info) |
| static bool | add_custom_data_layer_from_attribute_init (const StringRef attribute_id, CustomData &custom_data, const eCustomDataType data_type, const int domain_num, const AttributeInit &initializer, const GPointer custom_default_value_ptr) |
| static void | attribute_legacy_convert_customdata_to_storage (const Map< AttrDomain, CustomDataAndSize > &domains, AttributeStorage &storage) |
| static void | convert_storage_to_customdata (AttributeStorage &storage, const Map< AttrDomain, CustomDataAndSizeMutable > &custom_data_domains) |
| static void | read_array_data (BlendDataReader &reader, const int8_t dna_attr_type, const int64_t size, void **data) |
| static void | read_shared_array (BlendDataReader &reader, const int8_t dna_attr_type, const int64_t size, void **data, const ImplicitSharingInfo **sharing_info) |
| static std::optional< Attribute::DataVariant > | read_attr_data (BlendDataReader &reader, const int8_t dna_storage_type, const int8_t dna_attr_type, ::Attribute &dna_attr) |
| static std::optional< AttrDomain > | read_attr_domain (const int8_t dna_domain) |
| static void | write_array_data (BlendWriter &writer, const AttrType data_type, const void *data, const int64_t size) |
| static void | write_shared_array (BlendWriter &writer, const AttrType data_type, const void *data, const int64_t size, const ImplicitSharingInfo *sharing_info) |
| GAttributeReader | attribute_to_reader (const Attribute &attribute, const AttrDomain domain, const int64_t domain_size) |
| GAttributeWriter | attribute_to_writer (void *owner, const Map< StringRef, AttrUpdateOnChange > &changed_tags, const int64_t domain_size, Attribute &attribute) |
| Attribute::DataVariant | attribute_init_to_data (const bke::AttrType data_type, const int64_t domain_size, const AttributeInit &initializer) |
| GVArray | get_varray_attribute (const AttributeStorage &storage, AttrDomain domain, const CPPType &cpp_type, StringRef name, int64_t domain_size, const void *default_value) |
| std::optional< GSpan > | get_span_attribute (const AttributeStorage &storage, const AttrDomain domain, const CPPType &cpp_type, const StringRef name, const int64_t domain_size) |
| GMutableSpan | get_mutable_attribute (AttributeStorage &storage, const AttrDomain domain, const CPPType &cpp_type, const StringRef name, const int64_t domain_size, const void *custom_default_value) |
| template<typename T> | |
| VArray< T > | get_varray_attribute (const AttributeStorage &storage, const AttrDomain domain, const StringRef name, const int64_t domain_size, const T &default_value) |
| template<typename T> | |
| std::optional< Span< T > > | get_span_attribute (const AttributeStorage &storage, const AttrDomain domain, const StringRef name, const int64_t domain_size) |
| template<typename T> | |
| MutableSpan< T > | get_mutable_attribute (AttributeStorage &storage, const AttrDomain domain, const StringRef name, const int64_t domain_size, const T &default_value=T()) |
| static CurveType | curve_type_from_legacy (const short type) |
| static HandleType | handle_type_from_legacy (const uint8_t handle_type_legacy) |
| static NormalMode | normal_mode_from_legacy (const short twist_mode) |
| static int | segments_num_no_duplicate_edge (const int points_num, const bool cyclic) |
| static bool | has_caps (const bool main_cyclic, const bool profile_cyclic, const int profile_segment_num) |
| static void | fill_mesh_topology (const int vert_offset, const int edge_offset, const int face_offset, const int loop_offset, const int main_point_num, const int profile_point_num, const bool main_cyclic, const bool profile_cyclic, const bool fill_caps, MutableSpan< int2 > edges, MutableSpan< int > corner_verts, MutableSpan< int > corner_edges, MutableSpan< int > face_offsets) |
| static void | mark_bezier_vector_edges_sharp (const int profile_point_num, const int main_segment_num, const Span< int > control_point_offsets, const Span< int8_t > handle_types_left, const Span< int8_t > handle_types_right, MutableSpan< bool > sharp_edges) |
| static float4x4 | build_point_matrix (const float3 &location, const float3 &tangent, const float3 &normal) |
| static void | fill_mesh_positions (const int main_point_num, const int profile_point_num, const Span< float3 > main_positions, const Span< float3 > profile_positions, const Span< float3 > tangents, const Span< float3 > normals, const Span< float > scales, MutableSpan< float3 > mesh_positions) |
| static CurvesInfo | get_curves_info (const CurvesGeometry &main, const CurvesGeometry &profile) |
| static bool | offsets_contain_single_point (const OffsetIndices< int > offsets) |
| static ResultOffsets | calculate_result_offsets (const CurvesInfo &info, const bool fill_caps) |
| static AttrDomain | get_attribute_domain_for_mesh (const AttributeAccessor &mesh_attributes, const StringRef attribute_id) |
| static bool | should_add_attribute_to_mesh (const AttributeAccessor &curve_attributes, const AttributeAccessor &mesh_attributes, const StringRef id, const AttributeMetaData &meta_data, const AttributeFilter &attribute_filter) |
| static GSpan | evaluate_attribute (const GVArray &src, const CurvesGeometry &curves, Vector< std::byte > &buffer) |
| template<typename Fn> | |
| static void | foreach_curve_combination (const CurvesInfo &info, const ResultOffsets &offsets, const Fn &fn) |
| static void | build_mesh_positions (const CurvesInfo &curves_info, const ResultOffsets &offsets, const VArray< float > &scales, Vector< std::byte > &eval_buffer, Mesh &mesh) |
| template<typename T> | |
| static void | copy_main_point_data_to_mesh_verts (const Span< T > src, const int profile_point_num, MutableSpan< T > dst) |
| template<typename T> | |
| static void | copy_main_point_data_to_mesh_edges (const Span< T > src, const int profile_point_num, const int main_segment_num, const int profile_segment_num, MutableSpan< T > dst) |
| template<typename T> | |
| static void | copy_main_point_data_to_mesh_faces (const Span< T > src, const int main_segment_num, const int profile_segment_num, MutableSpan< T > dst) |
| static bool | try_sharing_point_data (const CurvesGeometry &main, const StringRef id, const GAttributeReader &src, MutableAttributeAccessor mesh_attributes) |
| static bool | try_direct_evaluate_point_data (const CurvesGeometry &main, const GAttributeReader &src, GMutableSpan dst) |
| static void | copy_main_point_domain_attribute_to_mesh (const CurvesInfo &curves_info, const StringRef id, const ResultOffsets &offsets, const AttrDomain dst_domain, const GAttributeReader &src_attribute, Vector< std::byte > &eval_buffer, MutableAttributeAccessor mesh_attributes) |
| template<typename T> | |
| static void | copy_profile_point_data_to_mesh_verts (const Span< T > src, const int main_point_num, MutableSpan< T > dst) |
| template<typename T> | |
| static void | copy_profile_point_data_to_mesh_edges (const Span< T > src, const int main_segment_num, MutableSpan< T > dst) |
| template<typename T> | |
| static void | copy_profile_point_data_to_mesh_faces (const Span< T > src, const int main_segment_num, const int profile_segment_num, MutableSpan< T > dst) |
| static void | copy_profile_point_domain_attribute_to_mesh (const CurvesInfo &curves_info, const ResultOffsets &offsets, const AttrDomain dst_domain, const GSpan src_all, GMutableSpan dst_all) |
| template<typename T> | |
| static void | copy_indices_to_offset_ranges (const VArray< T > &src, const Span< int > curve_indices, const OffsetIndices< int > mesh_offsets, MutableSpan< T > dst) |
| static void | copy_curve_domain_attribute_to_mesh (const ResultOffsets &mesh_offsets, const Span< int > curve_indices, const AttrDomain dst_domain, const GVArray &src, GMutableSpan dst) |
| static void | write_sharp_bezier_edges (const CurvesInfo &curves_info, const ResultOffsets &offsets, MutableAttributeAccessor mesh_attributes, SpanAttributeWriter< bool > &sharp_edges) |
| static CurvesGeometry | get_curve_single_vert () |
| static Vector< std::unique_ptr< FileHandlerType > > & | file_handlers_vector () |
| static ImplicitSharingPtrAndData | save_shared_attribute (const GAttributeReader &attribute) |
| static void | remember_deformed_curve_positions_if_necessary (const Curves *curves_id, GeometryComponentEditData &edit_component) |
| static void | remember_deformed_grease_pencil_if_necessary (const GreasePencil *grease_pencil, GeometryComponentEditData &edit_component) |
| static StringRef | get_random_id_attribute_name (const AttrDomain domain) |
| template<typename T> | |
| void | copy_with_checked_indices (const VArray< T > &src, const VArray< int > &indices, const IndexMask &mask, MutableSpan< T > dst) |
| static std::optional< StringRefNull > | try_get_field_direct_attribute_id (const fn::GField &any_field) |
| static bool | attribute_kind_matches (const AttributeMetaData meta_data, const AttrDomain domain, const bke::AttrType data_type) |
| static bool | try_add_shared_field_attribute (MutableAttributeAccessor attributes, const StringRef id_to_create, const AttrDomain domain, const fn::GField &field) |
| static bool | attribute_data_matches_varray (const GAttributeReader &attribute, const GVArray &varray) |
| static void | initialize_new_data (MutableAttributeAccessor &attributes, const AttrDomain domain, const int domain_size, const StringRef name, const CPPType &type, const bke::AttrType data_type, void *buffer) |
| static void | add_final_mesh_as_geometry_component (const Object &object, GeometrySet &geometry_set, const bool apply_subdiv) |
| static void | convert_collection_to_instances (const Collection &collection, bke::Instances &instances) |
| bool | operator== (const InstanceReference &a, const InstanceReference &b) |
| static Array< int > | generate_unique_instance_ids (Span< int > original_ids) |
| static float3 | get_transform_position (const float4x4 &transform) |
| static void | set_transform_position (float4x4 &transform, const float3 position) |
| static void | tag_component_reference_index_changed (void *owner) |
| static const auto & | changed_tags () |
| static const auto & | builtin_attributes () |
| static constexpr AttributeAccessorFunctions | get_instances_accessor_functions () |
| static bool | meta_data_matches (const std::optional< bke::AttributeMetaData > meta_data, const AttrDomainMask domains, const eCustomDataMask types) |
| static Bounds< float3 > | merge_bounds (const Bounds< float3 > &a, const Bounds< float3 > &b) |
| static Bounds< float3 > | negative_bounds () |
| static void | partition_faces_recursively (const Span< float3 > face_centers, MutableSpan< int > face_indices, Vector< NonContiguousGroup > &groups, int node_index, int depth, const std::optional< Bounds< float3 > > &bounds_precalc, const Span< int > material_indices, int target_group_size) |
| static void | build_vertex_groups_for_leaves (const int verts_num, const OffsetIndices< int > faces, const Span< int > corner_verts, Vector< NonContiguousGroup > &groups) |
| static Vector< NonContiguousGroup > | compute_local_mesh_groups (Mesh &mesh) |
| static void | translate_positions (MutableSpan< float3 > positions, const float3 &translation) |
| template<typename T> | |
| static void | adapt_mesh_domain_corner_to_point_impl (const Mesh &mesh, const VArray< T > &src, MutableSpan< T > r_dst) |
| template<> | |
| void | adapt_mesh_domain_corner_to_point_impl (const Mesh &mesh, const VArray< bool > &src, MutableSpan< bool > r_dst) |
| static GVArray | adapt_mesh_domain_corner_to_point (const Mesh &mesh, const GVArray &varray) |
| static GVArray | adapt_mesh_domain_point_to_corner (const Mesh &mesh, const GVArray &varray) |
| static GVArray | adapt_mesh_domain_corner_to_face (const Mesh &mesh, const GVArray &varray) |
| template<typename T> | |
| static void | adapt_mesh_domain_corner_to_edge_impl (const Mesh &mesh, const VArray< T > &old_values, MutableSpan< T > r_values) |
| template<> | |
| void | adapt_mesh_domain_corner_to_edge_impl (const Mesh &mesh, const VArray< bool > &old_values, MutableSpan< bool > r_values) |
| static GVArray | adapt_mesh_domain_corner_to_edge (const Mesh &mesh, const GVArray &varray) |
| static GVArray | adapt_mesh_domain_face_to_point (const Mesh &mesh, const GVArray &varray) |
| template<typename T> | |
| void | adapt_mesh_domain_face_to_corner_impl (const Mesh &mesh, const VArray< T > &old_values, MutableSpan< T > r_values) |
| static GVArray | adapt_mesh_domain_face_to_corner (const Mesh &mesh, const GVArray &varray) |
| template<typename T> | |
| void | adapt_mesh_domain_face_to_edge_impl (const Mesh &mesh, const VArray< T > &old_values, MutableSpan< T > r_values) |
| template<> | |
| void | adapt_mesh_domain_face_to_edge_impl (const Mesh &mesh, const VArray< bool > &old_values, MutableSpan< bool > r_values) |
| static GVArray | adapt_mesh_domain_face_to_edge (const Mesh &mesh, const GVArray &varray) |
| static GVArray | adapt_mesh_domain_point_to_face (const Mesh &mesh, const GVArray &varray) |
| static GVArray | adapt_mesh_domain_point_to_edge (const Mesh &mesh, const GVArray &varray) |
| template<typename T> | |
| void | adapt_mesh_domain_edge_to_corner_impl (const Mesh &mesh, const VArray< T > &old_values, MutableSpan< T > r_values) |
| template<> | |
| void | adapt_mesh_domain_edge_to_corner_impl (const Mesh &mesh, const VArray< bool > &old_values, MutableSpan< bool > r_values) |
| static GVArray | adapt_mesh_domain_edge_to_corner (const Mesh &mesh, const GVArray &varray) |
| template<typename T> | |
| static void | adapt_mesh_domain_edge_to_point_impl (const Mesh &mesh, const VArray< T > &old_values, MutableSpan< T > r_values) |
| template<> | |
| void | adapt_mesh_domain_edge_to_point_impl (const Mesh &mesh, const VArray< bool > &old_values, MutableSpan< bool > r_values) |
| static GVArray | adapt_mesh_domain_edge_to_point (const Mesh &mesh, const GVArray &varray) |
| static GVArray | adapt_mesh_domain_edge_to_face (const Mesh &mesh, const GVArray &varray) |
| static bool | can_simple_adapt_for_single (const Mesh &mesh, const AttrDomain from_domain, const AttrDomain to_domain) |
| static GVArray | adapt_mesh_attribute_domain (const Mesh &mesh, const GVArray &varray, const AttrDomain from_domain, const AttrDomain to_domain) |
| static void | tag_component_positions_changed (void *owner) |
| static void | tag_component_sharpness_changed (void *owner) |
| static void | tag_material_index_changed (void *owner) |
| static std::function< void()> | get_tag_modified_function (void *owner, const StringRef name) |
| static GeometryAttributeProviders | create_attribute_providers_for_mesh () |
| static AttributeAccessorFunctions | get_mesh_accessor_functions () |
| static void | mesh_init_origspace (Mesh &mesh) |
| static void | mesh_set_only_copy (Mesh *mesh, const CustomData_MeshMasks *mask) |
| static Span< float3 > | get_orco_coords (const Object &ob, const BMEditMesh *em, eCustomDataType layer_type, Array< float3 > &storage) |
| static Mesh * | create_orco_mesh (const Object &ob, const Mesh &mesh, const BMEditMesh *em, eCustomDataType layer) |
| static MutableSpan< float3 > | orco_coord_layer_ensure (Mesh &mesh, const eCustomDataType layer) |
| static void | add_orco_mesh (Object &ob, const BMEditMesh *em, Mesh &mesh, const Mesh *mesh_orco, const eCustomDataType layer) |
| static void | mesh_calc_finalize (const Mesh &mesh_input, Mesh &mesh_eval) |
| static Mesh * | modifier_modify_mesh_and_geometry_set (ModifierData *md, const ModifierEvalContext &mectx, Mesh *input_mesh, GeometrySet &geometry_set) |
| static void | set_rest_position (Mesh &mesh) |
| static void | mesh_calc_modifiers (Depsgraph &depsgraph, const Scene &scene, Object &ob, const bool use_deform, const bool need_mapping, const CustomData_MeshMasks &dataMask, const bool use_cache, const bool allow_shared_mesh, Mesh **r_deform, Mesh **r_final, GeometrySet **r_geometry_set) |
| static MutableSpan< float3 > | mesh_wrapper_vert_coords_ensure_for_write (Mesh *mesh) |
| static void | editbmesh_calc_modifiers (Depsgraph &depsgraph, const Scene &scene, Object &ob, const CustomData_MeshMasks &dataMask, Mesh **r_cage, Mesh **r_final, GeometrySet **r_geometry_set) |
| static void | mesh_build_extra_data (const Depsgraph &depsgraph, const Object &ob, const Mesh &mesh_eval) |
| static void | mesh_build_data (Depsgraph &depsgraph, const Scene &scene, Object &ob, const CustomData_MeshMasks &dataMask, const bool need_mapping) |
| static void | editbmesh_build_data (Depsgraph &depsgraph, const Scene &scene, Object &obedit, CustomData_MeshMasks &dataMask) |
| static void | object_get_datamask (const Depsgraph &depsgraph, Object &ob, CustomData_MeshMasks &r_mask, bool *r_need_mapping) |
| static void | make_vertexcos__mapFunc (void *user_data, int index, const float co[3], const float[3]) |
| template<typename T> | |
| static void | flip_corner_data (const OffsetIndices< int > faces, const IndexMask &face_selection, MutableSpan< T > data) |
| template<typename T> | |
| static void | flip_custom_data_type (const OffsetIndices< int > faces, CustomData &corner_data, const IndexMask &face_selection, const eCustomDataType data_type) |
| static bNodeTree * | add_auto_smooth_node_tree (Main &bmain, Library *owner_library) |
| static VectorSet< const bNodeSocket * > | build_socket_indices (const Span< const bNode * > nodes) |
| static bool | is_auto_smooth_node_tree (const bNodeTree &group) |
| static ModifierData * | create_auto_smooth_modifier (Object &object, const FunctionRef< bNodeTree *(Library *owner_library)> get_node_group, const float angle) |
| static void | normalize_vecs (MutableSpan< float3 > normals) |
| static void | calc_edge_centers (const Span< float3 > positions, const Span< int2 > edges, MutableSpan< float3 > edge_centers) |
| static void | calc_face_centers (const Span< float3 > positions, const OffsetIndices< int > faces, const Span< int > corner_verts, MutableSpan< float3 > face_centers) |
| static void | find_nearest_tris (const Span< float3 > positions, BVHTreeFromMesh &bvhtree, MutableSpan< int > tris) |
| static void | find_nearest_tris_parallel (const Span< float3 > positions, BVHTreeFromMesh &bvhtree, MutableSpan< int > tris) |
| static void | find_nearest_verts (const Span< float3 > positions, const Span< int > corner_verts, const Span< int3 > src_corner_tris, const Span< float3 > dst_positions, const Span< int > nearest_vert_tris, MutableSpan< int > nearest_verts) |
| static void | find_nearest_faces (const Span< int > src_tri_faces, const Span< float3 > dst_positions, const OffsetIndices< int > dst_faces, const Span< int > dst_corner_verts, BVHTreeFromMesh &bvhtree, MutableSpan< int > nearest_faces) |
| static void | find_nearest_corners (const Span< float3 > src_positions, const OffsetIndices< int > src_faces, const Span< int > src_corner_verts, const Span< int > src_tri_faces, const Span< float3 > dst_positions, const Span< int > dst_corner_verts, const Span< int > nearest_vert_tris, MutableSpan< int > nearest_corners) |
| static void | find_nearest_edges (const Span< float3 > src_positions, const Span< int2 > src_edges, const OffsetIndices< int > src_faces, const Span< int > src_corner_edges, const Span< int > src_tri_faces, const Span< float3 > dst_positions, const Span< int2 > dst_edges, BVHTreeFromMesh &bvhtree, MutableSpan< int > nearest_edges) |
| static void | gather_attributes (const Span< StringRef > ids, const AttributeAccessor src_attributes, const AttrDomain domain, const Span< int > index_map, MutableAttributeAccessor dst_attributes) |
| static void | free_mesh_eval (MeshRuntime &mesh_runtime) |
| static void | free_batch_cache (MeshRuntime &mesh_runtime) |
| static void | free_bvh_caches (MeshRuntime &mesh_runtime) |
| static int | reset_bits_and_count (MutableBitSpan bits, const Span< int > indices_to_reset) |
| static void | bit_vector_with_reset_bits_or_empty (const Span< int > indices_to_reset, const int indexed_elems_num, BitVector<> &r_bits, int &r_count) |
| static void | try_tag_verts_no_face_none (const Mesh &mesh) |
| template<typename T> | |
| ArrayState< T > | attribute_reader_to_array_state (const AttributeReader< T > &attr) |
| template<typename T> | |
| bool | attribute_reader_matches_array_state (const ArrayState< T > &array_state, const AttributeReader< T > &attr) |
| static double | get_current_time_in_seconds () |
| static void | write_node_socket_default_value (BlendWriter *writer, const bNodeSocket *sock) |
| static void | ntree_set_typeinfo (bNodeTree *ntree, bNodeTreeType *typeinfo) |
| static void | node_socket_set_typeinfo (bNodeTree *ntree, bNodeSocket *sock, bNodeSocketType *typeinfo) |
| static void | node_socket_copy (bNodeSocket *sock_dst, const bNodeSocket *sock_src, const int flag) |
| static void | free_localized_node_groups (bNodeTree *ntree) |
| static bool | socket_id_user_decrement (bNodeSocket *sock) |
| static void | ntree_init_data (ID *id) |
| static void | ntree_copy_data (Main *, std::optional< Library * >, ID *id_dst, const ID *id_src, const int flag) |
| static void | ntree_free_data (ID *id) |
| static void | library_foreach_node_socket (bNodeSocket *sock, LibraryForeachIDData *data) |
| static void | node_foreach_id (ID *id, LibraryForeachIDData *data) |
| static void | node_foreach_cache (ID *id, IDTypeForeachCacheFunctionCallback function_callback, void *user_data) |
| static void | node_foreach_path (ID *id, BPathForeachPathData *bpath_data) |
| static void | node_foreach_working_space_color (ID *id, const IDTypeForeachColorFunctionCallback &fn) |
| static ID ** | node_owner_pointer_get (ID *id, const bool debug_relationship_assert) |
| static void | write_node_socket (BlendWriter *writer, const bNodeSocket *sock) |
| static void | node_blend_write_storage (BlendWriter *writer, bNodeTree *ntree, bNode *node) |
| static void | ntree_blend_write (BlendWriter *writer, ID *id, const void *id_address) |
| static bool | is_node_socket_supported (const bNodeSocket *sock) |
| static void | direct_link_node_socket_default_value (BlendDataReader *reader, bNodeSocket *sock) |
| static void | direct_link_node_socket_storage (BlendDataReader *reader, const bNode *node, bNodeSocket *sock) |
| static void | direct_link_node_socket (BlendDataReader *reader, const bNode *node, bNodeSocket *sock) |
| static void | remove_unsupported_sockets (ListBase *sockets, ListBase *links) |
| static void | node_blend_read_data_storage (BlendDataReader *reader, bNodeTree *ntree, bNode *node) |
| static void | node_update_idname_from_experimental (bNode &node) |
| static void | ntree_blend_read_data (BlendDataReader *reader, ID *id) |
| static void | ntree_blend_read_after_liblink (BlendLibReader *reader, ID *id) |
| static void | node_tree_asset_pre_save (void *asset_ptr, AssetMetaData *) |
| static void | node_tree_asset_on_mark_asset (void *asset_ptr, AssetMetaData *asset_data) |
| static void | node_tree_asset_on_clear_asset (void *asset_ptr, AssetMetaData *asset_data) |
| static void | node_add_sockets_from_type (bNodeTree *ntree, bNode *node, bNodeType *ntype) |
| static void | node_init (const bContext *C, bNodeTree *ntree, bNode *node) |
| static void | node_set_typeinfo (const bContext *C, bNodeTree *ntree, bNode *node, bNodeType *typeinfo) |
| static void | update_typeinfo (Main *bmain, bNodeTreeType *treetype, bNodeType *nodetype, bNodeSocketType *socktype, const bool unregister) |
| static auto & | get_node_tree_type_map () |
| static auto & | get_node_type_map () |
| static auto & | get_node_type_alias_map () |
| static auto & | get_socket_type_map () |
| static void | defer_free_tree_type (bNodeTreeType *tree_type) |
| static void | defer_free_node_type (bNodeType *ntype) |
| static void | defer_free_socket_type (bNodeSocketType *stype) |
| static void | ntree_free_type (void *treetype_v) |
| static void | node_free_type (void *nodetype_v) |
| static void | node_free_socket_type (void *socktype_v) |
| static bNodeSocket * | make_socket (bNodeTree *ntree, bNode *, const int in_out, ListBase *lb, const StringRefNull idname, const StringRefNull identifier, const StringRefNull name) |
| static void | socket_id_user_increment (bNodeSocket *sock) |
| static void | node_socket_free (bNodeSocket *sock, const bool do_id_user) |
| static void | iter_backwards_ex (const bNodeTree *ntree, bNode *node_start, bool(*callback)(bNode *, bNode *, void *), void *userdata, const char recursion_mask) |
| static void * | node_static_value_storage_for (bNode &node, const bNodeSocket &socket) |
| static void * | socket_value_storage (bNodeSocket &socket) |
| static int | node_count_links (const bNodeTree *ntree, const bNodeSocket *socket) |
| static void | adjust_multi_input_indices_after_removed_link (bNodeTree *ntree, const bNodeSocket *sock, const int deleted_index) |
| static bNodeTree * | node_tree_add_tree_do (Main *bmain, std::optional< Library * > owner_library, ID *owner_id, const bool is_embedded, const StringRef name, const StringRef idname) |
| static void | node_preview_init_tree_recursive (Map< bNodeInstanceKey, bNodePreview > &previews, bNodeTree *ntree, bNodeInstanceKey parent_key, const int xsize, const int ysize) |
| static void | collect_used_previews (Map< bNodeInstanceKey, bNodePreview > &previews, bNodeTree *ntree, bNodeInstanceKey parent_key, Set< bNodeInstanceKey > &used) |
| static bool | ntree_contains_tree_exec (const bNodeTree &tree_to_search_in, const bNodeTree &tree_to_search_for, Set< const bNodeTree * > &already_passed) |
| static void | update_socket_declarations (ListBase *sockets, Span< nodes::SocketDeclaration * > declarations) |
| static void | reset_socket_declarations (ListBase *sockets) |
| static bNodeInstanceKey | node_hash_int_str (bNodeInstanceKey hash, const char *str) |
| static Set< int > | get_known_node_types_set () |
| static bool | can_read_node_type (const bNode &node) |
| static void | node_replace_undefined_types (bNode *node) |
| static void | node_type_base_defaults (bNodeType &ntype) |
| static bool | node_poll_default (const bNodeType *, const bNodeTree *, const char **) |
| static bool | node_poll_instance_default (const bNode *node, const bNodeTree *ntree, const char **r_disabled_hint) |
| static int16_t | get_next_auto_legacy_type () |
| static const CPPType * | slow_socket_type_to_geo_nodes_base_cpp_type (const eNodeSocketDatatype type) |
| static void | unique_socket_template_identifier (bNodeSocketTemplate *list, bNodeSocketTemplate *ntemp, const char defname[], const char delim) |
| template<typename T> | |
| static std::optional< eNodeSocketDatatype > | static_type_to_socket_type () |
| template<typename T> | |
| static bool | static_type_is_base_socket_type (const eNodeSocketDatatype socket_type) |
| std::ostream & | operator<< (std::ostream &stream, const SocketValueVariant &value_variant) |
| static int | get_internal_link_type_priority (const bNodeSocketType *from, const bNodeSocketType *to) |
| static bool | is_tree_changed (const bNodeTree &tree) |
| static void | update_zone_depths (bNodeTreeZone &zone) |
| static Vector< std::unique_ptr< bNodeTreeZone > > | find_zone_nodes (const bNodeTree &tree, bNodeTreeZones &owner, Map< const bNode *, bNodeTreeZone * > &r_zone_by_inout_node) |
| static std::optional< Vector< ZoneRelation > > | get_direct_zone_relations (const Span< bNodeTreeZone * > all_zones, const BitGroupVector<> &depend_on_input_flag_array) |
| static bool | update_zone_per_node (const Span< const bNode * > all_nodes, const Span< bNodeTreeZone * > all_zones, const BitGroupVector<> &depend_on_input_flag_array, const Map< const bNode *, bNodeTreeZone * > &zone_by_inout_node, Map< int, int > &r_zone_by_node_id, Vector< int > &r_node_outside_zones) |
| static void | update_zone_border_links (const bNodeTree &tree, bNodeTreeZones &tree_zones) |
| static std::unique_ptr< bNodeTreeZones > | discover_tree_zones (const bNodeTree &tree) |
| static Vector< const bNodeZoneType * > & | get_zone_types_vector () |
| static Vector< const bNode * > | node_ids_to_vector (const bNodeTree &tree, const Vector< int > &node_ids) |
| std::ostream & | operator<< (std::ostream &stream, const bNodeTreeZones &zones) |
| std::ostream & | operator<< (std::ostream &stream, const bNodeTreeZone &zone) |
| static std::unique_ptr< pbvh::Tree > | build_pbvh_for_dynamic_topology (Object *ob) |
| static std::unique_ptr< pbvh::Tree > | build_pbvh_from_regular_mesh (Object *ob, const Mesh *me_eval_deform) |
| static std::unique_ptr< pbvh::Tree > | build_pbvh_from_ccg (Object *ob, SubdivCCG &subdiv_ccg) |
| static void | tag_position_changed (void *owner) |
| static void | tag_radius_changed (void *owner) |
| static const auto & | changed_tags () |
| static const auto & | builtin_attributes () |
| static constexpr AttributeAccessorFunctions | get_pointcloud_accessor_functions () |
| template<typename From, typename To, To(*)(const From &) ConversionF> | |
| static void | add_implicit_conversion (DataTypeConversions &conversions) |
| static float2 | float_to_float2 (const float &a) |
| static float3 | float_to_float3 (const float &a) |
| static float4 | float_to_float4 (const float &a) |
| static int32_t | float_to_int (const float &a) |
| static short2 | float_to_short2 (const float &a) |
| static int2 | float_to_int2 (const float &a) |
| static bool | float_to_bool (const float &a) |
| static int8_t | float_to_int8 (const float &a) |
| static ColorGeometry4f | float_to_color (const float &a) |
| static ColorGeometry4b | float_to_byte_color (const float &a) |
| static math::Quaternion | float_to_quaternion (const float &a) |
| static float3 | float2_to_float3 (const float2 &a) |
| static float4 | float2_to_float4 (const float2 &a) |
| static float | float2_to_float (const float2 &a) |
| static int | float2_to_int (const float2 &a) |
| static short2 | float2_to_short2 (const float2 &a) |
| static int2 | float2_to_int2 (const float2 &a) |
| static bool | float2_to_bool (const float2 &a) |
| static int8_t | float2_to_int8 (const float2 &a) |
| static ColorGeometry4f | float2_to_color (const float2 &a) |
| static ColorGeometry4b | float2_to_byte_color (const float2 &a) |
| static bool | float3_to_bool (const float3 &a) |
| static int8_t | float3_to_int8 (const float3 &a) |
| static float | float3_to_float (const float3 &a) |
| static int | float3_to_int (const float3 &a) |
| static short2 | float3_to_short2 (const float3 &a) |
| static int2 | float3_to_int2 (const float3 &a) |
| static float2 | float3_to_float2 (const float3 &a) |
| static float4 | float3_to_float4 (const float3 &a) |
| static ColorGeometry4f | float3_to_color (const float3 &a) |
| static ColorGeometry4b | float3_to_byte_color (const float3 &a) |
| static math::Quaternion | float3_to_quaternion (const float3 &a) |
| static bool | float4_to_bool (const float4 &a) |
| static int8_t | float4_to_int8 (const float4 &a) |
| static float | float4_to_float (const float4 &a) |
| static int | float4_to_int (const float4 &a) |
| static short2 | float4_to_short2 (const float4 &a) |
| static int2 | float4_to_int2 (const float4 &a) |
| static float2 | float4_to_float2 (const float4 &a) |
| static float3 | float4_to_float3 (const float4 &a) |
| static ColorGeometry4f | float4_to_color (const float4 &a) |
| static ColorGeometry4b | float4_to_byte_color (const float4 &a) |
| static math::Quaternion | float4_to_quaternion (const float4 &a) |
| static bool | int_to_bool (const int32_t &a) |
| static int8_t | int_to_int8 (const int32_t &a) |
| static short2 | int_to_short2 (const int32_t &a) |
| static int2 | int_to_int2 (const int32_t &a) |
| static float | int_to_float (const int32_t &a) |
| static float2 | int_to_float2 (const int32_t &a) |
| static float3 | int_to_float3 (const int32_t &a) |
| static float4 | int_to_float4 (const int32_t &a) |
| static ColorGeometry4f | int_to_color (const int32_t &a) |
| static ColorGeometry4b | int_to_byte_color (const int32_t &a) |
| static bool | short2_to_bool (const short2 &a) |
| static float2 | short2_to_float2 (const short2 &a) |
| static int | short2_to_int (const short2 &a) |
| static int2 | short2_to_int2 (const short2 &a) |
| static int8_t | short2_to_int8 (const short2 &a) |
| static float | short2_to_float (const short2 &a) |
| static float3 | short2_to_float3 (const short2 &a) |
| static float4 | short2_to_float4 (const short2 &a) |
| static ColorGeometry4f | short2_to_color (const short2 &a) |
| static ColorGeometry4b | short2_to_byte_color (const short2 &a) |
| static bool | int2_to_bool (const int2 &a) |
| static float2 | int2_to_float2 (const int2 &a) |
| static int | int2_to_int (const int2 &a) |
| static short2 | int2_to_short2 (const int2 &a) |
| static int8_t | int2_to_int8 (const int2 &a) |
| static float | int2_to_float (const int2 &a) |
| static float3 | int2_to_float3 (const int2 &a) |
| static float4 | int2_to_float4 (const int2 &a) |
| static ColorGeometry4f | int2_to_color (const int2 &a) |
| static ColorGeometry4b | int2_to_byte_color (const int2 &a) |
| static bool | int8_to_bool (const int8_t &a) |
| static int | int8_to_int (const int8_t &a) |
| static short2 | int8_to_short2 (const int8_t &a) |
| static int2 | int8_to_int2 (const int8_t &a) |
| static float | int8_to_float (const int8_t &a) |
| static float2 | int8_to_float2 (const int8_t &a) |
| static float3 | int8_to_float3 (const int8_t &a) |
| static float4 | int8_to_float4 (const int8_t &a) |
| static ColorGeometry4f | int8_to_color (const int8_t &a) |
| static ColorGeometry4b | int8_to_byte_color (const int8_t &a) |
| static float | bool_to_float (const bool &a) |
| static int8_t | bool_to_int8 (const bool &a) |
| static int32_t | bool_to_int (const bool &a) |
| static short2 | bool_to_short2 (const bool &a) |
| static int2 | bool_to_int2 (const bool &a) |
| static float2 | bool_to_float2 (const bool &a) |
| static float3 | bool_to_float3 (const bool &a) |
| static float4 | bool_to_float4 (const bool &a) |
| static ColorGeometry4f | bool_to_color (const bool &a) |
| static ColorGeometry4b | bool_to_byte_color (const bool &a) |
| static bool | color_to_bool (const ColorGeometry4f &a) |
| static float | color_to_float (const ColorGeometry4f &a) |
| static int32_t | color_to_int (const ColorGeometry4f &a) |
| static short2 | color_to_short2 (const ColorGeometry4f &a) |
| static int2 | color_to_int2 (const ColorGeometry4f &a) |
| static int8_t | color_to_int8 (const ColorGeometry4f &a) |
| static float2 | color_to_float2 (const ColorGeometry4f &a) |
| static float3 | color_to_float3 (const ColorGeometry4f &a) |
| static float4 | color_to_float4 (const ColorGeometry4f &a) |
| static ColorGeometry4b | color_to_byte_color (const ColorGeometry4f &a) |
| static bool | byte_color_to_bool (const ColorGeometry4b &a) |
| static float | byte_color_to_float (const ColorGeometry4b &a) |
| static int32_t | byte_color_to_int (const ColorGeometry4b &a) |
| static short2 | byte_color_to_short2 (const ColorGeometry4b &a) |
| static int2 | byte_color_to_int2 (const ColorGeometry4b &a) |
| static int8_t | byte_color_to_int8 (const ColorGeometry4b &a) |
| static float2 | byte_color_to_float2 (const ColorGeometry4b &a) |
| static float3 | byte_color_to_float3 (const ColorGeometry4b &a) |
| static float4 | byte_color_to_float4 (const ColorGeometry4b &a) |
| static ColorGeometry4f | byte_color_to_color (const ColorGeometry4b &a) |
| static math::Quaternion | float4x4_to_quaternion (const float4x4 &a) |
| static float3 | quaternion_to_float3 (const math::Quaternion &a) |
| static float4 | quaternion_to_float4 (const math::Quaternion &a) |
| static float4x4 | quaternion_to_float4x4 (const math::Quaternion &a) |
| static DataTypeConversions | create_implicit_conversions () |
| static void | call_convert_to_uninitialized_fn (const GVArray &from, const mf::MultiFunction &fn, const IndexMask &mask, GMutableSpan to) |
| static void | call_convert_to_uninitialized_fn (const GVArray &from, const mf::MultiFunction &fn, GMutableSpan to) |
Attribute API | |
| Vector< AttributeTransferData > | retrieve_attributes_for_transfer (const AttributeAccessor src_attributes, MutableAttributeAccessor dst_attributes, AttrDomainMask domain_mask, const AttributeFilter &attribute_filter={}) |
| static GVArray | try_adapt_data_type (GVArray varray, const CPPType &to_type) |
| static GAttributeReader | adapt_domain_and_type_if_necessary (GAttributeReader attribute, const std::optional< AttrDomain > domain, const std::optional< AttrType > data_type, const AttributeAccessor &accessor) |
Common Utils | |
| BVHTreeFromMesh | bvhtree_from_mesh_verts_ex (Span< float3 > vert_positions, const IndexMask &verts_mask) |
| BVHTreeFromMesh | bvhtree_from_mesh_edges_ex (Span< float3 > vert_positions, Span< int2 > edges, const IndexMask &edges_mask) |
| BVHTreeFromMesh | 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) |
| static BVHTreeFromMesh | create_verts_tree_data (const BVHTree *tree, const Span< float3 > positions) |
| static BVHTreeFromMesh | create_verts_tree_data (std::unique_ptr< BVHTree, BVHTreeDeleter > tree, const Span< float3 > positions) |
| static BVHTreeFromMesh | create_edges_tree_data (const BVHTree *tree, const Span< float3 > positions, const Span< int2 > edges) |
| static BVHTreeFromMesh | create_edges_tree_data (std::unique_ptr< BVHTree, BVHTreeDeleter > tree, const Span< float3 > positions, const Span< int2 > edges) |
| static BVHTreeFromMesh | create_legacy_faces_tree_data (const BVHTree *tree, const Span< float3 > positions, const MFace *face) |
| static BVHTreeFromMesh | create_tris_tree_data (const BVHTree *tree, const Span< float3 > positions, const Span< int > corner_verts, const Span< int3 > corner_tris) |
| static BVHTreeFromMesh | create_tris_tree_data (std::unique_ptr< BVHTree, BVHTreeDeleter > tree, const Span< float3 > positions, const Span< int > corner_verts, const Span< int3 > corner_tris) |
| static std::unique_ptr< BVHTree, BVHTreeDeleter > | bvhtree_new_common (int elems_num) |
| static std::unique_ptr< BVHTree, BVHTreeDeleter > | create_tree_from_verts (const Span< float3 > positions, const IndexMask &verts_mask) |
| static std::unique_ptr< BVHTree, BVHTreeDeleter > | create_tree_from_edges (const Span< float3 > positions, const Span< int2 > edges, const IndexMask &edges_mask) |
| static std::unique_ptr< BVHTree, BVHTreeDeleter > | create_tree_from_legacy_faces (const Span< float3 > positions, const Span< MFace > faces) |
| static std::unique_ptr< BVHTree, BVHTreeDeleter > | create_tree_from_tris (const Span< float3 > positions, const Span< int > corner_verts, const Span< int3 > corner_tris) |
| static std::unique_ptr< BVHTree, BVHTreeDeleter > | create_tree_from_tris (const Span< float3 > positions, const OffsetIndices< int > faces, const Span< int > corner_verts, const Span< int3 > corner_tris, const IndexMask &faces_mask) |
| static BitVector | loose_verts_no_hidden_mask_get (const Mesh &mesh) |
| static BitVector | loose_edges_no_hidden_mask_get (const Mesh &mesh) |
Local Callbacks | |
| float | bvhtree_ray_tri_intersection (const BVHTreeRay *ray, float m_dist, const float v0[3], const float v1[3], const float v2[3]) |
| float | bvhtree_sphereray_tri_intersection (const BVHTreeRay *ray, float radius, float m_dist, const float v0[3], const float v1[3], const float v2[3]) |
| static void | mesh_faces_nearest_point (void *userdata, int index, const float co[3], BVHTreeNearest *nearest) |
| static void | mesh_corner_tris_nearest_point (void *userdata, int index, const float co[3], BVHTreeNearest *nearest) |
| static void | mesh_faces_spherecast (void *userdata, int index, const BVHTreeRay *ray, BVHTreeRayHit *hit) |
| static void | mesh_corner_tris_spherecast (void *userdata, int index, const BVHTreeRay *ray, BVHTreeRayHit *hit) |
| static void | mesh_edges_nearest_point (void *userdata, int index, const float co[3], BVHTreeNearest *nearest) |
| static void | mesh_verts_spherecast_do (int index, const float v[3], const BVHTreeRay *ray, BVHTreeRayHit *hit) |
| static void | mesh_verts_spherecast (void *userdata, int index, const BVHTreeRay *ray, BVHTreeRayHit *hit) |
| static void | mesh_edges_spherecast (void *userdata, int index, const BVHTreeRay *ray, BVHTreeRayHit *hit) |
Point Cloud BVH Building | |
| BVHTreeFromPointCloud | bvhtree_from_pointcloud_get (const PointCloud &pointcloud, const IndexMask &points_mask) |
| static BVHTreeFromPointCloud | create_points_tree_data (const BVHTree *tree, const Span< float3 > positions) |
| static BVHTreeFromPointCloud | create_pointcloud_tree_data (const BVHTree *tree, const Span< float3 > positions) |
| static BVHTreeFromPointCloud | create_pointcloud_tree_data (std::unique_ptr< BVHTree, BVHTreeDeleter > tree, const Span< float3 > positions) |
Operations | |
| CurvesGeometry | curves_copy_point_selection (const CurvesGeometry &curves, const IndexMask &points_to_copy, const AttributeFilter &attribute_filter) |
| CurvesGeometry | curves_copy_curve_selection (const CurvesGeometry &curves, const IndexMask &curves_to_copy, const AttributeFilter &attribute_filter) |
| CurvesGeometry | curves_new_no_attributes (int point_num, int curve_num) |
| static void | translate_positions (MutableSpan< float3 > positions, const float3 &translation) |
| static void | copy_point_selection_custom_knots (const CurvesGeometry &curves, const IndexMask &points_to_copy, const Span< int > curve_point_counts, CurvesGeometry &dst_curves) |
| static void | copy_curve_selection_custom_knots (const CurvesGeometry &curves, const IndexMask &curves_to_copy, CurvesGeometry &dst_curves) |
| static void | reverse_custom_knots (MutableSpan< float > custom_knots) |
| template<typename T> | |
| static void | reverse_curve_point_data (const CurvesGeometry &curves, const IndexMask &curve_selection, MutableSpan< T > data) |
| template<typename T> | |
| static void | reverse_swap_curve_point_data (const CurvesGeometry &curves, const IndexMask &curve_selection, MutableSpan< T > data_a, MutableSpan< T > data_b) |
Accessors | |
| std::array< int, CURVE_TYPES_NUM > | calculate_type_counts (const VArray< int8_t > &types) |
Custom Data C++ API | |
| std::optional< VolumeGridType > | custom_data_type_to_volume_grid_type (eCustomDataType type) |
| std::optional< eCustomDataType > | volume_grid_type_to_custom_data_type (VolumeGridType type) |
Curve Normals Access | |
| VArray< float3 > | curve_normals_varray (const CurvesGeometry &curves, AttrDomain domain) |
| static Array< float3 > | curve_normal_point_domain (const CurvesGeometry &curves) |
Mesh Normals Field Input | |
| VArray< float3 > | mesh_normals_varray (const Mesh &mesh, const IndexMask &mask, AttrDomain domain, bool no_corner_normals=false, bool true_normals=false) |
Geometry Set | |
| bool | attribute_is_builtin_on_component_type (const GeometryComponent::Type type, StringRef name) |
| bool | object_has_geometry_set_instances (const Object &object) |
| std::ostream & | operator<< (std::ostream &stream, const GeometrySet &geometry_set) |
| static void | gather_component_types_recursive (const GeometrySet &geometry_set, const bool include_instances, const bool ignore_empty, Vector< GeometryComponent::Type > &r_types) |
Topology Queries | |
| Mesh * | mesh_new_no_attributes (int verts_num, int edges_num, int faces_num, int corners_num) |
| void | mesh_calc_edges (Mesh &mesh, bool keep_existing_edges, bool select_new_edges) |
| void | mesh_calc_edges (Mesh &mesh, bool keep_existing_edges, bool select_new_edges, const AttributeFilter &attribute_filter) |
| void | mesh_translate (Mesh &mesh, const float3 &translation, bool do_shape_keys) |
| void | mesh_transform (Mesh &mesh, const float4x4 &transform, bool do_shape_keys) |
| void | mesh_flip_faces (Mesh &mesh, const IndexMask &selection) |
| void | mesh_ensure_required_data_layers (Mesh &mesh) |
| void | mesh_vert_normals_assign (Mesh &mesh, Span< float3 > vert_normals) |
| void | mesh_vert_normals_assign (Mesh &mesh, Vector< float3 > vert_normals) |
| void | mesh_smooth_set (Mesh &mesh, bool use_smooth, bool keep_sharp_edges=false) |
| void | mesh_sharp_edges_set_from_angle (Mesh &mesh, float angle, bool keep_sharp_edges=false) |
| void | mesh_edge_hide_from_vert (Span< int2 > edges, Span< bool > hide_vert, MutableSpan< bool > hide_edge) |
| void | mesh_face_hide_from_vert (OffsetIndices< int > faces, Span< int > corner_verts, Span< bool > hide_vert, MutableSpan< bool > hide_poly) |
| void | mesh_hide_vert_flush (Mesh &mesh) |
| void | mesh_hide_face_flush (Mesh &mesh) |
| void | mesh_select_vert_flush (Mesh &mesh) |
| void | mesh_select_edge_flush (Mesh &mesh) |
| void | mesh_select_face_flush (Mesh &mesh) |
| void | mesh_ensure_default_color_attribute_on_add (Mesh &mesh, StringRef id, AttrDomain domain, bke::AttrType data_type) |
| void | mesh_data_update (Depsgraph &depsgraph, const Scene &scene, Object &ob, const CustomData_MeshMasks &dataMask) |
| void | mesh_remove_invalid_attribute_strings (Mesh &mesh) |
| void | mesh_apply_spatial_organization (Mesh &mesh) |
| const AttributeAccessorFunctions & | mesh_attribute_accessor_functions () |
Generic API, Trees | |
| bNodeTreeType * | node_tree_type_find (StringRef idname) |
| void | node_tree_type_add (bNodeTreeType &nt) |
| void | node_tree_type_free_link (const bNodeTreeType &nt) |
| bool | node_tree_is_registered (const bNodeTree &ntree) |
| Span< bNodeTreeType * > | node_tree_types_get () |
| void | node_tree_set_type (bNodeTree &ntree) |
| bNodeTree * | node_tree_add_tree (Main *bmain, StringRef name, StringRef idname) |
| bNodeTree * | node_tree_add_in_lib (Main *bmain, Library *owner_library, StringRefNull name, StringRefNull idname) |
| void | node_tree_free_embedded_tree (bNodeTree *ntree) |
| bNodeTree ** | node_tree_ptr_from_id (ID *id) |
| bNodeTree * | node_tree_from_id (ID *id) |
| bool | node_tree_contains_tree (const bNodeTree &tree_to_search_in, const bNodeTree &tree_to_search_for) |
| void | node_tree_update_all_users (Main *main, ID *id) |
| void | node_tree_set_output (bNodeTree &ntree) |
| bNodeTree * | node_tree_localize (bNodeTree *ntree, std::optional< ID * > new_owner_id) |
| void | node_tree_blend_write (BlendWriter *writer, bNodeTree *ntree) |
Node Tree Iterator | |
Utility macro for visiting every node tree in the library data, including local bNodeTree blocks in other IDs. This avoids the need for callback functions and allows executing code in a single inner code block. Variables:
Examples: FOREACH_NODETREE_BEGIN(bmain, nodetree, id) {
if (id == nodetree)
printf("This is a linkable node tree");
FOREACH_NODETREE_BEGIN(bmain, nodetree, id) {
if (nodetree->idname == "ShaderNodeTree")
printf("This is a shader node tree);
if (GS(id) == ID_MA)
printf(" and it's owned by a material");
} FOREACH_NODETREE_END;
#define FOREACH_NODETREE_BEGIN(bmain, _nodetree, _id) Definition BKE_node.hh:871 | |
| void | node_tree_iterator_init (NodeTreeIterStore *ntreeiter, Main *bmain) |
| bool | node_tree_iterator_step (NodeTreeIterStore *ntreeiter, bNodeTree **r_nodetree, ID **r_id) |
Node Tree | |
| void | node_tree_remove_layer_n (bNodeTree *ntree, Scene *scene, int layer_index) |
| void | node_system_init () |
| void | node_system_exit () |
| bNodeTree * | node_tree_add_tree_embedded (Main *bmain, ID *owner_id, StringRefNull name, StringRefNull idname) |
| void | node_tree_free_tree (bNodeTree &ntree) |
| bNodeTree * | node_tree_copy_tree_ex (const bNodeTree &ntree, Main *bmain, bool do_id_user) |
| bNodeTree * | node_tree_copy_tree (Main *bmain, const bNodeTree &ntree) |
| void | node_tree_free_local_node (bNodeTree &ntree, bNode &node) |
| void | node_tree_update_all_new (Main &main) |
| void | node_update_asset_metadata (bNodeTree &node_tree) |
| void | node_tree_node_flag_set (bNodeTree &ntree, int flag, bool enable) |
| void | node_tree_local_merge (Main *bmain, bNodeTree *localtree, bNodeTree *ntree) |
| void | node_tree_blend_read_data (BlendDataReader *reader, ID *owner_id, bNodeTree *ntree) |
| bool | node_is_static_socket_type (const bNodeSocketType &stype) |
| StringRefNull | node_socket_sub_type_label (int subtype) |
| void | node_remove_socket_ex (bNodeTree &ntree, bNode &node, bNodeSocket &sock, bool do_id_user) |
| void | node_modify_socket_type (bNodeTree &ntree, bNode &node, bNodeSocket &sock, StringRefNull idname) |
| void | node_unlink_node (bNodeTree &ntree, bNode &node) |
| void | node_unlink_attached (bNodeTree *ntree, const bNode *parent) |
| void | node_rebuild_id_vector (bNodeTree &node_tree) |
| bNode * | node_copy_with_mapping (bNodeTree *dst_tree, const bNode &node_src, int flag, std::optional< StringRefNull > dst_unique_name, std::optional< int > dst_unique_identifier, Map< const bNodeSocket *, bNodeSocket * > &new_socket_map, bool allow_duplicate_names=false) |
| void | node_socket_move_default_value (Main &bmain, bNodeTree &tree, bNodeSocket &src, bNodeSocket &dst) |
| void | node_free_node (bNodeTree *tree, bNode &node) |
| void | node_node_foreach_id (bNode *node, LibraryForeachIDData *data) |
| void | node_link_set_mute (bNodeTree &ntree, bNodeLink &link, const bool muted) |
| bool | node_link_is_selected (const bNodeLink &link) |
| void | node_internal_relink (bNodeTree &ntree, bNode &node) |
| void | node_position_relative (bNode &from_node, const bNode &to_node, const bNodeSocket *from_sock, const bNodeSocket &to_sock) |
| void | node_position_propagate (bNode &node) |
| bNode * | node_find_root_parent (bNode &node) |
| void | node_chain_iterator (const bNodeTree *ntree, const bNode *node_start, bool(*callback)(bNode *, bNode *, void *, const bool), void *userdata, bool reversed) |
| void | node_chain_iterator_backwards (const bNodeTree *ntree, bNode *node_start, bool(*callback)(bNode *, bNode *, void *), void *userdata, int recursion_lvl) |
| void | node_parents_iterator (bNode *node, bool(*callback)(bNode *, void *), void *userdata) |
| bool | node_is_dangling_reroute (const bNodeTree &ntree, const bNode &node) |
| bNode * | node_get_active_paint_canvas (bNodeTree &ntree) |
| bool | node_supports_active_flag (const bNode &node, int sub_activity) |
| Does the given node supports the sub active flag. | |
| void | node_set_socket_availability (bNodeTree &ntree, bNodeSocket &sock, bool is_available) |
| bool | node_declaration_ensure (bNodeTree &ntree, bNode &node) |
| bool | node_declaration_ensure_on_outdated_node (bNodeTree &ntree, bNode &node) |
| void | node_socket_declarations_update (bNode *node) |
| bool | node_preview_used (const bNode &node) |
| bNodePreview * | node_preview_verify (Map< bNodeInstanceKey, bNodePreview > &previews, bNodeInstanceKey key, int xsize, int ysize, bool create) |
| void | node_preview_init_tree (bNodeTree *ntree, int xsize, int ysize) |
| void | node_preview_remove_unused (bNodeTree *ntree) |
| void | node_preview_merge_tree (bNodeTree *to_ntree, bNodeTree *from_ntree, bool remove_old) |
Evaluation | |
| template<typename CountFn> | |
| void | build_offsets (MutableSpan< int > offsets, const CountFn &count_fn) |
| static void | calculate_evaluated_offsets (const CurvesGeometry &curves, MutableSpan< int > offsets, MutableSpan< int > all_bezier_offsets) |
| static void | rotate_directions_around_axes (MutableSpan< float3 > directions, const Span< float3 > axes, const Span< float > angles) |
| static void | normalize_span (MutableSpan< float3 > data) |
| static void | evaluate_generic_data_for_curve (const EvalData &eval_data, const int curve_index, const GSpan src, GMutableSpan dst) |
Domain Interpolation | |
| template<typename T> | |
| static void | adapt_curve_domain_point_to_curve_impl (const CurvesGeometry &curves, const VArray< T > &old_values, MutableSpan< T > r_values) |
| template<> | |
| void | adapt_curve_domain_point_to_curve_impl (const CurvesGeometry &curves, const VArray< bool > &old_values, MutableSpan< bool > r_values) |
| static GVArray | adapt_curve_domain_point_to_curve (const CurvesGeometry &curves, const GVArray &varray) |
| template<typename T> | |
| static void | adapt_curve_domain_curve_to_point_impl (const CurvesGeometry &curves, const VArray< T > &old_values, MutableSpan< T > r_values) |
| static GVArray | adapt_curve_domain_curve_to_point (const CurvesGeometry &curves, const GVArray &varray) |
Curve Length Field Input | |
| static VArray< float > | construct_curve_length_gvarray (const CurvesGeometry &curves, const AttrDomain domain) |
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) |
| const char * | node_socket_translation_context (const bNodeSocket &sock) |
| NodeColorTag | node_color_tag (const bNode &node) |
| 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::AttrUpdateOnChange = void (*)(void *owner) |
Definition at line 11 of file attribute_storage_access.hh.
| using blender::bke::bNodeClassCallback = void (*)(void *calldata, int nclass, StringRefNull name) |
Definition at line 492 of file BKE_node.hh.
| using blender::bke::BoneNameSet = blender::Set<std::string> |
Definition at line 689 of file BKE_armature.hh.
| using blender::bke::Clock = std::chrono::high_resolution_clock |
Definition at line 1486 of file blenkernel/intern/modifier.cc.
| using blender::bke::FoundFCurveCallback = blender::FunctionRef<void(FCurve *fcurve, const char *bone_name)> |
Definition at line 390 of file BKE_action.hh.
Definition at line 391 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 151 of file BKE_node.hh.
Definition at line 148 of file BKE_node.hh.
Definition at line 123 of file BKE_node.hh.
| using blender::bke::NodeDeclareFunction = void (*)(blender::nodes::NodeDeclarationBuilder &builder) |
Definition at line 122 of file BKE_node.hh.
| using blender::bke::NodeElemEvalFunction = void (*)(blender::nodes::value_elem::ElemEvalParams ¶ms) |
Definition at line 143 of file BKE_node.hh.
Definition at line 218 of file BKE_node.hh.
| using blender::bke::NodeExtraInfoFunction = void (*)(blender::nodes::NodeExtraInfoParams ¶ms) |
Definition at line 140 of file BKE_node.hh.
| using blender::bke::NodeFreeExecFunction = void (*)(void *nodedata) |
Definition at line 217 of file BKE_node.hh.
Definition at line 134 of file BKE_node.hh.
Definition at line 130 of file BKE_node.hh.
| using blender::bke::NodeGeometryExecFunction = void (*)(blender::nodes::GeoNodeExecParams params) |
Definition at line 121 of file BKE_node.hh.
Definition at line 137 of file BKE_node.hh.
Definition at line 220 of file BKE_node.hh.
Definition at line 70 of file BKE_node_runtime.hh.
Definition at line 214 of file BKE_node.hh.
Definition at line 145 of file BKE_node.hh.
Definition at line 141 of file BKE_node.hh.
| using blender::bke::NodeInverseEvalFunction = void (*)(blender::nodes::inverse_eval::InverseEvalParams ¶ms) |
Definition at line 144 of file BKE_node.hh.
| using blender::bke::NodeMaterialXFunction = void (*)(void *data, bNode *node, bNodeSocket *out) |
Definition at line 222 of file BKE_node.hh.
| using blender::bke::NodeMultiFunctionBuildFunction = void (*)(blender::nodes::NodeMultiFunctionBuilder &builder) |
Definition at line 120 of file BKE_node.hh.
| using blender::bke::NodeSocketPair = std::pair<bNode *, bNodeSocket *> |
Definition at line 206 of file node_tree_update.cc.
| using blender::bke::ObjectModifierPair = std::pair<Object *, ModifierData *> |
Definition at line 205 of file node_tree_update.cc.
| using blender::bke::SelectedBoneCallback = blender::FunctionRef<void(Bone *bone)> |
Definition at line 685 of file BKE_armature.hh.
| using blender::bke::SocketGetCPPValueFunction = void (*)(const void *socket_value, void *r_value) |
Definition at line 126 of file BKE_node.hh.
| using blender::bke::SocketGetGeometryNodesCPPValueFunction = SocketValueVariant (*)(const void *socket_value) |
Definition at line 127 of file BKE_node.hh.
| using blender::bke::TreeNodePair = std::pair<bNodeTree *, bNode *> |
Definition at line 204 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 1160 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 472 of file BKE_node.hh.
| Enumerator | |
|---|---|
| NODE_MENU_ITEMS_CONFLICT | |
Definition at line 19 of file BKE_node_enum.hh.
|
static |
Definition at line 725 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 718 of file blenkernel/intern/action.cc.
References blender::bke::idprop::create().
Referenced by action_asset_metadata_ensure().
|
static |
Definition at line 673 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_listbase_clear(), 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 488 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 434 of file blenkernel/intern/action.cc.
References BLI_listbase_clear(), and LISTBASE_FOREACH_MUTABLE.
Referenced by action_blend_write().
|
static |
Definition at line 478 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 400 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 459 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 119 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 243 of file blenkernel/intern/action.cc.
References BKE_LIB_FOREACHID_PROCESS_ID, 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_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 207 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 100 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 1822 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 1812 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 1789 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 1773 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 1748 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 688 of file attribute_access.cc.
References blender::bke::AttributeAccessor::adapt_domain(), attribute_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 614 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::from_single(), 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 469 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 444 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 416 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 538 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 525 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 504 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 483 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 279 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 264 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 334 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 314 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 293 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 227 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().
|
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 387 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 347 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 2068 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 347 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, 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 326 of file attribute_access.cc.
References CustomData_add_layer_named().
Referenced by add_custom_data_layer_from_attribute_init().
|
static |
Definition at line 335 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 162 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 3894 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 547 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 534 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 559 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 529 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 199 of file attribute_access.cc.
References blender::StringRefBase::startswith(), and UV_PINNED_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_store_named_attribute_cc::node_geo_exec(), and blender::nodes::node_geo_remove_attribute_cc::remove_attributes_recursive().
|
static |
Definition at line 493 of file armature_deform.cc.
References ARM_DEF_QUATERNION, get_armature_deform_params(), blender::MutableSpan< T >::index_range(), and blender::threading::parallel_for().
Referenced by BKE_armature_deform_coords_with_curves(), and BKE_armature_deform_coords_with_mesh().
|
static |
Definition at line 557 of file armature_deform.cc.
References ARM_DEF_QUATERNION, armature_deform_editmesh(), armature_vert_task_editmesh(), BLI_parallel_mempool_settings_defaults(), BLI_task_parallel_mempool(), BMEditMesh::bm, BM_mesh_elem_index_ensure(), BM_VERT, data, get_armature_deform_params(), and BMesh::vpool.
Referenced by armature_deform_editmesh(), and BKE_armature_deform_coords_with_editmesh().
|
static |
Definition at line 544 of file armature_deform.cc.
References armature_vert_task_editmesh(), armature_vert_task_with_dvert(), BM_ELEM_CD_GET_VOID_P, BM_elem_index_get, data, and v.
Referenced by armature_deform_editmesh(), and armature_vert_task_editmesh().
|
static |
Definition at line 465 of file armature_deform.cc.
References armature_vert_task_with_mixer(), i, and blender::bke::ArmatureDeformParams::vert_deform_mats.
Referenced by armature_vert_task_editmesh().
|
static |
Definition at line 363 of file armature_deform.cc.
References Bone::arm_head, Bone::arm_tail, BKE_defvert_find_weight(), bPoseChannel::bone, BONE_MULT_VG_ENV, BONE_NO_DEFORM, blender::IndexRange::contains(), copy_v3_v3(), Bone::dist, dist_bone_deform(), distfactor_to_bone(), MDeformVert::dw, Bone::flag, i, blender::math::interpolate(), params, pchan_bone_deform(), Bone::rad_head, Bone::rad_tail, MDeformVert::totweight, and blender::math::transform_point().
Referenced by armature_vert_task_with_dvert().
|
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, 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 314 of file asset_edit.cc.
References asset_edit_id_is_writable(), BKE_id_delete(), BKE_report(), BLI_delete(), lib, 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 415 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 406 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 328 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 396 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 401 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 305 of file asset_edit.cc.
References asset_edit_id_is_editable(), and asset_reload().
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 283 of file asset_edit.cc.
References asset_edit_id_is_writable(), asset_write_in_library(), BKE_report(), lib, name, 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 257 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(), GS, name, 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 366 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, name, 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, Library::runtime, STREQ, and U.
Referenced by asset_edit_id_from_weak_reference(), and asset_reload().
|
static |
Definition at line 197 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 name.
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, name, IDTypeInfo::name_plural, SEP, and STRNCPY().
Referenced by asset_blendfile_path_for_save().
|
static |
Definition at line 242 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 216 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 152 of file asset_edit.cc.
References blender::bke::blendfile::PartialWriteContext::ADD_DEPENDENCIES, BKE_idtype_get_info_from_id(), BKE_libblock_rename(), BKE_packedfile_pack_all(), BKE_reportf(), BLI_assert, 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(), ID_IS_PACKED, Main::is_asset_edit_file, blender::bke::blendfile::PartialWriteContext::MAKE_LOCAL, IDTypeInfo::name, name, RPT_ERROR, 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 168 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 blender::bke::attribute_accessor_functions::add(), blender::draw::pbvh::attribute_format(), blender::ed::space_node::attribute_search_exec_fn(), blender::ui::attribute_search_item_add(), BKE_color_attribute_supported(), blender::draw::bmesh_attribute_exists(), convert_storage_to_customdata(), blender::ed::geometry::geometry_attribute_convert_invoke(), blender::ed::geometry::geometry_color_attribute_convert_invoke(), blender::ed::geometry::geometry_color_attribute_convert_poll(), mesh_ensure_default_color_attribute_on_add(), meta_data_matches(), blender::ed::sculpt_paint::undo::save_active_attribute(), and blender::bke::bake::serialize_attributes().
|
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 228 of file attribute_access.cc.
References BLI_assert_unreachable, Bool, ColorByte, ColorFloat, Float, Float2, Float3, Float4x4, Int16_2D, Int32, Int32_2D, Int8, Quaternion, and String.
Referenced by attribute_data_type_highest_complexity().
Definition at line 266 of file attribute_access.cc.
References attribute_data_type_complexity(), and ColorFloat.
Referenced by blender::bke::GeometrySet::GatheredAttributes::add().
| 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 310 of file attribute_access.cc.
References attribute_domain_priority(), and Corner.
Referenced by blender::bke::GeometrySet::GatheredAttributes::add().
|
static |
Definition at line 286 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(), name, 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(), name, and blender::bke::AttributeFilter::Process.
Referenced by blender::ed::curves::pen_tool::add_single_point_and_curve(), 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::curves::pen_tool::extrude_curves(), blender::ed::greasepencil::extrude_grease_pencil_curves(), blender::ed::greasepencil::grease_pencil_primitive_init_curves(), blender::ed::greasepencil::grease_pencil_primitive_update_curves(), blender::ed::curves::pen_tool::insert_point_to_curve(), 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(), filter, and name.
|
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(), filter, and name.
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().
| Attribute::DataVariant blender::bke::attribute_init_to_data | ( | const bke::AttrType | data_type, |
| const int64_t | domain_size, | ||
| const AttributeInit & | initializer ) |
Definition at line 67 of file attribute_storage_access.cc.
References blender::CPPType::alignment, attribute_type_to_cpp_type(), BLI_assert, BLI_assert_unreachable, blender::bke::AttributeInit::Construct, data, blender::bke::AttributeInit::DefaultValue, blender::bke::Attribute::ArrayData::from_constructed(), blender::bke::Attribute::ArrayData::from_default_value(), blender::GVArrayCommon::index_range(), blender::implicit_sharing::info_for_mem_free(), init(), blender::GVArrayCommon::materialize_to_uninitialized(), MEM_malloc_arrayN_aligned, blender::bke::AttributeInit::MoveArray, blender::bke::AttributeInit::Shared, blender::CPPType::size, blender::GVArrayCommon::size(), blender::bke::AttributeInit::type, blender::GVArrayCommon::type(), and blender::bke::AttributeInit::VArray.
Referenced by blender::bke::curves::get_curves_accessor_functions(), blender::bke::greasepencil::get_grease_pencil_accessor_functions(), get_instances_accessor_functions(), and get_pointcloud_accessor_functions().
| bool blender::bke::attribute_is_builtin_on_component_type | ( | const GeometryComponent::Type | type, |
| StringRef | name ) |
Definition at line 671 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, name, 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, name, 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 name.
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_store_named_attribute_cc::node_geo_exec(), blender::bke::MutableAttributeAccessor::remove_anonymous(), blender::nodes::node_geo_remove_attribute_cc::remove_attributes_recursive(), 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, |
| 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 573 of file attribute_storage.cc.
References blender::bke::AttributeStorage::BlendWriteData::attributes, blender::StringRefNull::c_str(), blender::ResourceScope::construct(), Attribute::data, AttributeArray::data, AttributeSingle::data, blender::bke::Attribute::data(), data, Attribute::data_type, blender::bke::Attribute::data_type(), Attribute::domain, blender::bke::Attribute::domain(), Attribute::name, blender::bke::Attribute::name(), blender::bke::AttributeStorage::BlendWriteData::scope, Attribute::storage_type, and blender::bke::Attribute::storage_type().
Referenced by blender::bke::CurvesGeometry::blend_write_prepare(), grease_pencil_blend_write(), mesh_blend_write(), and pointcloud_blend_write().
| GAttributeReader blender::bke::attribute_to_reader | ( | const Attribute & | attribute, |
| const AttrDomain | domain, | ||
| const int64_t | domain_size ) |
Definition at line 12 of file attribute_storage_access.cc.
References Array, attribute_type_to_cpp_type(), BLI_assert_unreachable, blender::bke::Attribute::data(), data, blender::bke::Attribute::data_type(), blender::GVArray::from_single_ref(), blender::GVArray::from_span(), Single, and blender::bke::Attribute::storage_type().
Referenced by blender::bke::curves::get_curves_accessor_functions(), blender::bke::greasepencil::get_grease_pencil_accessor_functions(), get_instances_accessor_functions(), and get_pointcloud_accessor_functions().
| GAttributeWriter blender::bke::attribute_to_writer | ( | void * | owner, |
| const Map< StringRef, AttrUpdateOnChange > & | changed_tags, | ||
| const int64_t | domain_size, | ||
| Attribute & | attribute ) |
Definition at line 35 of file attribute_storage_access.cc.
References Array, attribute_type_to_cpp_type(), BLI_assert, BLI_assert_unreachable, changed_tags(), data, blender::bke::Attribute::data_for_write(), blender::bke::Attribute::data_type(), blender::bke::Attribute::domain(), blender::GVMutableArray::from_span(), blender::bke::Attribute::name(), Single, and blender::bke::Attribute::storage_type().
Referenced by blender::bke::curves::get_curves_accessor_functions(), blender::bke::greasepencil::get_grease_pencil_accessor_functions(), get_instances_accessor_functions(), and get_pointcloud_accessor_functions().
Definition at line 38 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 adapt_domain_and_type_if_necessary(), blender::geometry::add_instance_attributes_to_single_geometry(), attribute_init_to_data(), attribute_to_reader(), attribute_to_writer(), blender::bke::attribute_math::convert_to_static_type(), blender::ed::greasepencil::copy_layer_and_frames_to_target_object(), blender::bke::AttributeStorage::count_memory(), blender::bke::Attribute::data_for_write(), blender::geometry::execute_instances_tasks(), blender::geometry::fill_new_attribute(), blender::nodes::node_geo_tool_selection_cc::get_selection_field(), 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_store_named_attribute_cc::node_geo_exec(), blender::geometry::prepare_attribute_fallbacks(), read_shared_array(), blender::geometry::reorder_attribute_domain(), reorder_attribute_domain(), blender::geometry::reorder_attribute_groups(), blender::bke::AttributeStorage::resize(), blender::ed::geometry::rna_property_for_attribute_type_retrieve_value(), blender::ed::curves::set_attribute_exec(), blender::ed::pointcloud::set_attribute_exec(), shrink_attribute_storage(), and write_shared_array().
|
static |
Definition at line 201 of file armature_deform.cc.
References BKE_pchan_bbone_deform_segment_index(), and blend().
Referenced by dist_bone_deform(), and pchan_bone_deform().
|
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 53 of file armature_selection.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), and BKE_armature_find_selected_bones().
| SelectedBonesResult blender::bke::BKE_armature_find_selected_bones | ( | const bArmature * | armature, |
| SelectedBoneCallback | callback ) |
Definition at line 42 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().
| BoneNameSet blender::bke::BKE_pose_channel_find_selected_names | ( | const Object * | object | ) |
Definition at line 63 of file armature_selection.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), LISTBASE_FOREACH, and POSE_SELECTED.
Referenced by BKE_pose_backup_create_selected_bones().
|
static |
Definition at line 423 of file type_conversions.cc.
References bool_to_color(), and blender::color::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(), CURVE_TYPE_NURBS, 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(), blender::bke::CurvesGeometry::has_curve_with_type(), 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 632 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 2982 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 3005 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 2991 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 2189 of file mesh_legacy_convert.cc.
References LISTBASE_FOREACH, and result.
Referenced by is_auto_smooth_node_tree().
|
static |
Definition at line 734 of file blenkernel/intern/mesh.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), faces, i, blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), blender::threading::parallel_for(), and blender::Vector< T, InlineBufferCapacity, Allocator >::size().
Referenced by compute_local_mesh_groups().
|
static |
Indices into Instances::references_. Determines what data is instanced.
Definition at line 26 of file instances_attributes.cc.
References blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), blender::bke::AttrBuiltinInfo::deletable, Float4x4, Instance, and Int32.
Referenced by get_instances_accessor_functions(), and get_pointcloud_accessor_functions().
|
static |
Definition at line 34 of file pointcloud_attributes.cc.
References blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), blender::bke::AttrBuiltinInfo::deletable, Float, Float3, and Point.
| 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::color::decode().
|
static |
Definition at line 473 of file type_conversions.cc.
References color_to_float(), and blender::color::decode().
|
static |
Definition at line 493 of file type_conversions.cc.
References color_to_float2(), and blender::color::decode().
|
static |
Definition at line 497 of file type_conversions.cc.
References color_to_float3(), and blender::color::decode().
|
static |
Definition at line 501 of file type_conversions.cc.
References color_to_float4(), and blender::color::decode().
|
static |
Definition at line 477 of file type_conversions.cc.
References color_to_int(), and blender::color::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::color::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 307 of file mesh_remesh_voxel.cc.
References i, blender::Span< T >::index_range(), and blender::math::midpoint().
|
static |
Definition at line 316 of file mesh_remesh_voxel.cc.
References blender::bke::mesh::face_center_calc(), faces, i, and blender::Span< T >::slice().
|
static |
Definition at line 642 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, is_cyclic(), blender::IndexRange::is_empty(), blender::Span< T >::is_empty(), blender::IndexRange::last(), NURBS_KNOT_MODE_CUSTOM, 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 277 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 4890 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 576 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 18 of file instances_attributes.cc.
References tag_component_reference_index_changed().
Referenced by attribute_to_writer(), get_instances_accessor_functions(), and get_pointcloud_accessor_functions().
|
static |
Definition at line 27 of file pointcloud_attributes.cc.
References tag_position_changed(), and tag_radius_changed().
|
static |
Definition at line 4211 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::color::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 801 of file blenkernel/intern/mesh.cc.
References build_vertex_groups_for_leaves(), blender::bke::pbvh::calc_face_bounds(), compute_local_mesh_groups(), Face, faces, blender::array_utils::fill_index_range(), init(), blender::bke::AttributeAccessor::lookup(), blender::bounds::merge(), merge_bounds(), negative_bounds(), blender::threading::parallel_reduce(), partition_faces_recursively(), blender::Vector< T, InlineBufferCapacity, Allocator >::resize(), and blender::Span< T >::slice().
Referenced by compute_local_mesh_groups(), and mesh_apply_spatial_organization().
|
static |
Definition at line 255 of file geometry_component_curves.cc.
References construct_curve_length_gvarray(), Curve, blender::VArray< T >::from_func(), and Point.
Referenced by construct_curve_length_gvarray(), and blender::bke::CurveLengthFieldInput::get_varray_for_context().
|
static |
Definition at line 74 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 206 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 mesh_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 1100 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::bke::curves::copy_only_curve_domain(), blender::nodes::node_geo_points_to_curves_cc::curve_from_points(), blender::nodes::node_geo_curve_to_points_cc::curves_to_points(), blender::ed::curves::pen_tool::extrude_curves(), gather_attributes(), gather_attributes_group_to_group(), blender::nodes::node_geo_curve_to_mesh_cc::grease_pencil_to_mesh(), blender::ed::curves::pen_tool::insert_point_to_curve(), 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 1115 of file attribute_access.cc.
References blender::bke::AttributeFilter::allow_skip(), blender::bke::AttributeAccessor::contains(), blender::array_utils::copy_group_to_group(), blender::GMutableSpan::data(), blender::bke::AttributeIter::data_type, blender::CPPType::default_value(), blender::bke::AttributeIter::domain, blender::CPPType::fill_construct_n(), blender::bke::GSpanAttributeWriter::finish(), blender::bke::AttributeAccessor::foreach_attribute(), blender::bke::AttributeIter::get(), blender::bke::AttributeAccessor::get_builtin_default(), blender::bke::AttributeAccessor::is_builtin(), blender::index_mask::IndexMask::is_empty(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), blender::bke::AttributeIter::name, blender::GMutableSpan::size(), blender::index_mask::IndexMask::size(), blender::offset_indices::OffsetIndices< T >::size(), blender::bke::GSpanAttributeWriter::span, String, blender::offset_indices::OffsetIndices< T >::total_size(), and blender::GMutableSpan::type().
Referenced by blender::geometry::fillet_curves(), blender::ed::sculpt_paint::greasepencil::get_single_stroke(), and blender::geometry::trim_curves().
|
static |
Definition at line 772 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 1522 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 755 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 554 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 568 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 543 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 611 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_attribute_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 1392 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 689 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 700 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 676 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 713 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_list_get_item_cc::SampleIndexFunction::call(), 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 72 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.
Referenced by 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(), 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::ed::mesh::join_normals(), blender::bke::AttributeAccessor::lookup(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write(), blender::geometry::preprocess_meshes(), 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::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().
| eCustomDataType blender::bke::cpp_type_to_custom_data_type | ( | const CPPType & | type | ) |
Definition at line 151 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, 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::geometry::interpolate_curves_with_samples(), and blender::bke::bake::serialize_bake_item().
|
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 836 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 |
Definition at line 2273 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_UTF8.
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 128 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 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(), and blender::io::usd::USDCurvesWriter::do_write().
| 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 >::from_container(), blender::VArray< T >::from_span(), 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 836 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 1020 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 273 of file attribute_legacy_convert.cc.
References attribute_legacy_convert_customdata_to_storage(), Curve, curves_convert_customdata_to_storage(), CustomData_reset(), and Point.
Referenced by blo_do_versions_500(), and curves_convert_customdata_to_storage().
| CurvesGeometry blender::bke::curves_copy_curve_selection | ( | const CurvesGeometry & | curves, |
| const IndexMask & | curves_to_copy, | ||
| const AttributeFilter & | attribute_filter ) |
Definition at line 1545 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 318 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 1447 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 1726 of file curves_geometry.cc.
References curves_new_no_attributes().
Referenced by curves_new_no_attributes(), and blender::geometry::reorder_curves_geometry().
| Curves * blender::bke::curves_new_nomain | ( | CurvesGeometry | curves | ) |
Definition at line 311 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 292 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::io::obj::CurveFromGeometry::create_curve(), 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 302 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 394 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_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(), BKE_attribute_new(), BKE_attribute_rename(), BM_data_layer_lookup(), blender::bke::attribute_accessor_functions::builtin_domain_and_type(), CustomData_blend_write_prepare(), blender::bke::attribute_accessor_functions::foreach_attribute(), blender::bke::CustomDataAttributeProvider::foreach_attribute(), blender::ed::geometry::geometry_attribute_add_exec(), blender::ed::geometry::geometry_attribute_convert_exec(), blender::ed::geometry::geometry_color_attribute_convert_exec(), blender::bke::bake::load_attributes(), blender::ed::mesh::set_attribute::mesh_set_attribute_exec(), blender::ed::mesh::set_attribute::mesh_set_attribute_invoke(), blender::ed::mesh::set_attribute::mesh_set_attribute_ui(), blender::nodes::node_geo_store_named_attribute_cc::node_geo_exec(), and blender::ed::sculpt_paint::undo::set_active_layer().
| const blender::CPPType * blender::bke::custom_data_type_to_cpp_type | ( | eCustomDataType | type | ) |
Definition at line 117 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 convert_storage_to_customdata(), blender::bke::CustomDataAttributeProvider::foreach_attribute(), blender::ed::geometry::geometry_attribute_add_exec(), blender::bke::bake::load_attributes(), mesh_calc_edges(), blender::ed::mesh::set_attribute::mesh_set_attribute_exec(), blender::nodes::node_geo_input_named_attribute_cc::node_geo_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 5168 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(), blender::nodes::CaptureAttributeItemsAccessor::get_socket_type(), and version_dynamic_viewer_node_items().
| std::optional< VolumeGridType > blender::bke::custom_data_type_to_volume_grid_type | ( | eCustomDataType | type | ) |
Definition at line 5373 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 2318 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 2329 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 2312 of file node.cc.
References blender::ResourceScope::add_destruct_call().
Referenced by ntree_free_type().
|
static |
Definition at line 1664 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 1374 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 1627 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, bNodeSocket::storage, and bNode::type_legacy.
Referenced by direct_link_node_socket().
|
static |
Definition at line 223 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 217 of file armature_deform.cc.
References Bone::arm_head, Bone::arm_tail, b_bone_deform(), bPoseChannel_Runtime::bbone_segments, bPoseChannel::bone, Bone::dist, distfactor_to_bone(), Bone::rad_head, Bone::rad_tail, bPoseChannel::runtime, Bone::segments, and Bone::weight.
Referenced by armature_vert_task_with_mixer().
|
static |
Definition at line 1028 of file mesh_data_update.cc.
References BKE_object_eval_assign_data(), BLI_assert, Object::data, DEG_is_evaluated(), depsgraph, Editable, editbmesh_calc_modifiers(), blender::bke::GeometrySet::get_component_for_write(), Mesh::id, Mesh::key, blender::bke::MeshComponent::replace(), and Object::runtime.
Referenced by editbmesh_get_eval_cage(), and mesh_data_update().
|
static |
Definition at line 753 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 1227 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 1251 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 716 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 987 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(), 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 1167 of file attribute_access.cc.
References blender::bke::AttributeFilter::allow_skip(), 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::AttributeAccessor::get_builtin_default(), blender::bke::AttributeAccessor::is_builtin(), blender::IndexRange::is_empty(), blender::bke::MutableAttributeAccessor::lookup_for_write_span(), blender::bke::AttributeIter::name, blender::GMutableSpan::slice(), blender::bke::GSpanAttributeWriter::span, String, and blender::GMutableSpan::type().
Referenced by blender::ed::curves::add_curves(), blender::ed::curves::pen_tool::add_single_point_and_curve(), 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(), blender::ed::sculpt_paint::greasepencil::PaintOperationExecutor::process_start_sample(), and blender::bke::Instances::resize().
|
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 401 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 433 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 373 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 326 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 340 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 349 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(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::clear(), 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::color::encode(), and float2_to_color().
|
static |
Definition at line 123 of file type_conversions.cc.
Referenced by float2_to_byte_color().
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::color::encode(), and float3_to_color().
|
static |
Definition at line 164 of file type_conversions.cc.
Referenced by float3_to_byte_color().
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::color::encode(), and float4_to_color().
|
static |
Definition at line 209 of file type_conversions.cc.
Referenced by float4_to_byte_color().
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::color::encode(), and float_to_color().
|
static |
Definition at line 78 of file type_conversions.cc.
Referenced by float_to_byte_color().
Definition at line 45 of file type_conversions.cc.
Definition at line 49 of file type_conversions.cc.
Definition at line 53 of file type_conversions.cc.
Definition at line 57 of file type_conversions.cc.
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().
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 4436 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 964 of file attribute_access.cc.
References blender::bke::MutableAttributeAccessor::add(), blender::bke::AttributeFilter::allow_skip(), 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, String, 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::curves::pen_tool::extrude_curves(), 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::ed::curves::pen_tool::insert_point_to_curve(), 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 999 of file attribute_access.cc.
References blender::bke::AttributeFilter::allow_skip(), 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, String, and blender::bke::GAttributeReader::varray.
|
static |
Definition at line 491 of file mesh_remesh_voxel.cc.
References cpp_type_to_attribute_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 1033 of file attribute_access.cc.
References blender::bke::AttributeFilter::allow_skip(), 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(), blender::bke::GSpanAttributeWriter::span, and String.
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 1071 of file attribute_access.cc.
References blender::bke::AttributeFilter::allow_skip(), 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, blender::bke::GSpanAttributeWriter::span, and String.
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 759 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 1781 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 1768 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().
Definition at line 431 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(), INT32_MAX, 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::unique_ids().
| std::optional< eNodeSocketDatatype > blender::bke::geo_nodes_base_cpp_type_to_socket_type | ( | const CPPType & | type | ) |
Definition at line 5241 of file node.cc.
References blender::CPPType::is(), SOCK_BOOLEAN, SOCK_BUNDLE, SOCK_CLOSURE, SOCK_COLLECTION, SOCK_FLOAT, SOCK_GEOMETRY, SOCK_IMAGE, SOCK_INT, SOCK_MATERIAL, SOCK_MATRIX, SOCK_MENU, SOCK_OBJECT, SOCK_RGBA, SOCK_ROTATION, SOCK_STRING, SOCK_TEXTURE, and SOCK_VECTOR.
Referenced by blender::nodes::execute_multi_function_on_value_variant__single(), and blender::nodes::socket_type_info_by_static_type().
|
static |
Definition at line 302 of file armature_deform.cc.
References ARM_DEF_ENVELOPE, ARM_DEF_INVERT_VGROUP, ARM_DEF_VGROUP, blender::bke::ArmatureDeformParams::armature_def_nr, blender::bke::ArmatureDeformParams::armature_to_target, BKE_defgroup_name_index(), BKE_object_supports_vertex_groups(), BKE_pose_channel_find_name(), BLI_listbase_count(), bPoseChannel::bone, BONE_NO_DEFORM, bPose::chanbase, Bone::flag, i, blender::math::invert(), blender::bke::ArmatureDeformParams::invert_vgroup, LISTBASE_FOREACH_INDEX, Object::pose, blender::bke::ArmatureDeformParams::pose_channel_by_vertex_group, blender::bke::ArmatureDeformParams::pose_channels, Array< T, InlineBufferCapacity, Allocator >::reinitialize(), blender::bke::ArmatureDeformParams::target_to_armature, blender::bke::ArmatureDeformParams::use_dverts, blender::bke::ArmatureDeformParams::use_envelope, blender::bke::ArmatureDeformParams::vert_coords, blender::bke::ArmatureDeformParams::vert_coords_prev, and blender::bke::ArmatureDeformParams::vert_deform_mats.
Referenced by armature_deform_coords(), and armature_deform_editmesh().
|
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 1488 of file blenkernel/intern/modifier.cc.
Referenced by blender::bke::ScopedModifierTimer::ScopedModifierTimer(), and blender::bke::ScopedModifierTimer::~ScopedModifierTimer().
|
static |
Definition at line 1010 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 83 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::nodes::node_geo_viewer_cc::draw_generic_value_log(), blender::nodes::implicitly_convert_socket_value(), blender::ed::mesh::set_attribute::mesh_set_attribute_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().
|
staticconstexpr |
Definition at line 45 of file instances_attributes.cc.
References blender::bke::AttributeIter::accessor, blender::bke::AttributeStorage::add(), attribute_init_to_data(), blender::bke::Instances::attribute_storage(), attribute_to_reader(), attribute_to_writer(), builtin_attributes(), changed_tags(), blender::bke::AttributeInit::Construct, blender::bke::Attribute::data_type(), blender::bke::AttrBuiltinInfo::default_value, blender::bke::AttrBuiltinInfo::domain, blender::bke::Attribute::domain(), blender::bke::AttributeStorage::foreach_with_stop(), Instance, blender::bke::Instances::instances_num(), blender::bke::AttributeIter::is_builtin, blender::bke::AttributeIter::is_stopped(), blender::bke::AttributeStorage::lookup(), blender::bke::Attribute::name(), name, blender::bke::AttributeStorage::remove(), blender::bke::AttrBuiltinInfo::type, and blender::bke::AttrBuiltinInfo::validator.
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 99 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 4881 of file node.cc.
References node_types_get(), and result.
Referenced by can_read_node_type().
|
static |
Definition at line 963 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().
| GMutableSpan blender::bke::get_mutable_attribute | ( | AttributeStorage & | storage, |
| const AttrDomain | domain, | ||
| const CPPType & | cpp_type, | ||
| const StringRef | name, | ||
| const int64_t | domain_size, | ||
| const void * | custom_default_value ) |
Definition at line 171 of file attribute_storage_access.cc.
References blender::bke::AttributeStorage::add(), BLI_assert, cpp_type_to_attribute_type(), blender::bke::Attribute::data_for_write(), blender::CPPType::default_value(), blender::bke::Attribute::ArrayData::from_value(), blender::bke::AttributeStorage::lookup(), name, and blender::bke::AttributeStorage::remove().
Referenced by blender::bke::CurvesGeometry::curve_types_for_write(), blender::bke::CurvesGeometry::cyclic_for_write(), blender::bke::greasepencil::Drawing::fill_colors_for_write(), get_mutable_attribute(), blender::bke::CurvesGeometry::handle_positions_left_for_write(), blender::bke::CurvesGeometry::handle_positions_right_for_write(), blender::bke::CurvesGeometry::handle_types_left_for_write(), blender::bke::CurvesGeometry::handle_types_right_for_write(), blender::bke::CurvesGeometry::normal_mode_for_write(), blender::bke::CurvesGeometry::nurbs_knots_modes_for_write(), blender::bke::CurvesGeometry::nurbs_orders_for_write(), blender::bke::CurvesGeometry::nurbs_weights_for_write(), blender::bke::greasepencil::Drawing::opacities_for_write(), blender::bke::CurvesGeometry::positions_for_write(), blender::bke::greasepencil::Drawing::radii_for_write(), blender::bke::CurvesGeometry::radius_for_write(), blender::bke::Instances::reference_handles_for_write(), blender::bke::CurvesGeometry::resolution_for_write(), blender::bke::CurvesGeometry::surface_uv_coords_for_write(), blender::bke::CurvesGeometry::tilt_for_write(), blender::bke::Instances::transforms_for_write(), and blender::bke::greasepencil::Drawing::vertex_colors_for_write().
|
inline |
Definition at line 82 of file attribute_storage_access.hh.
References blender::CPPType::get(), get_mutable_attribute(), name, T, and blender::GMutableSpan::typed().
|
static |
Definition at line 5086 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 2279 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 2291 of file node.cc.
Referenced by node_register_alias(), node_system_exit(), and node_type_find_alias().
|
static |
Definition at line 2285 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 92 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().
|
staticconstexpr |
Definition at line 51 of file pointcloud_attributes.cc.
References blender::bke::AttributeIter::accessor, blender::bke::AttributeStorage::add(), attribute_init_to_data(), PointCloud::attribute_storage, attribute_to_reader(), attribute_to_writer(), builtin_attributes(), changed_tags(), blender::bke::AttributeInit::Construct, blender::bke::Attribute::data_type(), blender::bke::AttrBuiltinInfo::default_value, blender::bke::AttrBuiltinInfo::domain, blender::bke::Attribute::domain(), blender::bke::AttributeStorage::foreach_with_stop(), blender::bke::AttributeIter::is_builtin, blender::bke::AttributeIter::is_stopped(), blender::bke::AttributeStorage::lookup(), blender::bke::Attribute::name(), name, Point, blender::bke::AttributeStorage::remove(), PointCloud::totpoint, blender::bke::AttrBuiltinInfo::type, and blender::bke::AttrBuiltinInfo::validator.
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 2297 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().
| std::optional< GSpan > blender::bke::get_span_attribute | ( | const AttributeStorage & | storage, |
| const AttrDomain | domain, | ||
| const CPPType & | cpp_type, | ||
| const StringRef | name, | ||
| const int64_t | domain_size ) |
Definition at line 150 of file attribute_storage_access.cc.
References BLI_assert, blender::bke::Attribute::data(), blender::bke::Attribute::domain(), blender::bke::AttributeStorage::lookup(), name, blender::CPPType::size, and UNUSED_VARS_NDEBUG.
Referenced by get_span_attribute(), blender::bke::CurvesGeometry::handle_positions_left(), blender::bke::CurvesGeometry::handle_positions_right(), blender::bke::CurvesGeometry::nurbs_weights(), blender::bke::CurvesGeometry::positions(), blender::bke::Instances::reference_handles(), blender::bke::CurvesGeometry::surface_uv_coords(), and blender::bke::Instances::transforms().
|
inline |
Definition at line 61 of file attribute_storage_access.hh.
References blender::CPPType::get(), get_span_attribute(), name, and T.
|
static |
Definition at line 821 of file mesh_attributes.cc.
References get_tag_modified_function(), and name.
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 377 of file node_tree_zones.cc.
References discover_tree_zones(), and tree.
| GVArray blender::bke::get_varray_attribute | ( | const AttributeStorage & | storage, |
| AttrDomain | domain, | ||
| const CPPType & | cpp_type, | ||
| StringRef | name, | ||
| int64_t | domain_size, | ||
| const void * | default_value ) |
Definition at line 114 of file attribute_storage_access.cc.
References Array, cpp_type_to_attribute_type(), blender::bke::Attribute::data(), data, blender::bke::Attribute::data_type(), blender::bke::Attribute::domain(), blender::GVArray::from_single(), blender::GVArray::from_span(), blender::bke::AttributeStorage::lookup(), name, Single, and blender::bke::Attribute::storage_type().
Referenced by blender::bke::CurvesGeometry::curve_types(), blender::bke::CurvesGeometry::cyclic(), get_varray_attribute(), blender::bke::CurvesGeometry::handle_types_left(), blender::bke::CurvesGeometry::handle_types_right(), blender::bke::CurvesGeometry::normal_mode(), blender::bke::CurvesGeometry::nurbs_knots_modes(), blender::bke::CurvesGeometry::nurbs_orders(), blender::bke::CurvesGeometry::radius(), blender::bke::CurvesGeometry::resolution(), and blender::bke::CurvesGeometry::tilt().
|
inline |
Definition at line 43 of file attribute_storage_access.hh.
References blender::CPPType::get(), get_varray_attribute(), name, T, and blender::GVArray::typed().
|
static |
Definition at line 518 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 293 of file attribute_legacy_convert.cc.
References attribute_legacy_convert_customdata_to_storage(), GreasePencil::attribute_storage, CustomData_reset(), grease_pencil_convert_customdata_to_storage(), Layer, and GreasePencil::layers_data_legacy.
Referenced by blo_do_versions_500(), and grease_pencil_convert_customdata_to_storage().
| std::optional< eNodeSocketDatatype > blender::bke::grid_type_to_socket_type | ( | VolumeGridType | type | ) |
Definition at line 5314 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().
|
static |
Definition at line 808 of file geometry_fields.cc.
References blender::CPPType::default_value(), blender::CPPType::fill_construct_n(), blender::bke::AttributeAccessor::get_builtin_default(), blender::bke::AttributeAccessor::is_builtin(), blender::bke::AttributeAccessor::lookup(), and name.
Referenced by try_capture_fields_on_geometry().
| const AttributeAccessorFunctions & blender::bke::instance_attribute_accessor_functions | ( | ) |
Definition at line 164 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 >::from_derived_span(), 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 535 of file instances.cc.
References blender::VMutableArray< T >::from_derived_span(), 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::color::encode(), and int2_to_color().
|
static |
Definition at line 337 of file type_conversions.cc.
Referenced by int2_to_byte_color().
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::color::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.
References float.
|
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::color::encode(), and int_to_color().
|
static |
Definition at line 255 of file type_conversions.cc.
Referenced by int_to_byte_color().
Definition at line 239 of file type_conversions.cc.
References float.
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 2204 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 1221 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 198 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 3372 of file node.cc.
References bNodeLink::flag, bNodeLink::fromnode, bNode::inputs, blender::Stack< T, InlineBufferCapacity, Allocator >::is_empty(), LISTBASE_FOREACH, NODE_LINK_VALID, blender::Stack< T, InlineBufferCapacity, Allocator >::pop(), blender::Stack< T, InlineBufferCapacity, Allocator >::push(), bNode::runtime, bNodeLink::tonode, bNode::type_legacy, and zone_type_by_node_type().
Referenced by 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::OBJLegacyCurve::get_knots_u().
|
static |
Definition at line 303 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 2576 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, name, node_socket_set_typeinfo(), node_socket_type_find(), bNodeSocket::runtime, SOCK_COLLAPSED, SOCK_CUSTOM, SOCK_IN, bNodeSocket::storage, STRNCPY_UTF8, and bNodeSocket::type.
Referenced by node_add_socket().
|
static |
Definition at line 1268 of file mesh_data_update.cc.
References 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().
|
static |
Definition at line 644 of file blenkernel/intern/mesh.cc.
References b, and blender::bounds::merge().
Referenced by compute_local_mesh_groups(), and partition_faces_recursively().
| void blender::bke::mesh_apply_spatial_organization | ( | Mesh & | mesh | ) |
Definition at line 847 of file blenkernel/intern/mesh.cc.
References blender::offset_indices::accumulate_counts_to_offsets(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::GArray< Allocator >::as_mutable_span(), blender::GArray< Allocator >::as_span(), blender::bke::MeshGroup::children_offset, blender::bke::NonContiguousGroup::children_offset, compute_local_mesh_groups(), blender::CPPType::copy_construct(), blender::GMutableSpan::copy_from(), blender::MutableSpan< T >::copy_from(), Corner, blender::bke::NonContiguousGroup::corner_count, blender::bke::MeshGroup::corners_count, blender::bke::AttributeIter::domain, Face, blender::bke::MeshGroup::faces, blender::bke::NonContiguousGroup::faces, blender::bke::GSpanAttributeWriter::finish(), blender::bke::AttributeAccessor::foreach_attribute(), blender::bke::attribute_math::gather(), i, Array< T, InlineBufferCapacity, Allocator >::index_range(), blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), Array< T, InlineBufferCapacity, Allocator >::is_empty(), blender::bke::MutableAttributeAccessor::lookup_for_write_span(), mesh_apply_spatial_organization(), blender::bke::AttributeIter::name, blender::bke::MeshGroup::parent, blender::bke::NonContiguousGroup::parent, Point, blender::Vector< T, InlineBufferCapacity, Allocator >::reserve(), blender::bke::MeshGroup::shared_verts, blender::bke::NonContiguousGroup::shared_verts, Array< T, InlineBufferCapacity, Allocator >::size(), blender::GMutableSpan::size(), blender::MutableSpan< T >::size(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), blender::bke::GSpanAttributeWriter::span, blender::MutableSpan< T >::take_front(), blender::GMutableSpan::type(), blender::bke::MeshGroup::unique_verts, and blender::bke::NonContiguousGroup::unique_verts.
Referenced by mesh_apply_spatial_organization(), mesh_reorder_vertices_spatial_exec(), blender::ed::object::quadriflow_end_job(), and blender::ed::object::voxel_remesh_exec().
| const AttributeAccessorFunctions & blender::bke::mesh_attribute_accessor_functions | ( | ) |
Definition at line 1002 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 965 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 954 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 563 of file mesh_calc_edges.cc.
References blender::bke::AttributeFilter::default_filter(), and mesh_calc_edges().
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_calc_edges(), mesh_nurbs_displist_to_mesh(), blender::geometry::mesh_triangulate(), blender::io::alembic::read_mpolys(), and blender::io::stl::STLMeshHelper::to_mesh().
| void blender::bke::mesh_calc_edges | ( | Mesh & | mesh, |
| bool | keep_existing_edges, | ||
| bool | select_new_edges, | ||
| const AttributeFilter & | attribute_filter ) |
Definition at line 233 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::bke::AttributeFilter::allow_skip(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::Array< T, InlineBufferCapacity, Allocator >::as_mutable_span(), blender::Array< T, InlineBufferCapacity, Allocator >::as_span(), blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::as_span(), AT, blender::MutableSpan< T >::begin(), BKE_mesh_is_valid(), BLI_assert, CD_ORIGINDEX, blender::bke::calc_edges::clear_hash_tables(), blender::MutableSpan< T >::contains(), Corner, custom_data_type_to_cpp_type(), CustomData_free(), CustomData_free_layer_named(), CustomData_sizeof(), blender::Array< T, InlineBufferCapacity, Allocator >::data(), blender::GMutableSpan::data(), blender::MutableSpan< T >::data(), blender::offset_indices::OffsetIndices< T >::data(), blender::bke::AttributeIter::data_type, blender::CPPType::default_value(), blender::bke::AttributeIter::domain, blender::IndexRange::drop_front(), blender::MutableSpan< T >::drop_front(), Edge, blender::bke::calc_edges::edge_map_offsets(), blender::bke::calc_edges::edge_to_hash_map_i(), ELEM, blender::MutableSpan< T >::end(), faces, blender::MutableSpan< T >::fill(), blender::CPPType::fill_assign_n(), blender::array_utils::fill_index_range(), blender::bke::SpanAttributeWriter< T >::finish(), blender::index_mask::IndexMask::foreach_index(), IndexMask::from_predicate(), blender::VArray< T >::from_single(), blender::array_utils::gather(), blender::bke::calc_edges::get_parallel_maps_count(), blender::Array< T, InlineBufferCapacity, Allocator >::index_range(), blender::Span< T >::index_range(), blender::implicit_sharing::info_for_mem_free(), is_power_of_2_i(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_span(), blender::bke::calc_edges::map_edge_to_span_index(), blender::bke::calc_edges::mask_first_distinct_edges(), MEM_malloc_arrayN(), mesh_calc_edges(), blender::bke::AttributeIter::name, blender::IndexRange::one_after_last(), blender::threading::parallel_for_each(), blender::Array< T, InlineBufferCapacity, Allocator >::reinitialize(), blender::bke::MutableAttributeAccessor::remove(), blender::bke::calc_edges::reserve_hash_maps(), blender::array_utils::scatter(), blender::bke::calc_edges::serialize_and_initialize_deduplicated_edges(), blender::Array< T, InlineBufferCapacity, Allocator >::size(), blender::GMutableSpan::size(), blender::index_mask::IndexMask::size(), blender::IndexRange::size(), blender::GMutableSpan::slice(), blender::MutableSpan< T >::slice(), blender::bke::SpanAttributeWriter< T >::span, blender::IndexRange::start(), String, blender::GMutableSpan::take_front(), blender::MutableSpan< T >::take_front(), blender::Span< T >::take_front(), blender::offset_indices::OffsetIndices< T >::total_size(), and blender::bke::calc_edges::update_edge_indices_in_face_loops().
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 205 of file mesh_data_update.cc.
References Mesh::id, ID::name, and STRNCPY().
Referenced by mesh_calc_modifiers().
|
static |
Definition at line 285 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 263 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 239 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 1194 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 1205 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 1216 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 2559 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.
Referenced by blo_do_versions_500().
| void blender::bke::mesh_data_update | ( | Depsgraph & | depsgraph, |
| const Scene & | scene, | ||
| Object & | ob, | ||
| const CustomData_MeshMasks & | dataMask ) |
Definition at line 1117 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, | ||
| bke::AttrType | data_type ) |
Set the default name when adding a color attribute if there is no default yet.
Definition at line 580 of file blenkernel/intern/mesh.cc.
References ATTR_DOMAIN_AS_MASK, ATTR_DOMAIN_MASK_COLOR, attr_type_to_custom_data_type(), 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 599 of file blenkernel/intern/mesh.cc.
References blender::bke::MutableAttributeAccessor::add(), Corner, Edge, Float3, Int32, Int32_2D, 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, 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, blender::IndexRange::size(), and String.
Referenced by faces_check_flip(), and blender::nodes::node_geo_flip_faces_cc::node_geo_exec().
| void blender::bke::mesh_freestyle_marks_to_generic | ( | Mesh & | mesh | ) |
Definition at line 2437 of file mesh_legacy_convert.cc.
References CD_PROP_BOOL, 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_freestyle_marks_to_legacy | ( | AttributeStorage::BlendWriteData & | attr_write_data, |
| CustomData & | edge_data, | ||
| CustomData & | face_data, | ||
| Vector< CustomDataLayer, 16 > & | edge_layers, | ||
| Vector< CustomDataLayer, 16 > & | face_layers ) |
Definition at line 2489 of file mesh_legacy_convert.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), Array, blender::bke::AttributeStorage::BlendWriteData::attributes, b, blender::Vector< T, InlineBufferCapacity, Allocator >::begin(), Bool, blender::Vector< T, InlineBufferCapacity, Allocator >::data(), CustomDataLayer::data, Edge, blender::Vector< T, InlineBufferCapacity, Allocator >::end(), Face, i, CustomData::layers, CustomData::maxlayer, CustomDataLayer::sharing_info, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), STREQ, CustomData::totlayer, and CustomDataLayer::type.
Referenced by mesh_blend_write().
| Mesh * blender::bke::mesh_get_eval_deform | ( | Depsgraph * | depsgraph, |
| const Scene * | scene, | ||
| Object * | ob, | ||
| const CustomData_MeshMasks * | dataMask ) |
Definition at line 1151 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 1281 of file mesh_data_update.cc.
References BKE_mesh_foreach_mapped_vert(), BKE_mesh_wrapper_vert_coords(), blender::MutableSpan< T >::copy_from(), blender::MutableSpan< T >::fill(), make_vertexcos__mapFunc(), MESH_FOREACH_NOP, blender::bits::BitVector< InlineBufferCapacity, Allocator >::resize(), 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 1295 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 1240 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 >::from_container(), blender::VArray< T >::from_span(), i, blender::math::interpolate(), mask(), blender::math::normalize(), and Point.
Referenced by blender::bke::NormalFieldInput::get_varray_for_context().
Definition at line 506 of file mesh_remesh_voxel.cc.
References Mesh::active_color_attribute, blender::Vector< T, InlineBufferCapacity, Allocator >::append(), Geometry::attributes, 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(), 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 627 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 2410 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.
Referenced by blo_do_versions_500().
| 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 1691 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(), and blender::io::stl::STLMeshHelper::to_mesh().
| 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 1702 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 1708 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 1697 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 77 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 1716 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 1702 of file blenkernel/intern/mesh.cc.
References blender::bke::MutableAttributeAccessor::add(), Face, blender::VArray< T >::from_single(), 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 1902 of file blenkernel/intern/mesh.cc.
References LISTBASE_FOREACH, mesh_transform(), transform(), transform_custom_normal_attribute(), and blender::math::transform_points().
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 1874 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().
| void blender::bke::mesh_uv_select_to_single_attribute | ( | Mesh & | mesh | ) |
Definition at line 2590 of file mesh_legacy_convert.cc.
References CD_PROP_BOOL, CD_PROP_FLOAT2, CustomData_add_layer_named_with_data(), CustomData_free_layer_named(), CustomData_get_active_layer_name(), CustomData_get_named_layer_index(), faces, MEM_malloc_arrayN(), name, blender::threading::parallel_for(), and STRNCPY_UTF8.
Set mesh vertex normals to known-correct values, avoiding future lazy computation.
Definition at line 48 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 54 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 736 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 611 of file blenkernel/intern/mesh.cc.
References ATTR_DOMAIN_AS_MASK, attr_type_to_custom_data_type(), 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 220 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().
Definition at line 649 of file blenkernel/intern/mesh.cc.
Referenced by compute_local_mesh_groups(), and partition_faces_recursively().
| 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 3810 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(), BKE_linestyle_default_shader(), blo_do_versions_300(), change_input_socket_to_rotation_type(), change_output_socket_to_rotation_type(), blender::ed::space_node::connect_nested_node_to_node(), blender::nodes::LinkSearchOpParams::connect_socket(), displacement_node_insert(), do_versions_material_convert_legacy_blend_mode(), ED_node_composit_default_init(), ED_node_shader_default(), ED_node_texture_default(), ED_preview_prepare_world_simple(), blender::ed::curves::ensure_surface_deformation_node_exists(), fix_geometry_nodes_object_info_scale(), Freestyle::BlenderStrokeRenderer::GetStrokeShader(), blender::ed::space_node::initialize_compositor_sequencer_node_group(), 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::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_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::sync_sockets_closure(), 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().
| bNode * blender::bke::node_add_node | ( | const bContext * | C, |
| bNodeTree & | ntree, | ||
| StringRef | idname, | ||
| std::optional< int > | unique_identifier = std::nullopt ) |
Definition at line 3477 of file node.cc.
References BKE_ntree_update_tag_node_new(), BLI_addtail(), C, blender::StringRefBase::copy_utf8_truncated(), bNode::identifier, bNode::idname, MEM_callocN(), node_set_typeinfo(), node_type_find(), node_unique_id(), bNodeTree::nodes, bNode::runtime, bNodeTree::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_bokeh_blur_pixel_size(), do_version_composite_node_in_scene_tree(), do_version_crop_node_options_to_inputs(), do_version_displace_node_remove_xy_scale(), do_version_normal_node_dot_product(), do_version_replace_image_info_node_coordinates(), do_version_sun_beams(), do_version_translate_node_remove_relative(), ED_node_composit_default_init(), ED_preview_prepare_world_simple(), fix_geometry_nodes_object_info_scale(), blender::ed::space_node::initialize_compositor_sequencer_node_group(), 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(), blender::ed::space_node::test_inline_shader_nodes_exec(), 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 2804 of file node.cc.
References BKE_ntree_update_tag_socket_new(), BLI_addtail(), BLI_assert, BLI_remlink(), bNode::inputs, make_socket(), name, 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 2060 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 3500 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(), 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(), 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_lift_gamma_gain_srgb_to_linear(), do_version_map_value_node(), do_version_material_remove_use_nodes(), do_version_mix_color_use_alpha(), do_version_scale_node_remove_translate(), do_version_world_remove_use_nodes(), do_versions_material_convert_legacy_blend_mode(), blender::io::usd::dome_light_to_world_material(), ED_node_composit_default_init(), ED_node_shader_default(), ED_node_texture_default(), blender::ed::curves::ensure_surface_deformation_node_exists(), Freestyle::BlenderStrokeRenderer::GetStrokeShader(), blender::ed::space_node::initialize_compositor_sequencer_node_group(), 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_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 3197 of file node.cc.
References CLOG_ERROR, LOG, name, 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_split_node_rotation(), 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 3978 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 1706 of file node.cc.
References BKE_curvemapping_blend_read(), 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_DEPRECATED, CMP_NODE_HUECORRECT, CMP_NODE_IMAGE, CMP_NODE_MOVIEDISTORTION, CMP_NODE_TIME, CMP_NODE_VIEWER, NodeCryptomatte::entries, bNode::idname, NodeTexEnvironment::iuser, NodeTexImage::iuser, NodeCryptomatte_Runtime::layers, NodeCryptomatte::matte_id, node_type_find(), 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, 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 1038 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_DEPRECATED, 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, GEO_NODE_VIEWER, LISTBASE_FOREACH, NodeCryptomatte::matte_id, SH_NODE_CURVE_FLOAT, SH_NODE_CURVE_RGB, SH_NODE_CURVE_VEC, SH_NODE_SCRIPT, SOCK_BOOLEAN, SOCK_FLOAT, SOCK_INT, SOCK_MATRIX, SOCK_RGBA, SOCK_ROTATION, SOCK_VECTOR, socket_type_to_custom_data_type(), bNode::storage, blender::bke::bNodeType::storagename, TEX_NODE_CURVE_RGB, TEX_NODE_CURVE_TIME, bNode::type_legacy, and bNode::typeinfo.
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 3340 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, |
| 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 3421 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 4717 of file node.cc.
References bNode::flag, and NODE_ACTIVE.
| NodeColorTag blender::bke::node_color_tag | ( | const bNode & | node | ) |
Definition at line 5019 of file node.cc.
References Attribute, Color, Converter, Distort, Filter, Geometry, Group, Input, Interface, Matte, NODE_CLASS_ATTRIBUTE, NODE_CLASS_CONVERTER, NODE_CLASS_DISTORT, NODE_CLASS_GEOMETRY, NODE_CLASS_GROUP, NODE_CLASS_INPUT, NODE_CLASS_INTERFACE, NODE_CLASS_LAYOUT, NODE_CLASS_MATTE, NODE_CLASS_OP_COLOR, NODE_CLASS_OP_FILTER, NODE_CLASS_OP_VECTOR, NODE_CLASS_OUTPUT, NODE_CLASS_PATTERN, NODE_CLASS_SCRIPT, NODE_CLASS_SHADER, NODE_CLASS_TEXTURE, None, Output, Pattern, Script, Shader, Texture, bNode::typeinfo, and Vector.
Referenced by blender::ed::space_node::node_group_make_wrapper().
| bNode * blender::bke::node_copy_with_mapping | ( | bNodeTree * | dst_tree, |
| const bNode & | node_src, | ||
| int | flag, | ||
| std::optional< StringRefNull > | dst_unique_name, | ||
| std::optional< int > | dst_unique_identifier, | ||
| Map< const bNodeSocket *, bNodeSocket * > & | new_socket_map, | ||
| bool | allow_duplicate_names = false ) |
| dst_name | The name of the copied node. This is expected to be unique in the destination tree if provided. If not provided, the src name is used and is made unique unless allow_duplicate_names is true. |
| dst_identifier | Same ad dst_name, but for the identifier. |
Definition at line 3553 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_assert, BLI_listbase_clear(), flag, bNodeLink::fromnode, bNodeLink::fromsock, bNode::id, id_us_plus(), bNode::identifier, 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(), bNode::name, 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, bNodeTree::runtime, STRNCPY_UTF8, bNode::system_properties, 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(), blender::ed::space_node::node_duplicate_exec(), blender::ed::space_node::node_group_make_wrapper(), blender::ed::space_node::node_group_separate_selected(), ntree_copy_data(), and ntree_shader_copy_branch().
|
static |
Definition at line 3799 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 4674 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 4818 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 4798 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 3986 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 4827 of file node.cc.
References bNode::runtime.
| bNodeSocket * blender::bke::node_find_enabled_input_socket | ( | bNode & | node, |
| StringRef | name ) |
Definition at line 2566 of file node.cc.
References name, 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(), blender::ed::space_node::grid_search_exec_fn(), and blender::ed::space_node::layer_search_exec_fn().
| bNodeSocket * blender::bke::node_find_enabled_output_socket | ( | bNode & | node, |
| StringRef | name ) |
Definition at line 2571 of file node.cc.
References name, 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 2553 of file node.cc.
References bNode::inputs, LISTBASE_FOREACH, name, 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 3306 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 3281 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 3275 of file node.cc.
References BLI_findstring(), name, bNodeTree::nodes, and offsetof.
Referenced by blender::ed::space_node::compute_context_for_tree_path(), blender::ed::space_node::connect_nested_node_to_node(), ED_preview_world_simple_set_rgb(), 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 3293 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 2532 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(), 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::nodes::node_composite_channel_matte_cc::cmp_node_channel_matte_declare(), blender::io::usd::configure_displacement(), blender::nodes::LinkSearchOpParams::connect_available_socket_by_identifier(), 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(), 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_menus_to_inputs(), do_version_blur_node_options_to_inputs(), do_version_bokeh_blur_node_options_to_inputs(), do_version_bokeh_blur_pixel_size(), do_version_bokeh_image_node_options_to_inputs(), do_version_box_mask_menus_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_menus_to_inputs(), do_version_channel_matte_node_options_to_inputs(), do_version_chroma_matte_node_options_to_inputs(), do_version_color_balance_menus_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_menus_to_inputs(), do_version_color_spill_node_options_to_inputs(), do_version_color_to_float_conversion(), do_version_composite_node_in_scene_tree(), do_version_composite_viewer_remove_alpha(), do_version_convert_alpha_menus_to_inputs(), do_version_convert_to_generic_nodes(), do_version_corner_pin_menus_to_inputs(), do_version_crop_node_options_to_inputs(), do_version_denoise_menus_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_menus_to_inputs(), do_version_dilate_node_options_to_inputs(), do_version_directional_blur_node_options_to_inputs(), do_version_displace_menus_to_inputs(), do_version_displace_node_remove_xy_scale(), do_version_distance_matte_menus_to_inputs(), do_version_distance_matte_node_options_to_inputs(), do_version_distribute_points_in_volume_options_to_inputs(), do_version_double_edge_mask_options_to_inputs(), do_version_ellipse_mask_menus_to_inputs(), do_version_ellipse_mask_node_options_to_inputs(), do_version_fill_curve_options_to_inputs(), do_version_fillet_curve_options_to_inputs(), do_version_filter_menus_to_inputs(), do_version_flip_node_options_to_inputs(), do_version_glare_menus_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_menus_to_inputs(), do_version_keying_node_options_to_inputs(), do_version_keying_screen_node_options_to_inputs(), do_version_kuwahara_menus_to_inputs(), do_version_kuwahara_node_options_to_inputs(), do_version_lens_distortion_menus_to_inputs(), do_version_lens_distortion_node_options_to_inputs(), do_version_levels_menus_to_inputs(), do_version_lift_gamma_gain_srgb_to_linear(), do_version_luminance_matte_node_options_to_inputs(), do_version_map_uv_menus_to_inputs(), do_version_map_value_node(), do_version_mask_menus_to_inputs(), do_version_mask_node_options_to_inputs(), do_version_match_string_options_to_inputs(), do_version_material_remove_use_nodes(), do_version_merge_by_distance_options_to_inputs(), do_version_mesh_to_volume_options_to_inputs(), do_version_mix_color_use_alpha(), do_version_movie_distortion_menus_to_inputs(), do_version_new_glare_clamp_input(), do_version_node_curve_to_mesh_scale_input(), do_version_normal_node_dot_product(), do_version_pixelate_node_options_to_inputs(), do_version_plane_track_deform_node_options_to_inputs(), do_version_points_to_volume_options_to_inputs(), do_version_raycast_options_to_inputs(), do_version_remove_attribute_options_to_inputs(), do_version_replace_image_info_node_coordinates(), do_version_resample_curve_options_to_inputs(), do_version_rotate_menus_to_inputs(), do_version_sample_grid_options_to_inputs(), do_version_scale_elements_options_to_inputs(), do_version_scale_menus_to_inputs(), do_version_scale_node_remove_translate(), do_version_set_alpha_menus_to_inputs(), do_version_set_curve_normal_options_to_inputs(), do_version_split_node_options_to_inputs(), do_version_split_node_rotation(), do_version_stabilize_2d_menus_to_inputs(), do_version_stabilize_node_options_to_inputs(), do_version_subdivision_surface_options_to_inputs(), do_version_sun_beams(), do_version_sun_beams_node_options_to_inputs(), do_version_switch_node_options_to_inputs(), do_version_texture_gradient_clamp(), do_version_time_curve_node_options_to_inputs(), do_version_tone_map_menus_to_inputs(), do_version_tone_map_node_options_to_inputs(), do_version_track_position_menus_to_inputs(), do_version_transform_geometry_options_to_inputs(), do_version_transform_menus_to_inputs(), do_version_translate_menus_to_inputs(), do_version_translate_node_remove_relative(), do_version_triangulate_options_to_inputs(), do_version_uv_pack_islands_options_to_inputs(), do_version_uv_unwrap_options_to_inputs(), do_version_vector_blur_node_options_to_inputs(), do_version_volume_to_mesh_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(), ED_preview_prepare_world_simple(), ED_preview_world_simple_set_rgb(), blender::ed::curves::ensure_surface_deformation_node_exists(), fix_geometry_nodes_object_info_scale(), 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_relative_to_pixel_cc::node_update(), blender::bke::greasepencil::convert::offset_radius_node_tree_add(), blender::nodes::node_composite_filter_cc::SocketSearchOp::operator()(), blender::nodes::node_composite_glare_cc::SocketSearchOp::operator()(), 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(), blender::io::usd::USDPointInstancerReader::set_collection(), blender::io::usd::USDMaterialReader::set_displacement_node_inputs(), blender::io::usd::USDMaterialReader::set_node_input(), blender::io::usd::USDMaterialReader::set_principled_node_inputs(), blender::io::obj::set_property_of_socket(), blender::io::fbx::set_socket_float(), blender::io::fbx::set_socket_rgb(), blender::io::fbx::set_socket_vector(), 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(), blender::nodes::BaseSocketDeclarationBuilder::usage_by_menu(), 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_crop_refresh(), blender::ed::space_node::WIDGETGROUP_node_glare_poll(), blender::ed::space_node::WIDGETGROUP_node_glare_refresh(), blender::ed::space_node::WIDGETGROUP_node_mask_refresh(), blender::ed::space_node::WIDGETGROUP_node_split_refresh(), and blender::bke::forward_compat::write_legacy_properties().
| const bNodeSocket * blender::bke::node_find_socket | ( | const bNode & | node, |
| eNodeSocketInOut | in_out, | ||
| StringRef | identifier ) |
Definition at line 2545 of file node.cc.
References node_find_socket().
|
static |
Definition at line 405 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 381 of file node.cc.
References BKE_LIB_FOREACHID_PROCESS_ID, BKE_LIB_FOREACHID_PROCESS_IDSUPER, data, bNodeTree::gpd, IDWALK_CB_HASH_IGNORE, IDWALK_CB_LOOPBACK, IDWALK_CB_NEVER_SELF, 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 423 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_GEOMETRY, NTREE_SHADER, PROP_FILEPATH, SH_NODE_SCRIPT, SH_NODE_TEX_IES, SOCK_STRING, bNodeSocketValueString::subtype, bNodeTree::type, and bNodeSocketValueString::value.
|
static |
Definition at line 471 of file node.cc.
References BKE_colorband_foreach_working_space_color(), NodeInputColor::color, copy_v3_v3(), ELEM, FN_NODE_INPUT_COLOR, length(), blender::math::normalize_and_get_length(), SH_NODE_NORMAL_MAP, SH_NODE_SUBSURFACE_SCATTERING, SH_NODE_VALTORGB, SH_NODE_VECTOR_DISPLACEMENT, SOCK_RGBA, SOCK_VECTOR, STREQ, TEX_NODE_VALTORGB, blender::bke::bNodeSocketType::type, bNodeSocketValueRGBA::value, and bNodeSocketValueVector::value.
Free the node itself.
Definition at line 4302 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, bNode::system_properties, bNodeTree::type, and bNode::typeinfo.
Referenced by blender::ed::space_node::NodeClipboard::clear(), blender::ed::space_node::join_group_inputs(), blender::ed::space_node::node_clipboard_paste_exec(), node_remove_node(), node_tree_free_local_node(), ntree_free_data(), ntree_shader_pruned_unused(), and version_node_remove().
|
static |
Definition at line 2480 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 2397 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 4685 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_join_nodes_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::node_toggle_viewer_exec(), 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_glare_poll(), blender::ed::space_node::WIDGETGROUP_node_glare_refresh(), blender::ed::space_node::WIDGETGROUP_node_mask_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 331 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 326 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 170 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 4853 of file node.cc.
Referenced by node_instance_key().
|
static |
Definition at line 597 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 2088 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 4867 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 4838 of file node.cc.
References bNode::runtime.
Definition at line 3908 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 739 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 3330 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 2826 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 4970 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_collapsed(), blender::ed::space_node::node_find_create_node_label(), blender::ed::space_node::node_find_update_fn(), blender::ed::space_node::node_group_make_wrapper(), 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 3882 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 3887 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 3864 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 2727 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 2791 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(), 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 357 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, bNode::runtime, and bNode::system_properties.
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 542 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 3443 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 5072 of file node.cc.
Referenced by node_type_base().
|
static |
Definition at line 5079 of file node.cc.
References bNode::typeinfo.
Referenced by node_type_base().
| void blender::bke::node_position_propagate | ( | bNode & | node | ) |
Definition at line 4037 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 3995 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 4205 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 4185 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 4240 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 4231 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 4126 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 4132 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 4291 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(), version_geometry_nodes_primitive_uv_maps(), and version_node_remove().
Definition at line 2452 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 2494 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 2416 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_composite_convolve_cc::node_register(), blender::nodes::node_composite_file_output_cc::node_register(), 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_string_to_value_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_enable_output_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_to_grid_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_advect_cc::node_register(), blender::nodes::node_geo_grid_curl_cc::node_register(), blender::nodes::node_geo_grid_divergence_cc::node_register(), blender::nodes::node_geo_grid_gradient_cc::node_register(), blender::nodes::node_geo_grid_info_cc::node_register(), blender::nodes::node_geo_grid_laplacian_cc::node_register(), blender::nodes::node_geo_grid_prune_cc::node_register(), blender::nodes::node_geo_grid_to_mesh_cc::node_register(), blender::nodes::node_geo_grid_voxelize_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_input_voxel_index_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_bundle::node_register(), blender::nodes::node_geo_join_geometry_cc::node_register(), blender::nodes::node_geo_list_cc::node_register(), blender::nodes::node_geo_list_get_item_cc::node_register(), blender::nodes::node_geo_list_length_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_sdf_grid_fillet_cc::node_register(), blender::nodes::node_geo_sdf_grid_laplacian_cc::node_register(), blender::nodes::node_geo_sdf_grid_mean_cc::node_register(), blender::nodes::node_geo_sdf_grid_mean_curvature_cc::node_register(), blender::nodes::node_geo_sdf_grid_median_cc::node_register(), blender::nodes::node_geo_sdf_grid_offset_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_grid_background::node_register(), blender::nodes::node_geo_set_grid_transform::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_tangent_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(), blender::nodes::node_composite_alpha_over_cc::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_combine_color(), register_node_type_cmp_convert_color_space(), blender::nodes::node_composite_convert_to_display_cc::register_node_type_cmp_convert_to_display(), 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_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_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_mapuv(), register_node_type_cmp_mask(), register_node_type_cmp_movieclip(), register_node_type_cmp_moviedistortion(), register_node_type_cmp_normal(), register_node_type_cmp_normalize(), 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_setalpha(), register_node_type_cmp_split(), register_node_type_cmp_stabilize2d(), register_node_type_cmp_switch(), register_node_type_cmp_switch_view(), register_node_type_cmp_tonemap(), register_node_type_cmp_trackpos(), register_node_type_cmp_transform(), register_node_type_cmp_translate(), 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_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_radial_tiling(), register_node_type_sh_rgb(), register_node_type_sh_rgbtobw(), register_node_type_sh_script(), register_node_type_sh_sepcolor(), 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_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_coord(), register_node_type_tex_curve_rgb(), register_node_type_tex_curve_time(), 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 3847 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_bokeh_blur_pixel_size(), do_version_bright_contrast_remove_premultiplied(), do_version_color_to_float_conversion(), do_version_composite_node_in_scene_tree(), do_version_composite_viewer_remove_alpha(), do_version_displace_node_remove_xy_scale(), do_version_lift_gamma_gain_srgb_to_linear(), do_version_map_value_node(), do_version_mix_color_use_alpha(), do_version_normal_node_dot_product(), do_version_replace_image_info_node_coordinates(), do_version_scale_node_remove_translate(), do_version_sun_beams(), do_version_texture_gradient_clamp(), 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_implicit_closure_cast(), ntree_shader_unlink_script_nodes(), 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(), blender::ed::space_node::snode_autoconnect_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 4386 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_UTF8, socket_id_user_decrement(), ID::tag, and bNode::typeinfo.
Referenced by 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 3243 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(), remove_triangulate_node_min_size_input(), 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 3248 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 3873 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 4905 of file node.cc.
References can_read_node_type(), bNode::idname, NODE_CUSTOM, NodeTypeUndefined, SNPRINTF_UTF8, 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 4724 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(), blender::ed::space_node::add_reroute_exec(), BKE_linestyle_default_shader(), blender::io::obj::create_mtl_node_tree(), blender::io::usd::dome_light_to_world_material(), ED_node_composit_default_init(), ED_node_set_active(), ED_node_shader_default(), ED_node_texture_default(), ED_preview_prepare_world_simple(), Freestyle::BlenderStrokeRenderer::GetStrokeShader(), blender::io::fbx::import_material(), blender::io::usd::USDMaterialReader::import_usd_preview_nodes(), blender::ed::space_node::initialize_compositor_sequencer_node_group(), 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_in_frame_exec(), blender::ed::space_node::node_socket_add_replace(), proj_paint_add_slot(), and blender::ed::space_node::test_inline_shader_nodes_exec().
| 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 4695 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(), template_texture_select(), and blender::ed::space_node::test_inline_shader_nodes_exec().
| void blender::bke::node_set_socket_availability | ( | bNodeTree & | ntree, |
| bNodeSocket & | sock, | ||
| bool | is_available ) |
Definition at line 4739 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(), 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_relative_to_pixel_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 2165 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 3524 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 4786 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 3217 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 2509 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 4996 of file node.cc.
References bNodeSocket::label, and bNodeSocket::name.
Referenced by blender::bke::node_interface::add_interface_socket_from_node(), blender::bke::node_interface::add_interface_socket_from_node(), blender::ui::nodes::draw_node_input(), and blender::ed::space_node::node_socket_get_label().
| int blender::bke::node_socket_link_limit | ( | const bNodeSocket & | sock | ) |
Definition at line 4753 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 3724 of file node.cc.
References BLI_strdup_null(), BUFFER_FOR_CPP_TYPE_VALUE, bNodeSocket::default_value, blender::CPPType::destruct(), ELEM, get_implicit_type_conversions(), MEM_SAFE_FREE, blender::CPPType::move_assign(), 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_socket().
|
static |
Definition at line 2195 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 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 4985 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 2523 of file node.cc.
References name, RNA_enum_name(), and rna_enum_property_subtype_items.
Referenced by make_standard_socket_type().
| const char * blender::bke::node_socket_translation_context | ( | const bNodeSocket & | sock | ) |
Get node socket translation context if it is set.
Definition at line 5001 of file node.cc.
References bNodeSocket::runtime.
Referenced by blender::ui::nodes::draw_node_input(), and blender::ed::space_node::node_socket_get_label().
| bNodeSocketType * blender::bke::node_socket_type_find | ( | StringRef | idname | ) |
Definition at line 2462 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(), 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 2471 of file node.cc.
References node_socket_type_find(), and node_static_socket_type().
Referenced by blender::nodes::Bundle::add_path_override(), blender::nodes::node_geo_enable_output_cc::data_type_items_callback(), blender::nodes::node_geo_menu_switch_cc::data_type_items_callback(), blender::bke::bake::default_initialize_socket_value(), blender::nodes::ClosureSignature::from_closure_output_node(), blender::nodes::BundleSignature::from_combine_bundle_node(), blender::nodes::ClosureSignature::from_evaluate_closure_node(), blender::nodes::BundleSignature::from_separate_bundle_node(), blender::nodes::LazyFunctionForEvaluateClosureNode::generate_closure_compatibility_warnings(), 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(), slow_socket_type_to_geo_nodes_base_cpp_type(), and blender::nodes::socket_type_info_by_static_type().
| StringRefNull blender::bke::node_socket_type_label | ( | const bNodeSocketType & | stype | ) |
Definition at line 2514 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 2457 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 2995 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 3152 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 2835 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 3650 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 252 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 5431 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(), blender::nodes::tests::BundleTest::TearDownTestSuite(), and blender::nodes::tests::NodeTest::TearDownTestSuite().
| void blender::bke::node_system_init | ( | ) |
Definition at line 5426 of file node.cc.
References register_nodes().
Referenced by main(), BlendfileLoadingBaseTest::SetUpTestCase(), blender::bke::tests::LibQueryTest::SetUpTestSuite(), blender::bke::tests::LibRemapTest::SetUpTestSuite(), blender::nodes::tests::BundleTest::SetUpTestSuite(), and blender::nodes::tests::NodeTest::SetUpTestSuite().
| void blender::bke::node_tag_update_id | ( | bNode & | node | ) |
Definition at line 4833 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 4090 of file node.cc.
References name, and 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 4085 of file node.cc.
References name, and node_tree_add_tree_do().
Referenced by add_nodes(), add_realize_node_tree(), create_from_shader_node_tree(), default_paint_slot_color_get(), ED_node_composit_default(), blender::ed::curves::ensure_surface_deformation_node_exists(), blender::nodes::materialx::export_to_materialx(), GPU_material_from_nodetree(), blender::ed::space_node::new_node_tree_impl(), 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(), blender::io::usd::USDPointInstancerReader::read_object_data(), blender::nodes::tests::TEST_F(), and blender::ed::space_node::test_inline_shader_nodes_exec().
|
static |
Definition at line 4048 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, LIB_ID_CREATE_NO_USER_REFCOUNT, name, 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 4098 of file node.cc.
References name, and node_tree_add_tree_do().
Referenced by blender::io::usd::USDMaterialReader::add_material(), BKE_linestyle_default_shader(), blender::io::obj::create_mtl_node_tree(), do_version_material_remove_use_nodes(), do_version_world_remove_use_nodes(), blender::io::usd::dome_light_to_world_material(), ED_node_shader_default(), ED_node_texture_default(), ED_preview_prepare_world_simple(), 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(), blender::nodes::tests::TEST_F(), and blender::nodes::tests::TEST_F().
|
static |
Definition at line 2006 of file node.cc.
References BLI_strdup_null(), AssetMetaData::description, bNodeTree::description, and MEM_SAFE_FREE.
|
static |
Definition at line 1994 of file node.cc.
References BLI_strdup_null(), AssetMetaData::description, bNodeTree::description, and node_update_asset_metadata().
|
static |
Definition at line 1988 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 1810 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(), node_update_idname_from_experimental(), 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 1140 of file node.cc.
References BKE_id_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_R_LAYERS, data, bNodeTree::description, ELEM, 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_legacy_properties(), 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 4663 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 4114 of file node.cc.
References node_tree_copy_tree_ex().
Referenced by blender::ed::space_node::duplicate_compositing_node_group_exec(), 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 4106 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 4462 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(), blender::nodes::tests::TEST_F(), blender::nodes::tests::TEST_F(), texture_free_data(), and world_free_data().
Definition at line 4372 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 localize(), and localize().
| 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 4455 of file node.cc.
References BKE_animdata_free(), BKE_libblock_free_runtime_data(), 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(), and node_tree_free_embedded_tree().
Returns the private NodeTree object of the data-block, if it has one.
Definition at line 4568 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(), IMB_colormanagement_working_space_convert(), 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 2369 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 5466 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 5476 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, 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 4629 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 4586 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(), 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 4574 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 4543 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 5527 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 4469 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 2254 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_version_bokeh_blur_pixel_size(), do_version_composite_node_in_scene_tree(), do_version_displace_node_remove_xy_scale(), do_version_map_value_node(), do_version_mix_color_use_alpha(), do_version_normal_node_dot_product(), do_version_sun_beams(), do_version_texture_gradient_clamp(), do_versions_after_linking_270(), do_versions_after_linking_500(), 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 2340 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 2303 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 2363 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 2374 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 4918 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 4945 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 5099 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_cmp_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_geo_node_type_base(), 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 5129 of file node.cc.
References blender::StringRefNull::c_str(), blender::bke::bNodeType::enum_name_legacy, blender::bke::bNodeType::idname, name, 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 5062 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 2379 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 2388 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 5384 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_bokehblur(), register_node_type_cmp_bokehimage(), register_node_type_cmp_chroma_matte(), register_node_type_cmp_color_matte(), register_node_type_cmp_color_spill(), register_node_type_cmp_convert_color_space(), blender::nodes::node_composite_convert_to_display_cc::register_node_type_cmp_convert_to_display(), register_node_type_cmp_cryptomatte(), register_node_type_cmp_curve_rgb(), register_node_type_cmp_curve_time(), register_node_type_cmp_distance_matte(), register_node_type_cmp_doubleedgemask(), register_node_type_cmp_group(), register_node_type_cmp_huecorrect(), register_node_type_cmp_keying(), register_node_type_cmp_kuwahara(), 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_sh_tex_brick(), register_node_type_sh_tex_noise(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_wave(), 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 5396 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_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(), blender::nodes::node_composite_convert_to_display_cc::register_node_type_cmp_convert_to_display(), register_node_type_cmp_rgb(), register_node_type_cmp_rgbtobw(), register_node_type_cmp_rlayers(), register_node_type_cmp_switch(), 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 5352 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_coord(), register_node_type_tex_curve_rgb(), register_node_type_tex_curve_time(), 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 5414 of file node.cc.
References blender::bke::bNodeType::copyfunc, blender::bke::bNodeType::freefunc, and blender::bke::bNodeType::storagename.
Referenced by blender::nodes::node_composite_file_output_cc::node_register(), 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_field_to_grid_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(), blender::nodes::node_composite_convert_to_display_cc::register_node_type_cmp_convert_to_display(), register_node_type_cmp_cornerpin(), 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_defocus(), register_node_type_cmp_denoise(), register_node_type_cmp_dilateerode(), register_node_type_cmp_displace(), 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_mapuv(), register_node_type_cmp_movieclip(), register_node_type_cmp_moviedistortion(), register_node_type_cmp_planetrackdeform(), register_node_type_cmp_rlayers(), register_node_type_cmp_rotate(), 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_transform(), register_node_type_cmp_translate(), 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_radial_tiling(), 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_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 2447 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 3459 of file node.cc.
References BLI_assert, BLI_time_now_seconds(), blender::RandomNumberGenerator::get_int32(), bNode::identifier, bNode::runtime, and bNodeTree::runtime.
Referenced by 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(), 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 3453 of file node.cc.
References BLI_uniquename(), DATA_, bNode::name, 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(), blender::ed::space_node::node_swap_group_asset_invoke(), and version_node_add_empty().
Definition at line 4282 of file node.cc.
References node_detach_node(), and bNode::parent.
Referenced by node_remove_node(), node_tree_free_local_node(), and version_node_remove().
Definition at line 4255 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(), node_tree_free_local_node(), ntree_shader_pruned_unused(), and version_node_remove().
| void blender::bke::node_unregister_socket_type | ( | bNodeSocketType & | stype | ) |
Definition at line 2503 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 2441 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 1956 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 |
Update idnames of nodes. Note that this is not forward-compatible and thus should only be done if the node was not officially released yet. It's ok to add it here while it's still an experimental feature.
Definition at line 1794 of file node.cc.
References blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), bNode::idname, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_ptr_as(), and STRNCPY_UTF8.
Referenced by node_tree_blend_read_data().
|
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 968 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 1682 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 1933 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 1927 of file node.cc.
References node_tree_blend_read_data().
|
static |
Definition at line 1203 of file node.cc.
References BLO_write_id_struct, bNodeTree::id, node_tree_blend_write(), bNodeTree::runtime, and bNodeTree::typeinfo.
|
static |
Definition at line 4638 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 146 of file node.cc.
References 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 253 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_BACKWARD_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 2349 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 137 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 2151 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 1060 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, and OB_MESH.
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(), geometry_attribute_get_tarmat(), blender::ed::spreadsheet::geometry_display_data_get(), 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::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 793 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 627 of file node_tree_zones.cc.
| std::ostream & blender::bke::operator<< | ( | std::ostream & | stream, |
| const bNodeTreeZones & | zones ) |
Definition at line 616 of file node_tree_zones.cc.
| std::ostream & blender::bke::operator<< | ( | std::ostream & | stream, |
| const GeometrySet & | geometry_set ) |
Definition at line 214 of file geometry_set.cc.
| std::ostream & blender::bke::operator<< | ( | std::ostream & | stream, |
| const SocketValueVariant & | value_variant ) |
Definition at line 475 of file node_socket_value.cc.
| bool blender::bke::operator== | ( | const InstanceReference & | a, |
| const InstanceReference & | b ) |
Definition at line 135 of file instances.cc.
|
static |
Definition at line 153 of file mesh_data_update.cc.
References CD_CONSTRUCT, CustomData_add_layer(), CustomData_get_layer_for_write(), and data.
Referenced by add_orco_mesh().
|
static |
Definition at line 663 of file blenkernel/intern/mesh.cc.
References blender::MutableSpan< T >::begin(), blender::Vector< T, InlineBufferCapacity, Allocator >::begin(), blender::math::dominant_axis(), blender::MutableSpan< T >::drop_front(), blender::MutableSpan< T >::end(), blender::MutableSpan< T >::index_range(), blender::bke::pbvh::leaf_needs_material_split(), blender::Bounds< T >::max, merge_bounds(), blender::math::midpoint(), blender::Bounds< T >::min, blender::math::min_max(), negative_bounds(), blender::threading::parallel_reduce(), blender::bke::pbvh::partition_along_axis(), partition_faces_recursively(), blender::bke::pbvh::partition_material_indices(), blender::Vector< T, InlineBufferCapacity, Allocator >::resize(), blender::MutableSpan< T >::size(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), blender::MutableSpan< T >::slice(), split(), STACK_FIXED_DEPTH, and blender::MutableSpan< T >::take_front().
Referenced by compute_local_mesh_groups(), and partition_faces_recursively().
|
static |
Definition at line 247 of file armature_deform.cc.
References b_bone_deform(), bPoseChannel_Runtime::bbone_segments, bPoseChannel::bone, bPoseChannel::runtime, and Bone::segments.
Referenced by armature_vert_task_with_mixer().
| const AttributeAccessorFunctions & blender::bke::pointcloud_attribute_accessor_functions | ( | ) |
Definition at line 168 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 285 of file attribute_legacy_convert.cc.
References attribute_legacy_convert_customdata_to_storage(), PointCloud::attribute_storage, CustomData_reset(), PointCloud::pdata_legacy, Point, pointcloud_convert_customdata_to_storage(), and PointCloud::totpoint.
Referenced by blo_do_versions_500(), and pointcloud_convert_customdata_to_storage().
| PointCloud * blender::bke::pointcloud_new_no_attributes | ( | int | totpoint | ) |
Definition at line 455 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 353 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 423 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 468 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 570 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 626 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 406 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 655 of file blenkernel/intern/action.cc.
References BLO_read_pointer_array(), BLO_read_struct, i, bAction::slot_array, and bAction::slot_array_num.
Referenced by action_blend_read_data().
|
static |
Definition at line 599 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 613 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 524 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 1753 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::MeshVertexGroupsAttributeProvider::try_delete(), blender::bke::curves::try_delete_vertex_group(), and blender::bke::greasepencil::validate_drawing_vertex_groups().
Definition at line 1680 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 4779 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 933 of file attribute_access.cc.
References blender::bke::AttributeFilter::allow_skip(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), ATTR_DOMAIN_AS_MASK, 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(), blender::bke::AttributeIter::name, and String.
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 1612 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 1602 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 1622 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 955 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 266 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::color::encode(), and short2_to_color().
|
static |
Definition at line 296 of file type_conversions.cc.
Referenced by short2_to_byte_color().
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(), blender::bke::AttributeMetaData::data_type, blender::bke::AttributeAccessor::is_builtin(), should_add_attribute_to_mesh(), and String.
Referenced by curve_to_mesh_sweep(), and should_add_attribute_to_mesh().
|
static |
Definition at line 5196 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 2677 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 2627 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 5144 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(), node_blend_write_storage(), 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(), and blender::nodes::CaptureAttributeItemsAccessor::supports_socket_type().
| const CPPType * blender::bke::socket_type_to_geo_nodes_base_cpp_type | ( | eNodeSocketDatatype | type | ) |
Definition at line 5202 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::SocketValueVariant::convert_to_single(), 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(), and blender::nodes::node_geo_grid_info_cc::node_geo_exec().
| std::optional< VolumeGridType > blender::bke::socket_type_to_grid_type | ( | eNodeSocketDatatype | type | ) |
Definition at line 5298 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_field_to_grid_cc::node_geo_exec(), 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 3679 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 102 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 42 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_COLLECTION, SOCK_FLOAT, SOCK_GEOMETRY, SOCK_IMAGE, SOCK_INT, SOCK_MATERIAL, SOCK_MATRIX, SOCK_MENU, SOCK_OBJECT, SOCK_RGBA, SOCK_ROTATION, SOCK_STRING, SOCK_TEXTURE, and SOCK_VECTOR.
|
static |
Definition at line 696 of file mesh_attributes.cc.
References tag_component_positions_changed().
Referenced by create_attribute_providers_for_mesh(), and tag_component_positions_changed().
|
static |
Definition at line 12 of file instances_attributes.cc.
References blender::bke::Instances::tag_reference_handles_changed().
Referenced by changed_tags().
|
static |
Definition at line 704 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 711 of file mesh_attributes.cc.
References tag_material_index_changed().
Referenced by create_attribute_providers_for_mesh(), and tag_material_index_changed().
|
static |
Definition at line 15 of file pointcloud_attributes.cc.
Referenced by changed_tags().
|
static |
Definition at line 21 of file pointcloud_attributes.cc.
Referenced by changed_tags().
| void blender::bke::transform_custom_normal_attribute | ( | const float4x4 & | transform, |
| MutableAttributeAccessor & | attributes ) |
Apply a transform to the "custom_normal" attribute.
Definition at line 1207 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 1254 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 1865 of file blenkernel/intern/mesh.cc.
References blender::MutableSpan< T >::index_range(), and blender::threading::parallel_for().
Definition at line 665 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_attribute_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::LazyFunctionForReduceForeachGeometryElement::handle_generation_items_group(), blender::nodes::node_geo_viewer_cc::log_viewer_attribute(), 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_id_cc::set_id_in_component(), 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 948 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 997 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 833 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_attribute_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(), initialize_new_data(), blender::bke::AttributeAccessor::lookup(), blender::bke::MutableAttributeAccessor::lookup_for_write_span(), blender::bke::AttributeAccessor::lookup_validator(), mask(), 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(), and blender::bke::AttributeValidator::validate_field_if_necessary().
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 1006 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::node_geo_viewer_cc::log_viewer_attribute(), 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 597 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 579 of file curve_to_mesh_convert.cc.
References blender::bke::MutableAttributeAccessor::add(), cpp_type_to_attribute_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 5330 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 4769 of file node.cc.
References LISTBASE_FOREACH_INDEX.
Referenced by node_socket_declarations_update().
|
static |
Definition at line 2217 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 196 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 141 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 1743 of file deform.cc.
References VArray< T >::from(), and varray_for_deform_verts().
Referenced by blender::bke::MeshVertexGroupsAttributeProvider::get_for_vertex_group_index(), blender::bke::curves::reader_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 1747 of file deform.cc.
References blender::VMutableArray< T >::from(), 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::MeshVertexGroupsAttributeProvider::try_get_for_write(), blender::bke::curves::try_get_vertex_group_for_write(), and varray_for_mutable_deform_verts().
|
static |
Definition at line 600 of file armature_deform.cc.
References BLI_assert_unreachable, CLOG_ERROR, Object::data, bArmature::edbo, bPose::flag, Object::id, LOG, ID::name, Object::pose, POSE_RECALC, and verify_armature_deform_valid().
Referenced by BKE_armature_deform_coords_with_curves(), BKE_armature_deform_coords_with_editmesh(), BKE_armature_deform_coords_with_mesh(), and verify_armature_deform_valid().
| std::optional< eCustomDataType > blender::bke::volume_grid_type_to_custom_data_type | ( | VolumeGridType | type | ) |
Definition at line 5389 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 523 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, blender::bke::Attribute::data_type(), Float, Float2, Float3, Float4x4, Int16_2D, Int32, Int32_2D, Int8, Quaternion, size(), and String.
|
static |
Definition at line 311 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 362 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 1024 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 963 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().
|
static |
Definition at line 609 of file attribute_storage.cc.
References attribute_type_to_cpp_type(), BLO_write_shared(), data, blender::bke::Attribute::data_type(), blender::CPPType::size, and size().
Referenced by blender::bke::AttributeStorage::blend_write().
|
static |
Definition at line 802 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 372 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 329 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 342 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 353 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 571 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_structure_type_inferencing::find_auto_structure_type_sockets(), blender::nodes::find_origin_sockets_through_contexts(), blender::nodes::ClosureSignature::from_closure_output_node(), blender::nodes::socket_items::ops::get_active_node_to_operate_on(), blender::bke::node_tree_runtime::get_implicit_origin_nodes(), blender::bke::node_tree_runtime::get_implicit_target_nodes(), iter_backwards_ex(), iter_shader_to_rgba_depth_count(), blender::ed::space_node::node_draw_basis(), blender::ed::space_node::node_draw_zones_and_frames(), blender::nodes::node_geo_closure_cc::output_node::node_insert_link(), blender::ed::space_node::remap_node_pairing(), blender::ed::space_node::remap_pairing(), and blender::nodes::sync_node().
|
static |
Definition at line 734 of file blenkernel/intern/action.cc.
|
constexpr |
Definition at line 48 of file curves_geometry.cc.
Referenced by blender::bke::CurvesGeometry::curve_types(), and blender::bke::CurvesGeometry::curve_types_for_write().
|
constexpr |
Definition at line 49 of file curves_geometry.cc.
Referenced by blender::bke::CurvesGeometry::cyclic(), and blender::bke::CurvesGeometry::cyclic_for_write().
|
constexpr |
Definition at line 54 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 55 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 51 of file curves_geometry.cc.
Referenced by blender::bke::CurvesGeometry::normal_mode(), and blender::bke::CurvesGeometry::normal_mode_for_write().
|
constexpr |
Definition at line 58 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 56 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 57 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 45 of file curves_geometry.cc.
Referenced by blender::bke::CurvesGeometry::positions(), and blender::bke::CurvesGeometry::positions_for_write().
|
constexpr |
Definition at line 46 of file curves_geometry.cc.
Referenced by blender::bke::CurvesGeometry::radius(), and blender::bke::CurvesGeometry::radius_for_write().
|
constexpr |
Definition at line 50 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 59 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 47 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 30 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 196 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 4846 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 4847 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 127 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 125 of file node.cc.
Referenced by node_tree_is_registered(), ntree_set_typeinfo(), and register_undefined_types().
| bNodeType blender::bke::NodeTypeUndefined |
Definition at line 126 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().