|
Blender V4.3
|
Namespaces | |
| namespace | anonymous_attribute_inferencing |
| namespace | attribute_accessor_functions |
| namespace | attribute_math |
| namespace | bake |
| namespace | blendfile |
| namespace | calc_edges |
| namespace | ccg |
| namespace | compare_meshes |
| namespace | compositor |
| namespace | crazyspace |
| namespace | cryptomatte |
| namespace | curves |
| namespace | forward_compat |
| namespace | greasepencil |
| namespace | id |
| namespace | idprop |
| namespace | image |
| namespace | mesh |
| namespace | mesh_surface_sample |
| namespace | nla |
| namespace | node_field_inferencing |
| namespace | node_interface |
| namespace | node_tree_runtime |
| namespace | object |
| namespace | outliner |
| namespace | paint |
| namespace | pbvh |
| namespace | shrinkwrap |
| namespace | subdiv |
| namespace | tests |
| namespace | volume_grid |
Typedefs | |
| using | FoundFCurveCallback = blender::FunctionRef<void(FCurve *fcurve, const char *bone_name)> |
| using | SelectedBoneCallback = blender::FunctionRef<void(Bone *bone)> |
| using | BoneNameSet = blender::Set<std::string> |
| using | AttributeForeachCallback |
| using | GeometryComponentPtr = ImplicitSharingPtr<GeometryComponent> |
| using | bNodeInstanceHashIterator = GHashIterator |
| using | NodeIDVectorSet = VectorSet<bNode *, DefaultProbingStrategy, NodeIDHash, NodeIDEquality> |
| 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 | 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 { RequiresSingle , CanBeField , IsField } |
Functions | |
| void | BKE_action_find_fcurves_with_bones (const bAction *action, FoundFCurveCallback 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) |
| 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) |
| 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) |
| eCustomDataType | attribute_data_type_highest_complexity (Span< eCustomDataType > 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) |
| 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) |
| Curves * | curve_legacy_to_curves (const Curve &curve_legacy) |
| Curves * | curve_legacy_to_curves (const Curve &curve_legacy, const ListBase &nurbs_list) |
| Mesh * | curve_to_mesh_sweep (const CurvesGeometry &main, const CurvesGeometry &profile, 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) |
| VArray< float3 > | instance_position_varray (const Instances &instances) |
| VMutableArray< float3 > | instance_position_varray_for_write (Instances &instances) |
| 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_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_ensure_default_color_attribute_on_add (Mesh &mesh, StringRef id, AttrDomain domain, eCustomDataType data_type) |
| void | mesh_data_update (Depsgraph &depsgraph, const Scene &scene, Object &ob, const CustomData_MeshMasks &dataMask) |
| void | mesh_sculpt_mask_to_legacy (MutableSpan< CustomDataLayer > vert_layers) |
| void | mesh_sculpt_mask_to_generic (Mesh &mesh) |
| 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) |
| void | mesh_eval_to_meshkey (const Mesh *me_deformed, Mesh *mesh, KeyBlock *kb) |
| void | node_system_init () |
| void | node_system_exit () |
| bNodeTree * | node_tree_add_tree_embedded (Main *bmain, ID *owner_id, const char *name, const char *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 (const 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_type_is_undefined (const bNode *node) |
| bool | node_is_static_socket_type (const bNodeSocketType *stype) |
| const char * | 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, const char *idname) |
| void | node_unlink_node (bNodeTree *ntree, bNode *node) |
| void | node_rebuild_id_vector (bNodeTree *node_tree) |
| bNode * | node_copy_with_mapping (bNodeTree *dst_tree, const bNode &node_src, int flag, bool use_unique, Map< const bNodeSocket *, bNodeSocket * > &new_socket_map) |
| bNode * | node_copy (bNodeTree *dst_tree, const bNode &src_node, int flag, bool use_unique) |
| 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) |
| float2 | node_to_view (const bNode *node, float2 loc) |
| float2 | node_from_view (const bNode *node, float2 view_loc) |
| 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, const 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_active) |
| 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) |
| BLI_INLINE bNodeInstanceHashIterator * | node_instance_hash_iterator_new (bNodeInstanceHash *hash) |
| BLI_INLINE void | node_instance_hash_iterator_init (bNodeInstanceHashIterator *iter, bNodeInstanceHash *hash) |
| BLI_INLINE void | node_instance_hash_iterator_free (bNodeInstanceHashIterator *iter) |
| BLI_INLINE bNodeInstanceKey | node_instance_hash_iterator_get_key (bNodeInstanceHashIterator *iter) |
| BLI_INLINE void * | node_instance_hash_iterator_get_value (bNodeInstanceHashIterator *iter) |
| BLI_INLINE void | node_instance_hash_iterator_step (bNodeInstanceHashIterator *iter) |
| BLI_INLINE bool | node_instance_hash_iterator_done (bNodeInstanceHashIterator *iter) |
| bool | node_preview_used (const bNode *node) |
| bNodePreview * | node_preview_verify (bNodeInstanceHash *previews, bNodeInstanceKey key, int xsize, int ysize, bool create) |
| bNodePreview * | node_preview_copy (bNodePreview *preview) |
| void | node_preview_free (bNodePreview *preview) |
| 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) |
| 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 DataTypeConversions & | get_implicit_type_conversions () |
| 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 | action_blend_write (BlendWriter *writer, ID *id, const void *id_address) |
| 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) |
| 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 void | asset_main_create_expander (void *, Main *, void *vid) |
| static Main * | asset_main_create_from_ID (Main &bmain_src, ID &id_asset, ID **id_asset_new) |
| 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 std::optional< blender::bke::MutableAttributeAccessor > | get_attribute_accessor_for_write (AttributeOwner &owner) |
| static int | attribute_data_type_complexity (const eCustomDataType 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 bool | custom_data_layer_matches_attribute_id (const CustomDataLayer &layer, const StringRef attribute_id) |
| 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 KnotsMode | knots_mode_from_legacy (const short flag) |
| static int | segments_num_no_duplicate_edge (const int points_num, const bool cyclic) |
| 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 > radii, 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, 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 AttributeAccessorFunctions | get_curves_accessor_functions () |
| static const AttributeAccessorFunctions & | get_curves_accessor_functions_ref () |
| 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 eCustomDataType 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 | add_final_mesh_as_geometry_component (const Object &object, GeometrySet &geometry_set) |
| 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 | 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 | 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_bvh_cache (MeshRuntime &mesh_runtime) |
| static void | free_batch_cache (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) |
| 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 ID ** | node_owner_pointer_get (ID *id, const bool debug_relationship_assert) |
| static void | write_node_socket (BlendWriter *writer, const bNodeSocket *sock) |
| 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 (BlendDataReader *reader, bNodeSocket *sock) |
| static void | remove_unsupported_sockets (ListBase *sockets, ListBase *links) |
| 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, const bContext *C, bNodeTreeType *treetype, bNodeType *nodetype, bNodeSocketType *socktype, const bool unregister) |
| 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 bool | unique_identifier_check (void *arg, const char *identifier) |
| static bNodeSocket * | make_socket (bNodeTree *ntree, bNode *, const int in_out, ListBase *lb, const char *idname, const char *identifier, const char *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, const 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 char *name, const char *idname) |
| static void | node_preview_init_tree_recursive (bNodeInstanceHash *previews, bNodeTree *ntree, bNodeInstanceKey parent_key, const int xsize, const int ysize) |
| static void | node_preview_tag_used_recursive (bNodeInstanceHash *previews, bNodeTree *ntree, bNodeInstanceKey parent_key) |
| static void | node_unlink_attached (bNodeTree *ntree, const bNode *parent) |
| 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 uint | node_instance_hash_key (const void *key) |
| static bool | node_instance_hash_key_cmp (const void *a, const void *b) |
| static Set< int > | get_known_node_types_set () |
| static bool | can_read_node_type (const int type) |
| 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 const CPPType * | slow_socket_type_to_geo_nodes_base_cpp_type (const eNodeSocketDatatype type) |
| static bool | unique_socket_template_identifier_check (void *arg, const char *name) |
| 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< std::unique_ptr< bNodeTreeZone > > all_zones, const BitGroupVector<> &depend_on_input_flag_array) |
| static bool | update_zone_per_node (const Span< const bNode * > all_nodes, const Span< std::unique_ptr< 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< const bNode * > &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 () |
| 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) |
| 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 int32_t | float_to_int (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 float | float2_to_float (const float2 &a) |
| static int | float2_to_int (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 int2 | float3_to_int2 (const float3 &a) |
| static float2 | float3_to_float2 (const float3 &a) |
| static ColorGeometry4f | float3_to_color (const float3 &a) |
| static ColorGeometry4b | float3_to_byte_color (const float3 &a) |
| static bool | int_to_bool (const int32_t &a) |
| static int8_t | int_to_int8 (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 ColorGeometry4f | int_to_color (const int32_t &a) |
| static ColorGeometry4b | int_to_byte_color (const int32_t &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 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 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 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 math::Quaternion | float3_to_quaternion (const float3 &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 int2 | bool_to_int2 (const bool &a) |
| static float2 | bool_to_float2 (const bool &a) |
| static float3 | bool_to_float3 (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 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 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 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 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 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< eCustomDataType > data_type, const AttributeAccessor &accessor) |
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 | transform_positions (MutableSpan< float3 > positions, const float4x4 &matrix) |
| static void | transform_normals (MutableSpan< float3 > normals, const float4x4 &matrix) |
| 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) |
| static int | domain_num (const CurvesGeometry &curves, const AttrDomain domain) |
| static CustomData & | domain_custom_data (CurvesGeometry &curves, const AttrDomain domain) |
| static const CustomData & | domain_custom_data (const CurvesGeometry &curves, const AttrDomain domain) |
| template<typename T > | |
| static VArray< T > | get_varray_attribute (const CurvesGeometry &curves, const AttrDomain domain, const StringRef name, const T default_value) |
| template<typename T > | |
| static Span< T > | get_span_attribute (const CurvesGeometry &curves, const AttrDomain domain, const StringRef name) |
| template<typename T > | |
| static MutableSpan< T > | get_mutable_attribute (CurvesGeometry &curves, const AttrDomain domain, const StringRef name, const T default_value=T()) |
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) |
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) |
| static void | gather_mutable_geometry_sets (GeometrySet &geometry_set, Vector< GeometrySet * > &r_geometry_sets) |
Selection Interpolation | |
| void | mesh_select_vert_flush (Mesh &mesh) |
| void | mesh_select_edge_flush (Mesh &mesh) |
| void | mesh_select_face_flush (Mesh &mesh) |
Generic API, Trees | |
| bNodeTreeType * | node_tree_type_find (const char *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) |
| GHashIterator * | node_tree_type_get_iterator () |
| void | node_tree_set_type (const bContext *C, bNodeTree *ntree) |
| bNodeTree * | node_tree_add_tree (Main *bmain, const char *name, const char *idname) |
| bNodeTree * | node_tree_add_in_lib (Main *bmain, Library *owner_library, const char *name, const char *idname) |
| void | node_tree_free_embedded_tree (bNodeTree *ntree) |
| bNodeTree ** | node_tree_ptr_from_id (ID *id) |
| bNodeTree * | node_tree_from_id (ID *id) |
| void | node_tree_free_local_tree (bNodeTree *ntree) |
| 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, 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:860 #define printf | |
| 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) |
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) |
Attribute Access Helper Functions | |
| static void | tag_component_topology_changed (void *owner) |
| static void | tag_component_curve_types_changed (void *owner) |
| static void | tag_component_positions_changed (void *owner) |
| static void | tag_component_radii_changed (void *owner) |
| static void | tag_component_normals_changed (void *owner) |
Attribute Provider Declaration | |
| static ComponentAttributeProviders | create_attribute_providers_for_curve () |
Geometry Component Implementation | |
| static ComponentAttributeProviders | create_attribute_providers_for_grease_pencil () |
| static GVArray | adapt_grease_pencil_attribute_domain (const GreasePencil &, const GVArray &varray, const AttrDomain from, const AttrDomain to) |
| static AttributeAccessorFunctions | get_grease_pencil_accessor_functions () |
| static const AttributeAccessorFunctions & | get_grease_pencil_accessor_functions_ref () |
| static void | tag_component_reference_index_changed (void *owner) |
| static ComponentAttributeProviders | create_attribute_providers_for_instances () |
| static AttributeAccessorFunctions | get_instances_accessor_functions () |
| static const AttributeAccessorFunctions & | get_instances_accessor_functions_ref () |
Attribute Access | |
| template<typename T > | |
| static void | adapt_mesh_domain_corner_to_point_impl (const Mesh &mesh, const VArray< T > &old_values, MutableSpan< T > r_values) |
| template<> | |
| void | adapt_mesh_domain_corner_to_point_impl (const Mesh &mesh, const VArray< bool > &old_values, MutableSpan< bool > r_values) |
| 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) |
| template<typename T > | |
| void | adapt_mesh_domain_face_to_point_impl (const Mesh &mesh, const VArray< T > &old_values, MutableSpan< T > r_values) |
| template<> | |
| void | adapt_mesh_domain_face_to_point_impl (const Mesh &mesh, const VArray< bool > &old_values, MutableSpan< bool > r_values) |
| 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 ComponentAttributeProviders | create_attribute_providers_for_mesh () |
| static AttributeAccessorFunctions | get_mesh_accessor_functions () |
| static const AttributeAccessorFunctions & | get_mesh_accessor_functions_ref () |
| static void | tag_component_positions_changed (void *owner) |
| static void | tag_component_radius_changed (void *owner) |
| static ComponentAttributeProviders | create_attribute_providers_for_point_cloud () |
| static AttributeAccessorFunctions | get_pointcloud_accessor_functions () |
| static const AttributeAccessorFunctions & | get_pointcloud_accessor_functions_ref () |
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 |
| static const std::string | ATTR_POSITION = "position" |
| static const std::string | ATTR_RADIUS = "radius" |
| static const std::string | ATTR_TILT = "tilt" |
| static const std::string | ATTR_CURVE_TYPE = "curve_type" |
| static const std::string | ATTR_CYCLIC = "cyclic" |
| static const std::string | ATTR_RESOLUTION = "resolution" |
| static const std::string | ATTR_NORMAL_MODE = "normal_mode" |
| static const std::string | ATTR_HANDLE_TYPE_LEFT = "handle_type_left" |
| static const std::string | ATTR_HANDLE_TYPE_RIGHT = "handle_type_right" |
| static const std::string | ATTR_HANDLE_POSITION_LEFT = "handle_left" |
| static const std::string | ATTR_HANDLE_POSITION_RIGHT = "handle_right" |
| static const std::string | ATTR_NURBS_ORDER = "nurbs_order" |
| static const std::string | ATTR_NURBS_WEIGHT = "nurbs_weight" |
| static const std::string | ATTR_NURBS_KNOTS_MODE = "knots_mode" |
| static const std::string | ATTR_SURFACE_UV_COORDINATE = "surface_uv_coordinate" |
| static GHash * | nodetreetypes_hash = nullptr |
| static GHash * | nodetypes_hash = nullptr |
| static GHash * | nodetypes_alias_hash = nullptr |
| static GHash * | nodesockettypes_hash = nullptr |
| template<typename T , typename U > | |
| static constexpr bool | is_single_or_field_or_grid_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, const char *idname, const char *name, const char *enum_name, short nclass) |
| void | node_type_storage (bNodeType *ntype, const char *storagename, void(*freefunc)(bNode *node), void(*copyfunc)(bNodeTree *dest_ntree, bNode *dest_node, const bNode *src_node)) |
| void | nodeLabel (const bNodeTree *ntree, const bNode *node, char *label, int maxlen) |
| const char * | nodeSocketLabel (const bNodeSocket *sock) |
| const char * | nodeSocketShortLabel (const bNodeSocket *sock) |
| void | node_type_base (bNodeType *ntype, int type, const char *name, short nclass) |
| 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 146 of file BKE_attribute.hh.
| using blender::bke::bNodeClassCallback = void (*)(void *calldata, int nclass, const char *name) |
Definition at line 446 of file BKE_node.hh.
Definition at line 1639 of file BKE_node.hh.
| using blender::bke::bNodeInstanceValueFP = void (*)(void *value) |
Definition at line 739 of file BKE_node.hh.
| using blender::bke::BoneNameSet = blender::Set<std::string> |
Definition at line 686 of file BKE_armature.hh.
| using blender::bke::Clock = std::chrono::high_resolution_clock |
Definition at line 1443 of file blenkernel/intern/modifier.cc.
| using blender::bke::FoundFCurveCallback = blender::FunctionRef<void(FCurve *fcurve, const char *bone_name)> |
Definition at line 355 of file BKE_action.hh.
Definition at line 57 of file BKE_geometry_set.hh.
Definition at line 122 of file BKE_node.hh.
| using blender::bke::NodeDeclareFunction = void (*)(blender::nodes::NodeDeclarationBuilder &builder) |
Definition at line 121 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 206 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 205 of file BKE_node.hh.
Definition at line 133 of file BKE_node.hh.
Definition at line 129 of file BKE_node.hh.
| using blender::bke::NodeGeometryExecFunction = void (*)(blender::nodes::GeoNodeExecParams params) |
Definition at line 120 of file BKE_node.hh.
Definition at line 136 of file BKE_node.hh.
Definition at line 138 of file BKE_node.hh.
Definition at line 208 of file BKE_node.hh.
| using blender::bke::NodeIDVectorSet = VectorSet<bNode *, DefaultProbingStrategy, NodeIDHash, NodeIDEquality> |
Definition at line 79 of file BKE_node_runtime.hh.
Definition at line 202 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 210 of file BKE_node.hh.
| using blender::bke::NodeMultiFunctionBuildFunction = void (*)(blender::nodes::NodeMultiFunctionBuilder &builder) |
Definition at line 119 of file BKE_node.hh.
| using blender::bke::NodeSocketPair = std::pair<bNode *, bNodeSocket *> |
Definition at line 185 of file node_tree_update.cc.
| using blender::bke::ObjectModifierPair = std::pair<Object *, ModifierData *> |
Definition at line 184 of file node_tree_update.cc.
| using blender::bke::SelectedBoneCallback = blender::FunctionRef<void(Bone *bone)> |
Definition at line 682 of file BKE_armature.hh.
| using blender::bke::SocketGetCPPValueFunction = void (*)(const void *socket_value, void *r_value) |
Definition at line 125 of file BKE_node.hh.
| using blender::bke::SocketGetGeometryNodesCPPValueFunction = void (*)(const void *socket_value, void *r_value) |
Definition at line 126 of file BKE_node.hh.
| using blender::bke::TreeNodePair = std::pair<bNodeTree *, bNode *> |
Definition at line 183 of file node_tree_update.cc.
|
strong |
| Enumerator | |
|---|---|
| Auto | |
| Point | |
| Edge | |
| Face | |
| Corner | |
| Curve | |
| Instance | |
| Layer | |
Definition at line 32 of file BKE_attribute.hh.
|
strong |
| Enumerator | |
|---|---|
| Default | |
| Small | |
| Middle | |
| Large | |
Definition at line 1726 of file BKE_node.hh.
|
strong |
| Enumerator | |
|---|---|
| RequiresSingle | |
| CanBeField | |
| IsField | |
Definition at line 212 of file BKE_node_runtime.hh.
|
strong |
| Enumerator | |
|---|---|
| Owned | |
| Editable | |
| ReadOnly | |
Definition at line 48 of file BKE_geometry_set.hh.
|
strong |
The complexity requirement of attribute domains needed to process normals. See #Mesh::normals_domain().
Definition at line 53 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 | |
Definition at line 429 of file BKE_node.hh.
| Enumerator | |
|---|---|
| NODE_MENU_ITEMS_CONFLICT | |
Definition at line 15 of file BKE_node_enum.hh.
|
static |
Definition at line 750 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 743 of file blenkernel/intern/action.cc.
References blender::bke::idprop::create().
Referenced by action_asset_metadata_ensure().
|
static |
Definition at line 677 of file blenkernel/intern/action.cc.
References BKE_fcurve_blend_read_data_listbase(), BKE_previewimg_blend_read(), BLI_endian_switch_int16(), BLI_listbase_clear(), BLO_read_requires_endian_switch(), BLO_read_struct, BLO_read_struct_list, bAction::curves, bAction::groups, bAction::idroot, blender::animrig::Action::is_action_layered(), bAction::layer_array, bAction::layer_array_num, LISTBASE_FOREACH, bAction::markers, bAction::preview, bAction::slot_array, bAction::slot_array_num, bAction::strip_keyframe_data_array, bAction::strip_keyframe_data_array_num, and wrap().
|
static |
Definition at line 492 of file blenkernel/intern/action.cc.
References blender::animrig::assert_baklava_phase_1_invariants(), BKE_fcurve_blend_write_listbase(), BKE_id_blend_write(), BKE_previewimg_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, blender::animrig::Action::is_action_layered(), bAction::layer_array, bAction::layer_array_num, blender::animrig::Action::layers(), LISTBASE_FOREACH, bAction::markers, bAction::preview, blender::animrig::Action::slot(), bAction::slot_array, bAction::slot_array_num, blender::animrig::Action::slots(), blender::animrig::Action::strip_keyframe_data(), and wrap().
|
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 109 of file blenkernel/intern/action.cc.
References 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, 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, 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 233 of file blenkernel/intern/action.cc.
References BKE_LIB_FOREACHID_PROCESS_ID, BKE_LIB_FOREACHID_PROCESS_ID_NOCHECK, BKE_LIB_FOREACHID_PROCESS_IDSUPER, BKE_lib_query_foreachid_process_flags_get(), BKE_lib_query_foreachid_process_main_get(), flag, IDWALK_CB_LOOPBACK, IDWALK_CB_NEVER_SELF, IDWALK_CB_NOP, IDWALK_CB_USER, IDWALK_DO_DEPRECATED_POINTERS, IDWALK_READONLY, Main::is_action_slot_to_id_map_dirty, LISTBASE_FOREACH, bAction::markers, blender::animrig::Action::slots(), blender::animrig::Slot::users_invalidate(), and wrap().
|
static |
Free (or release) any data used by this action (does not free the action itself).
Definition at line 197 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 1529 of file curves_geometry.cc.
References adapt_curve_domain_curve_to_point(), 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 1519 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 1496 of file curves_geometry.cc.
References adapt_curve_domain_point_to_curve(), 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 1480 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 1455 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 588 of file attribute_access.cc.
References blender::bke::AttributeAccessor::adapt_domain(), attribute, custom_data_type_to_cpp_type(), try_adapt_data_type(), and blender::bke::GAttributeReader::varray.
Referenced by blender::bke::AttributeIter::get(), and blender::bke::AttributeAccessor::lookup().
|
static |
Definition at line 125 of file geometry_component_grease_pencil.cc.
Referenced by get_grease_pencil_accessor_functions().
|
static |
Definition at line 784 of file geometry_component_mesh.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(), blender::GVArray::ForSingle(), blender::GVArrayCommon::get_internal_single(), blender::GVArrayCommon::is_empty(), blender::GVArrayCommon::is_single(), and blender::GVArrayCommon::type().
Referenced by adapt_mesh_attribute_domain(), and get_mesh_accessor_functions().
|
static |
Definition at line 358 of file geometry_component_mesh.cc.
References adapt_mesh_domain_corner_to_edge(), 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 324 of file geometry_component_mesh.cc.
References adapt_mesh_domain_corner_to_edge_impl(), BLI_assert, blender::bke::LooseGeomCache::count, blender::MutableSpan< T >::fill(), blender::threading::parallel_for(), and blender::MutableSpan< T >::size().
|
static |
Definition at line 297 of file geometry_component_mesh.cc.
References adapt_mesh_domain_corner_to_edge_impl(), BLI_assert, 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 258 of file geometry_component_mesh.cc.
References adapt_mesh_domain_corner_to_face(), and blender::GVArrayCommon::type().
Referenced by adapt_mesh_attribute_domain(), and adapt_mesh_domain_corner_to_face().
|
static |
Definition at line 225 of file geometry_component_mesh.cc.
References adapt_mesh_domain_corner_to_point(), 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 > & | old_values, | ||
| MutableSpan< bool > | r_values ) |
Definition at line 195 of file geometry_component_mesh.cc.
References BLI_assert, blender::bke::LooseGeomCache::count, blender::MutableSpan< T >::fill(), blender::bits::BitSpan::index_range(), blender::bke::LooseGeomCache::is_loose_bits, blender::threading::parallel_for(), and blender::MutableSpan< T >::size().
|
static |
Definition at line 179 of file geometry_component_mesh.cc.
References BLI_assert, and blender::MutableSpan< T >::size().
|
static |
Definition at line 639 of file geometry_component_mesh.cc.
References adapt_mesh_domain_edge_to_corner(), 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 614 of file geometry_component_mesh.cc.
References adapt_mesh_domain_edge_to_corner_impl(), BLI_assert, 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 586 of file geometry_component_mesh.cc.
References adapt_mesh_domain_edge_to_corner_impl(), BLI_assert, 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 708 of file geometry_component_mesh.cc.
References adapt_mesh_domain_edge_to_face(), and blender::GVArrayCommon::type().
Referenced by adapt_mesh_attribute_domain(), and adapt_mesh_domain_edge_to_face().
|
static |
Definition at line 695 of file geometry_component_mesh.cc.
References adapt_mesh_domain_edge_to_point(), 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 674 of file geometry_component_mesh.cc.
References adapt_mesh_domain_edge_to_point_impl(), BLI_assert, blender::MutableSpan< T >::fill(), blender::threading::parallel_for(), and blender::MutableSpan< T >::size().
|
static |
Definition at line 653 of file geometry_component_mesh.cc.
References adapt_mesh_domain_edge_to_point_impl(), BLI_assert, and blender::MutableSpan< T >::size().
Referenced by adapt_mesh_domain_edge_to_point_impl(), and adapt_mesh_domain_edge_to_point_impl().
|
static |
Definition at line 444 of file geometry_component_mesh.cc.
References adapt_mesh_domain_face_to_corner(), 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 429 of file geometry_component_mesh.cc.
References adapt_mesh_domain_face_to_corner_impl(), BLI_assert, blender::threading::parallel_for(), and blender::MutableSpan< T >::size().
Referenced by adapt_mesh_domain_face_to_corner_impl().
|
static |
Definition at line 499 of file geometry_component_mesh.cc.
References adapt_mesh_domain_face_to_edge(), 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 479 of file geometry_component_mesh.cc.
References adapt_mesh_domain_face_to_edge_impl(), BLI_assert, 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 458 of file geometry_component_mesh.cc.
References adapt_mesh_domain_face_to_edge_impl(), BLI_assert, blender::MutableSpan< T >::size(), and blender::Span< T >::slice().
Referenced by adapt_mesh_domain_face_to_edge_impl(), and adapt_mesh_domain_face_to_edge_impl().
|
static |
Definition at line 414 of file geometry_component_mesh.cc.
References adapt_mesh_domain_face_to_point(), and blender::GVArrayCommon::type().
Referenced by adapt_mesh_attribute_domain(), and adapt_mesh_domain_face_to_point().
| void blender::bke::adapt_mesh_domain_face_to_point_impl | ( | const Mesh & | mesh, |
| const VArray< bool > & | old_values, | ||
| MutableSpan< bool > | r_values ) |
Definition at line 394 of file geometry_component_mesh.cc.
References adapt_mesh_domain_face_to_point_impl(), BLI_assert, blender::MutableSpan< T >::fill(), blender::threading::parallel_for(), and blender::MutableSpan< T >::size().
| void blender::bke::adapt_mesh_domain_face_to_point_impl | ( | const Mesh & | mesh, |
| const VArray< T > & | old_values, | ||
| MutableSpan< T > | r_values ) |
Definition at line 372 of file geometry_component_mesh.cc.
References adapt_mesh_domain_face_to_point_impl(), BLI_assert, blender::MutableSpan< T >::size(), and blender::Span< T >::slice().
Referenced by adapt_mesh_domain_face_to_point_impl(), and adapt_mesh_domain_face_to_point_impl().
|
static |
Each corner's value is simply a copy of the value at its vertex.
Definition at line 243 of file geometry_component_mesh.cc.
References adapt_mesh_domain_point_to_corner(), and blender::GVArrayCommon::type().
Referenced by adapt_mesh_attribute_domain(), and adapt_mesh_domain_point_to_corner().
|
static |
Definition at line 552 of file geometry_component_mesh.cc.
References adapt_mesh_domain_point_to_edge(), and blender::GVArrayCommon::type().
Referenced by adapt_mesh_attribute_domain(), and adapt_mesh_domain_point_to_edge().
|
static |
Definition at line 512 of file geometry_component_mesh.cc.
References adapt_mesh_domain_point_to_face(), and blender::GVArrayCommon::type().
Referenced by adapt_mesh_attribute_domain(), and adapt_mesh_domain_point_to_face().
|
static |
Definition at line 2124 of file mesh_legacy_convert.cc.
References BKE_ntree_update_main_tree(), bNode::custom1, DATA_, DEG2RADF, Edge, Face, GEO_NODE_ASSET_MODIFIER, LISTBASE_FOREACH, bNode::locx, bNode::locy, 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(), bNode::outputs, PROP_ANGLE, SOCK_HIDDEN, SOCK_IN, SOCK_OUT, bNodeTreeInterfaceSocket::socket_data, bNode::storage, and STREQ.
|
static |
Definition at line 263 of file attribute_access.cc.
References add_generic_custom_data_layer(), add_generic_custom_data_layer_with_existing_data(), CD_CONSTRUCT, CD_SET_DEFAULT, blender::bke::AttributeInit::Construct, data, blender::bke::AttributeInit::DefaultValue, domain_num(), blender::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 20 of file geometry_set_instances.cc.
References BKE_mesh_wrapper_ensure_mdata(), BKE_modifier_get_evaluated_mesh_from_evaluated_object(), ReadOnly, and blender::bke::GeometrySet::replace_mesh().
Referenced by object_get_evaluated_geometry_set().
|
static |
Definition at line 242 of file attribute_access.cc.
References CustomData_add_layer_named().
Referenced by add_custom_data_layer_from_attribute_init().
|
static |
Definition at line 251 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 19 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 184 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 3005 of file node.cc.
References bNodeTree::links, and LISTBASE_FOREACH.
Referenced by node_internal_relink(), and node_unlink_node().
Definition at line 493 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().
Definition at line 480 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().
Definition at line 505 of file node_tree_zones.cc.
References all_zone_types(), and blender::Vector< T, InlineBufferCapacity, Allocator >::append().
Referenced by discover_tree_zones(), blender::nodes::geo_eval_log::GeoTreeLog::ensure_node_warnings(), 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 475 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 111 of file attribute_access.cc.
References blender::StringRefBase::startswith(), UV_EDGESEL_NAME, UV_PINNED_NAME, and UV_VERTSEL_NAME.
Referenced by blender::ui::attribute_search_add_items(), BKE_attributes_active_get(), ensure_weight_attribute_meta_data(), blender::nodes::find_output_attributes_to_store(), blender::ed::spreadsheet::GeometryDataSource::foreach_default_column_ids(), blender::ed::space_node::get_attribute_info_from_context(), blender::nodes::initialize_group_input(), blender::nodes::node_geo_input_named_attribute_cc::node_geo_exec(), blender::nodes::node_geo_remove_attribute_cc::node_geo_exec(), and blender::nodes::node_geo_store_named_attribute_cc::node_geo_exec().
|
static |
Definition at line 113 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, 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 369 of file asset_edit.cc.
References asset_edit_id_is_editable(), BKE_id_delete(), BKE_report(), BLI_delete(), lib, and RPT_ERROR.
Referenced by blender::ed::sculpt_paint::brush_asset_delete_exec().
| 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 383 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(), paint_brush_update_from_asset_reference(), and paint_eraser_brush_set_from_asset_reference().
| bool blender::bke::asset_edit_id_is_editable | ( | const ID & | id | ) |
Asset editing operations.
Definition at line 451 of file asset_edit.cc.
References lib, and LIBRARY_ASSET_EDITABLE.
Referenced by asset_edit_id_delete(), asset_edit_id_is_writable(), asset_edit_id_revert(), asset_edit_id_save(), asset_edit_weak_reference_from_id(), BKE_paint_brush_set(), blender::ed::sculpt_paint::brush_asset_revert_poll(), blender::ed::sculpt_paint::brush_asset_save_poll(), paint_brush_update_from_asset_reference(), and paint_eraser_brush_set_from_asset_reference().
| bool blender::bke::asset_edit_id_is_writable | ( | const ID & | id | ) |
Definition at line 456 of file asset_edit.cc.
References asset_edit_id_is_editable(), and LIBRARY_ASSET_FILE_WRITABLE.
Referenced by blender::ed::sculpt_paint::brush_asset_delete_poll(), blender::ed::sculpt_paint::brush_asset_edit_metadata_poll(), and blender::ed::sculpt_paint::brush_asset_save_poll().
| 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 360 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 338 of file asset_edit.cc.
References asset_edit_id_is_editable(), asset_write_in_library(), BKE_report(), lib, and RPT_ERROR.
Referenced by blender::ed::sculpt_paint::brush_asset_edit_metadata_exec(), blender::ed::sculpt_paint::brush_asset_load_preview_exec(), and blender::ed::sculpt_paint::brush_asset_save_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 312 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, RPT_ERROR, and RPT_INFO.
Referenced by blender::ed::sculpt_paint::brush_asset_save_as_exec().
| std::optional< AssetWeakReference > blender::bke::asset_edit_weak_reference_from_id | ( | const ID & | id | ) |
Get asset weak reference from ID.
Definition at line 421 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, and AssetWeakReference::relative_asset_identifier.
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 47 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 Library_Runtime::tag.
Referenced by asset_edit_id_from_weak_reference(), and asset_reload().
|
static |
Definition at line 152 of file asset_edit.cc.
References ID_TAG_DOIT, ID_TAG_NEED_EXPAND, and ID::tag.
Referenced by asset_main_create_from_ID().
|
static |
Definition at line 161 of file asset_edit.cc.
References blender::bke::id::IDRemapper::add(), asset_main_create_expander(), BKE_id_copy_ex(), BKE_libblock_remap_multiple_raw(), BKE_main_id_refcount_recompute(), BKE_main_new(), BLO_expand_main(), Main::filepath, FOREACH_MAIN_ID_BEGIN, FOREACH_MAIN_ID_END, ID_REMAP_SKIP_USER_CLEAR, ID_TAG_DOIT, ID_TAG_NEED_EXPAND, Main::is_asset_edit_file, LIB_ID_COPY_ASSET_METADATA, LIB_ID_CREATE_NO_DEG_TAG, LIB_ID_CREATE_NO_USER_REFCOUNT, STRNCPY, and ID::tag.
Referenced by asset_write_in_library().
|
static |
Definition at line 252 of file asset_edit.cc.
References asset_link_id(), BKE_id_delete(), BKE_id_name(), BLI_assert, DEG_relations_tag_update(), GS, and ID_IS_LINKED.
Referenced by asset_edit_id_revert().
|
static |
Definition at line 94 of file asset_edit.cc.
References BKE_idtype_get_info_from_idcode(), BLI_assert, BLI_path_normalize(), BLI_path_slash_native(), BLI_toupper_ascii(), bUserAssetLibrary::dirpath, FILE_MAX, IDTypeInfo::name_plural, SEP, and STRNCPY.
Referenced by asset_blendfile_path_for_save().
|
static |
Definition at line 297 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 271 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 217 of file asset_edit.cc.
References asset_main_create_from_ID(), BKE_idtype_get_info_from_id(), BKE_libblock_rename(), BKE_main_free(), BKE_packedfile_pack_all(), BLO_write_file(), BLO_WRITE_PATH_REMAP_RELATIVE, blender::StringRefNull::c_str(), G_FILE_ASSET_EDIT_FILE, G_FILE_COMPRESS, id_fake_user_set(), IDTypeInfo::name, BlendFileWriteParams::remap_mode, and SEP.
Referenced by asset_edit_id_save(), and asset_edit_id_save_as().
|
static |
Definition at line 792 of file geometry_fields.cc.
References blender::GVArrayCommon::common_info(), blender::CommonVArrayInfo::data, blender::CommonVArrayInfo::Span, and blender::CommonVArrayInfo::type.
Referenced by try_capture_fields_on_geometry().
|
static |
Definition at line 146 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_INT32, CD_PROP_INT32_2D, CD_PROP_INT8, CD_PROP_QUATERNION, and CD_PROP_STRING.
Referenced by attribute_data_type_highest_complexity().
| eCustomDataType blender::bke::attribute_data_type_highest_complexity | ( | Span< eCustomDataType > | data_types | ) |
Definition at line 182 of file attribute_access.cc.
References attribute_data_type_complexity(), and CD_PROP_COLOR.
Referenced by blender::bke::GeometrySet::gather_attributes_for_propagation(), and blender::geometry::get_final_attribute_info().
| AttrDomain blender::bke::attribute_domain_highest_priority | ( | Span< AttrDomain > | domains | ) |
Domains with a higher "information density" have a higher priority, in order to choose a domain that will not lose data through domain conversion.
Definition at line 226 of file attribute_access.cc.
References attribute_domain_priority(), and Corner.
Referenced by blender::bke::GeometrySet::gather_attributes_for_propagation(), and blender::geometry::get_final_attribute_info().
|
static |
Definition at line 202 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 73 of file BKE_attribute_filters.hh.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains_as(), and blender::bke::AttributeFilter::Process.
Creates a simple #AttributeFilter that skips allows the given attributes to be skipped, while all others should be processed.
Definition at line 62 of file BKE_attribute_filters.hh.
References blender::Span< T >::contains(), and blender::bke::AttributeFilter::Process.
Referenced by blender::ed::greasepencil::boundary_to_curves(), blender::create_dashes(), blender::create_envelope_strokes(), blender::ed::curves::curves_draw_exec(), blender::ed::greasepencil::grease_pencil_primitive_init_curves(), and blender::ed::greasepencil::grease_pencil_primitive_update_curves().
|
inline |
Same as above but with a #Set.
Definition at line 48 of file BKE_attribute_filters.hh.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains_as().
|
inline |
Combines an existing #AttributeFilter and tags a few additional attributes that can/should be skipped.
Definition at line 36 of file BKE_attribute_filters.hh.
References blender::Span< T >::contains().
Referenced by blender::geometry::convert_curves_to_bezier(), blender::geometry::convert_curves_to_catmull_rom_or_poly(), blender::geometry::convert_curves_to_nurbs(), blender::geometry::create_curve_from_vert_indices(), and blender::geometry::extract_instances().
| bool blender::bke::attribute_is_builtin_on_component_type | ( | const GeometryComponent::Type | type, |
| StringRef | name ) |
Definition at line 656 of file geometry_set.cc.
References BLI_assert_unreachable, blender::bke::GeometryComponent::create(), blender::bke::GeometryComponent::Curve, blender::bke::GeometryComponent::Edit, blender::bke::GeometryComponent::GreasePencil, blender::bke::GeometryComponent::Instance, blender::bke::GeometryComponent::Mesh, blender::bke::GeometryComponent::PointCloud, and blender::bke::GeometryComponent::Volume.
|
static |
Definition at line 754 of file geometry_fields.cc.
References blender::bke::AttributeMetaData::data_type, and blender::bke::AttributeMetaData::domain.
Referenced by try_add_shared_field_attribute().
|
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 37 of file BKE_anonymous_attribute_id.hh.
Referenced by blender::bke::attribute_accessor_functions::add(), 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::bke::ProcessAllAttributeExceptAnonymous::filter(), blender::nodes::NodeAttributeFilter::filter(), blender::ed::spreadsheet::GeometryDataSource::foreach_default_column_ids(), blender::geometry::gather_curve_attributes_to_interpolate(), blender::nodes::geo_eval_log::GeometryInfoLog::GeometryInfoLog(), blender::bke::compare_meshes::ignored_attribute(), blender::geometry::interpolate_attribute_to_curves(), blender::bke::attribute_accessor_functions::is_builtin(), blender::io::ply::load_custom_attributes(), blender::bke::attribute_accessor_functions::lookup(), blender::bke::attribute_accessor_functions::lookup_for_write(), blender::bke::attribute_accessor_functions::lookup_validator(), mesh_ensure_default_color_attribute_on_add(), blender::nodes::node_geo_input_named_attribute_cc::node_geo_exec(), blender::nodes::node_geo_remove_attribute_cc::node_geo_exec(), blender::nodes::node_geo_store_named_attribute_cc::node_geo_exec(), blender::bke::attribute_accessor_functions::remove(), blender::bke::MutableAttributeAccessor::remove_anonymous(), blender::ed::curves::resize_curves(), blender::bke::bake::serialize_attributes(), blender::bke::CurvesVertexGroupsAttributeProvider::try_delete(), blender::bke::CurvesVertexGroupsAttributeProvider::try_get_for_read(), and blender::bke::CurvesVertexGroupsAttributeProvider::try_get_for_write().
|
static |
Definition at line 81 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 | ( | const bAction * | action, |
| FoundFCurveCallback | callback ) |
Definition at line 22 of file action_bones.cc.
References BLI_str_quoted_substr(), callback, bAction::curves, LISTBASE_FOREACH, and MAXBONENAME.
Referenced by pose_backup_create().
| BoneNameSet blender::bke::BKE_armature_find_selected_bone_names | ( | const bArmature * | armature | ) |
Return a set of names of the selected bones. An empty set means "ignore bone selection", which either means all bones are selected, or none are.
Definition at line 52 of file armature_selection.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), BKE_armature_find_selected_bones(), and callback.
Referenced by BKE_pose_backup_create_selected_bones().
| SelectedBonesResult blender::bke::BKE_armature_find_selected_bones | ( | const bArmature * | armature, |
| SelectedBoneCallback | callback ) |
Definition at line 41 of file armature_selection.cc.
References bArmature::bonebase, callback, LISTBASE_FOREACH, and result.
Referenced by BKE_armature_find_selected_bone_names(), blender::bke::tests::TEST_F(), blender::bke::tests::TEST_F(), and blender::bke::tests::TEST_F().
|
static |
Definition at line 281 of file type_conversions.cc.
References bool_to_color(), and blender::ColorSceneLinear4f< Alpha >::encode().
|
static |
Definition at line 277 of file type_conversions.cc.
Referenced by bool_to_byte_color().
|
static |
Definition at line 253 of file type_conversions.cc.
|
static |
Definition at line 269 of file type_conversions.cc.
|
static |
Definition at line 273 of file type_conversions.cc.
|
static |
Definition at line 261 of file type_conversions.cc.
|
static |
Definition at line 265 of file type_conversions.cc.
|
static |
Definition at line 257 of file type_conversions.cc.
|
static |
Definition at line 476 of file curve_to_mesh_convert.cc.
References blender::bke::CurvesGeometry::attributes(), BLI_assert, build_mesh_positions(), 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::GVArrayCommon::get_internal_span(), init(), blender::Span< T >::is_empty(), blender::math::is_equal(), blender::GVArrayCommon::is_span(), blender::bke::AttributeAccessor::lookup(), blender::bke::CurvesInfo::main, blender::bke::CombinationInfo::main_points, 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::GSpan::typed(), 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 516 of file curves_geometry.cc.
References build_offsets(), blender::MutableSpan< T >::drop_back(), blender::MutableSpan< T >::index_range(), and blender::MutableSpan< T >::last().
Referenced by build_offsets(), and calculate_evaluated_offsets().
|
static |
Definition at line 2776 of file paint.cc.
References bm, SculptSession::bm, BM_data_layer_ensure_named(), CD_PROP_INT32, blender::bke::pbvh::Tree::from_bmesh(), BMesh::pdata, Object::sculpt, and BMesh::vdata.
Referenced by blender::bke::object::pbvh_ensure().
|
static |
Definition at line 2799 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 2785 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 176 of file curve_to_mesh_convert.cc.
References blender::math::cross(), blender::MatBase< float, 4, 4 >::identity(), and blender::math::normalize().
Referenced by fill_mesh_positions().
|
static |
Definition at line 2245 of file mesh_legacy_convert.cc.
References blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), LISTBASE_FOREACH, and result.
Referenced by is_auto_smooth_node_tree().
|
static |
Definition at line 319 of file type_conversions.cc.
References blender::ColorRGBA< ChannelStorageType, Space, Alpha >::r.
|
static |
Definition at line 347 of file type_conversions.cc.
|
static |
Definition at line 323 of file type_conversions.cc.
References color_to_float().
|
static |
Definition at line 339 of file type_conversions.cc.
References color_to_float2().
|
static |
Definition at line 343 of file type_conversions.cc.
References color_to_float3().
|
static |
Definition at line 327 of file type_conversions.cc.
References color_to_int().
|
static |
Definition at line 331 of file type_conversions.cc.
|
static |
Definition at line 335 of file type_conversions.cc.
References color_to_int8().
|
static |
Definition at line 271 of file mesh_remesh_voxel.cc.
References blender::math::midpoint().
|
static |
Definition at line 280 of file mesh_remesh_voxel.cc.
References blender::bke::mesh::face_center_calc(), and blender::Span< T >::slice().
|
static |
Definition at line 526 of file curves_geometry.cc.
References BLI_assert_unreachable, build_offsets(), CURVE_TYPE_BEZIER, CURVE_TYPE_CATMULL_ROM, CURVE_TYPE_NURBS, CURVE_TYPE_POLY, blender::IndexRange::last(), blender::MutableSpan< T >::slice(), and blender::Span< T >::slice().
|
static |
Definition at line 266 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, result, and blender::bke::ResultOffsets::total.
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 316 of file curves_geometry.cc.
References init(), and blender::threading::parallel_reduce().
Referenced by blender::bke::CurvesGeometry::curve_type_counts(), and blender::bke::CurvesGeometry::update_curve_types().
|
static |
Definition at line 485 of file type_conversions.cc.
References blender::fn::multi_function::MultiFunction::call_auto(), and params.
Referenced by call_convert_to_uninitialized_fn(), and blender::bke::DataTypeConversions::convert_to_initialized_n().
|
static |
Definition at line 497 of file type_conversions.cc.
References call_convert_to_uninitialized_fn().
|
static |
Definition at line 4190 of file node.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), ELEM, get_known_node_types_set(), NODE_CUSTOM, and NODE_CUSTOM_GROUP.
Referenced by node_replace_undefined_types().
|
static |
Definition at line 746 of file geometry_component_mesh.cc.
References BLI_assert_unreachable, and can_simple_adapt_for_single().
Referenced by adapt_mesh_attribute_domain(), and can_simple_adapt_for_single().
|
static |
Definition at line 286 of file type_conversions.cc.
References rgb_to_grayscale().
|
static |
Definition at line 314 of file type_conversions.cc.
|
static |
Definition at line 290 of file type_conversions.cc.
References rgb_to_grayscale().
Referenced by byte_color_to_float().
|
static |
Definition at line 306 of file type_conversions.cc.
Referenced by byte_color_to_float2().
|
static |
Definition at line 310 of file type_conversions.cc.
Referenced by byte_color_to_float3().
|
static |
Definition at line 294 of file type_conversions.cc.
References int, and rgb_to_grayscale().
Referenced by byte_color_to_int(), and color_to_int8().
|
static |
Definition at line 298 of file type_conversions.cc.
|
static |
Definition at line 302 of file type_conversions.cc.
References color_to_int(), and int_to_int8().
Referenced by byte_color_to_int8().
|
static |
Definition at line 259 of file geometry_component_curves.cc.
References construct_curve_length_gvarray(), and blender::VArray< T >::ForFunc().
Referenced by construct_curve_length_gvarray(), and blender::bke::CurveLengthFieldInput::get_varray_for_context().
|
static |
Definition at line 65 of file instances.cc.
References blender::MatBase< float, 4, 4 >::identity(), and LISTBASE_FOREACH.
Referenced by blender::bke::InstanceReference::to_geometry_set().
| 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 985 of file attribute_access.cc.
References BLI_assert, blender::bke::AttributeAccessor::domain_size(), and gather_attributes().
| 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 1000 of file attribute_access.cc.
References blender::bke::AttributeFilter::allow_skip(), CD_PROP_STRING, copy_attributes_group_to_group(), blender::array_utils::copy_group_to_group(), blender::bke::AttributeIter::data_type, blender::bke::AttributeIter::domain, blender::bke::GSpanAttributeWriter::finish(), blender::bke::AttributeAccessor::foreach_attribute(), blender::bke::AttributeIter::get(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), blender::bke::AttributeIter::name, and blender::bke::GSpanAttributeWriter::span.
Referenced by blender::geometry::convert_curves_to_bezier(), blender::geometry::convert_curves_to_catmull_rom_or_poly(), blender::geometry::convert_curves_to_nurbs(), and copy_attributes_group_to_group().
|
static |
Definition at line 751 of file curve_to_mesh_convert.cc.
References BLI_assert_unreachable, copy_curve_domain_attribute_to_mesh(), blender::bke::ResultOffsets::edge, blender::bke::ResultOffsets::face, blender::bke::ResultOffsets::loop, 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 734 of file curve_to_mesh_convert.cc.
References copy_indices_to_offset_ranges(), blender::devirtualize_varray(), and blender::Span< T >::index_range().
Referenced by copy_indices_to_offset_ranges().
|
static |
Definition at line 533 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 547 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 522 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 590 of file curve_to_mesh_convert.cc.
References copy_main_point_domain_attribute_to_mesh(), evaluate_attribute(), blender::bke::GSpanAttributeWriter::finish(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), blender::bke::CurvesInfo::main, 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 668 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 679 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 655 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 692 of file curve_to_mesh_convert.cc.
References 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 605 of file geometry_fields.cc.
References blender::bke::attribute_math::convert_to_static_type(), copy_with_checked_indices(), and blender::GVArrayCommon::type().
Referenced by blender::nodes::node_geo_sample_index_cc::SampleIndexFunction::call(), copy_with_checked_indices(), 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 586 of file geometry_fields.cc.
References blender::IndexRange::contains(), blender::devirtualize_varray2(), and blender::VArrayCommon< T >::index_range().
| eCustomDataType blender::bke::cpp_type_to_custom_data_type | ( | const CPPType & | type | ) |
Definition at line 67 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_INT32, CD_PROP_INT32_2D, CD_PROP_INT8, CD_PROP_QUATERNION, and CD_PROP_STRING.
Referenced by blender::bke::MutableAttributeAccessor::add(), gather_attributes(), blender::bke::AttributeIter::get(), get_mutable_attribute(), blender::bke::greasepencil::get_mutable_attribute(), get_span_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::bke::AttributeAccessor::lookup(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write(), blender::bke::MutableAttributeAccessor::rename(), blender::geometry::retrieve_attribute_spans(), blender::geometry::retrieve_attribute_spans(), blender::ed::geometry::rna_property_for_attribute_type_set_value(), blender::bke::bake::serialize_bake_item(), blender::ed::curves::set_attribute_invoke(), blender::nodes::store_computed_output_attributes(), blender::nodes::node_geo_dual_mesh_cc::transfer_attributes(), try_add_shared_field_attribute(), and try_capture_fields_on_geometry().
|
static |
In this function all the attribute providers for a curves component are created. Most data in this function is statically allocated, because it does not change over time.
Definition at line 469 of file geometry_component_curves.cc.
References BEZIER_HANDLE_ALIGN, BEZIER_HANDLE_FREE, CD_PROP_BOOL, CD_PROP_FLOAT, CD_PROP_FLOAT3, CD_PROP_INT32, CD_PROP_INT8, Curve, CurvesGeometry::curve_data, CURVE_TYPE_CATMULL_ROM, CURVE_TYPES_NUM, blender::bke::CurvesGeometry::curves_num(), blender::bke::BuiltinAttributeProvider::Deletable, blender::bke::BuiltinAttributeProvider::NonDeletable, NORMAL_MODE_FREE, NORMAL_MODE_MINIMUM_TWIST, NURBS_KNOT_MODE_ENDPOINT_BEZIER, NURBS_KNOT_MODE_NORMAL, Point, CurvesGeometry::point_data, blender::bke::CurvesGeometry::points_num(), tag_component_curve_types_changed(), tag_component_normals_changed(), tag_component_positions_changed(), tag_component_radii_changed(), and tag_component_topology_changed().
Referenced by get_curves_accessor_functions().
|
static |
Definition at line 104 of file geometry_component_grease_pencil.cc.
References Layer, and GreasePencil::layers_data.
Referenced by get_grease_pencil_accessor_functions().
|
static |
IDs of the instances. They are used for consistency over multiple frames for things like motion blur. Proper stable ID data that actually helps when rendering can only be generated in some situations, so this vector is allowed to be empty, in which case the index of each instance will be used for the final ID.
Indices into Instances::references_. Determines what data is instanced.
Definition at line 126 of file geometry_component_instances.cc.
References CD_PROP_FLOAT4X4, CD_PROP_INT32, blender::bke::Instances::custom_data_attributes(), blender::bke::BuiltinAttributeProvider::Deletable, Instance, blender::bke::Instances::instances_num(), blender::bke::BuiltinAttributeProvider::NonDeletable, and tag_component_reference_index_changed().
Referenced by get_instances_accessor_functions().
|
static |
In this function all the attribute providers for a mesh component are created. Most data in this function is statically allocated, because it does not change over time.
Definition at line 997 of file geometry_component_mesh.cc.
References CD_PROP_BOOL, CD_PROP_FLOAT3, CD_PROP_INT32, CD_PROP_INT32_2D, create_attribute_providers_for_mesh(), MAKE_CONST_CUSTOM_DATA_GETTER, MAKE_GET_ELEMENT_NUM_GETTER, MAKE_MUTABLE_CUSTOM_DATA_GETTER, blender::math::max(), tag_component_positions_changed(), and tag_component_sharpness_changed().
Referenced by create_attribute_providers_for_mesh(), and get_mesh_accessor_functions().
|
static |
In this function all the attribute providers for a point cloud component are created. Most data in this function is statically allocated, because it does not change over time.
Definition at line 138 of file geometry_component_pointcloud.cc.
References CD_PROP_FLOAT, CD_PROP_FLOAT3, CD_PROP_INT32, blender::bke::BuiltinAttributeProvider::Deletable, blender::bke::BuiltinAttributeProvider::NonDeletable, PointCloud::pdata, Point, tag_component_positions_changed(), tag_component_radius_changed(), and PointCloud::totpoint.
Referenced by get_pointcloud_accessor_functions().
|
static |
Definition at line 2329 of file mesh_legacy_convert.cc.
References 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.
|
static |
Definition at line 367 of file type_conversions.cc.
References add_implicit_conversion().
Referenced by get_implicit_type_conversions().
|
static |
Definition at line 150 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().
Convert the old curve type to the new data type. Caller owns the returned pointer.
Definition at line 210 of file curve_legacy_convert.cc.
References BKE_curve_nurbs_get_for_read(), and curve_legacy_to_curves().
Referenced by blender::nodes::node_geo_string_to_curves_cc::create_curve_instances(), curve_calc_modifiers_post(), curve_legacy_to_curves(), blender::io::alembic::ABCCurveWriter::do_write(), blender::io::usd::USDCurvesWriter::do_write(), and blender::io::obj::geometry_to_blender_geometry_set().
| Curves * blender::bke::curve_legacy_to_curves | ( | const Curve & | curve_legacy, |
| const ListBase & | nurbs_list ) |
Convert the old curve type to the new data type using a specific list of Nurb for the actual geometry data. Caller owns the returned pointer.
Definition at line 83 of file curve_legacy_convert.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), Nurb::bezt, Nurb::bp, 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, handle_type_from_legacy(), blender::Span< T >::index_range(), blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), blender::Vector< T, InlineBufferCapacity, Allocator >::is_empty(), knots_mode_from_legacy(), blender::MutableSpan< T >::last(), LISTBASE_FOREACH, blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), normal_mode_from_legacy(), Nurb::orderu, Nurb::pntsu, Point, BPoint::radius, Nurb::resolu, selection, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), blender::bke::SpanAttributeWriter< T >::span, BPoint::tilt, Curve::twist_mode, Nurb::type, and BPoint::vec.
|
static |
Definition at line 156 of file geometry_component_curves.cc.
References blender::threading::parallel_for(), and Point.
Referenced by curve_normals_varray().
| VArray< float3 > blender::bke::curve_normals_varray | ( | const CurvesGeometry & | curves, |
| AttrDomain | domain ) |
Definition at line 231 of file geometry_component_curves.cc.
References curve_normal_point_domain(), curve_normals_varray(), CURVE_TYPE_POLY, blender::VArray< T >::ForContainer(), and blender::VArray< T >::ForSpan().
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, | ||
| 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 815 of file curve_to_mesh_convert.cc.
References blender::bke::ResultOffsets::any_single_point_main, blender::bke::ResultOffsets::any_single_point_profile, 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_to_mesh_sweep(), CustomData_free_layer_named(), blender::bke::AttributeIter::data_type, blender::bke::AttributeIter::domain, blender::bke::ResultOffsets::edge, blender::bke::CombinationInfo::edge_range, evaluate_attribute(), 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(), blender::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, mesh, blender::bke::AttributeIter::name, 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 999 of file curve_to_mesh_convert.cc.
References curve_to_mesh_sweep(), curve_to_wire_mesh(), and get_curve_single_vert().
Referenced by 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().
| CurvesGeometry blender::bke::curves_copy_curve_selection | ( | const CurvesGeometry & | curves, |
| const IndexMask & | curves_to_copy, | ||
| const AttributeFilter & | attribute_filter ) |
Definition at line 1277 of file curves_geometry.cc.
References blender::bke::CurvesGeometry::attributes_for_write(), BKE_defgroup_copy_list(), 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(), 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::modify_drawing(), blender::modify_drawing(), blender::bke::CurvesGeometry::remove_curves(), and blender::geometry::separate_curves_selection().
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 305 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_uv_map, Curves::symmetry, and Curves::totcol.
Referenced by 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 1207 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::index_mask::IndexMask::from_predicate(), blender::array_utils::gather(), blender::threading::parallel_invoke(), and blender::index_mask::IndexMask::size().
Referenced by curves_copy_point_selection(), 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 1433 of file curves_geometry.cc.
References curves_new_no_attributes(), and CustomData_free_layer_named().
Referenced by curves_new_no_attributes().
| Curves * blender::bke::curves_new_nomain | ( | CurvesGeometry | curves | ) |
Definition at line 298 of file blenkernel/intern/curves.cc.
References BKE_id_new_nomain(), Curves::geometry, and ID_CV.
Definition at line 279 of file blenkernel/intern/curves.cc.
References BKE_id_new_nomain(), BLI_assert, Curves::geometry, ID_CV, and blender::bke::CurvesGeometry::resize().
Referenced by blender::create_array_copies(), blender::create_mirror_copies(), curve_legacy_to_curves(), curves_new_nomain_single(), blender::duplicate_strokes(), blender::nodes::node_geo_edge_paths_to_curves_cc::edge_paths_to_curves_convert(), blender::nodes::node_geo_curve_trim_cc::geometry_set_curve_trim(), blender::ed::greasepencil::join_curves(), blender::geometry::join_curves(), MOD_lineart_gpencil_generate_v3(), 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::geometry::separate_geometry(), blender::nodes::node_geo_curve_subdivide_cc::subdivide_curves(), 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 289 of file blenkernel/intern/curves.cc.
References curves_new_nomain(), Curves::geometry, blender::MutableSpan< T >::last(), and blender::bke::CurvesGeometry::offsets_for_write().
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::geometry::extract_curves(), 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 380 of file blenkernel/intern/curves.cc.
References blender::fn::FieldEvaluator::add_with_destination(), blender::fn::FieldEvaluator::evaluate(), and Point.
Referenced by export_hair_curves(), and blender::ed::curves::point_normals_array_create().
|
static |
Definition at line 319 of file attribute_access.cc.
Referenced by blender::bke::CustomDataAttributeProvider::try_create(), blender::bke::CustomDataAttributeProvider::try_delete(), blender::bke::CustomDataAttributeProvider::try_get_for_read(), and blender::bke::CustomDataAttributeProvider::try_get_for_write().
| const blender::CPPType * blender::bke::custom_data_type_to_cpp_type | ( | eCustomDataType | type | ) |
Definition at line 35 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_INT32, CD_PROP_INT32_2D, CD_PROP_INT8, CD_PROP_QUATERNION, CD_PROP_STRING, and blender::CPPType::get().
Referenced by adapt_domain_and_type_if_necessary(), blender::bke::attribute_math::convert_to_static_type(), blender::bke::CustomDataAttributeProvider::foreach_attribute(), blender::bke::bake::load_attributes(), blender::bke::AttributeAccessor::lookup_or_default(), blender::ed::mesh::set_attribute::mesh_set_attribute_exec(), blender::ed::mesh::set_attribute::mesh_set_attribute_invoke(), blender::nodes::node_geo_input_named_attribute_cc::node_geo_exec(), blender::nodes::node_geo_store_named_attribute_cc::node_geo_exec(), blender::ed::geometry::rna_property_for_attribute_type_retrieve_value(), blender::ed::curves::set_attribute_exec(), blender::bke::BuiltinCustomDataLayerProvider::try_get_for_read(), blender::bke::CustomDataAttributeProvider::try_get_for_read(), blender::bke::BuiltinCustomDataLayerProvider::try_get_for_write(), and blender::bke::CustomDataAttributeProvider::try_get_for_write().
| std::optional< eNodeSocketDatatype > blender::bke::custom_data_type_to_socket_type | ( | eCustomDataType | type | ) |
Definition at line 4403 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::NodeDeclarationBuilder::add_input(), blender::nodes::PanelDeclarationBuilder::add_input(), blender::nodes::NodeDeclarationBuilder::add_output(), blender::nodes::PanelDeclarationBuilder::add_output(), blender::nodes::custom_data_type_supports_grids(), and blender::nodes::CaptureAttributeItemsAccessor::get_socket_type().
| std::optional< VolumeGridType > blender::bke::custom_data_type_to_volume_grid_type | ( | eCustomDataType | type | ) |
Definition at line 5556 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 987 of file node.cc.
References BLO_read_data_address, BLO_read_string(), BLO_read_struct, bNodeSocket::default_attribute_name, bNodeSocket::default_value, direct_link_node_socket(), bNodeSocketValueMenu::enum_items, IDP_BlendDataRead, bNodeSocket::link, bNodeSocket::prop, bNodeSocket::runtime, bNodeSocketValueMenu::runtime_flag, SOCK_MENU, bNodeSocket::storage, bNodeSocket::type, and bNodeSocket::typeinfo.
Referenced by direct_link_node_socket(), and node_tree_blend_read_data().
|
static |
Definition at line 217 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(), BLI_assert, 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(), blender::Span< T >::index_range(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_default(), blender::bke::bNodeTreeZone::parent_zone, 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 209 of file curves_geometry.cc.
References Point.
|
static |
Definition at line 204 of file curves_geometry.cc.
References Point.
Referenced by get_mutable_attribute(), get_span_attribute(), and get_varray_attribute().
|
static |
Definition at line 199 of file curves_geometry.cc.
References Point.
Referenced by add_custom_data_layer_from_attribute_init(), get_mutable_attribute(), get_span_attribute(), and get_varray_attribute().
|
static |
Definition at line 1044 of file mesh_data_update.cc.
References BKE_mesh_free_editmesh(), BKE_mesh_wrapper_ensure_mdata(), BKE_object_eval_assign_data(), BLI_assert, Object::data, DEG_is_evaluated_id(), depsgraph, editbmesh_calc_modifiers(), Mesh::id, Mesh::key, Object::mode, OB_MODE_EDIT, Mesh::runtime, and Object::runtime.
Referenced by editbmesh_get_eval_cage(), and mesh_data_update().
|
static |
Definition at line 770 of file mesh_data_update.cc.
References add_orco_mesh(), ASSERT_IS_VALID_MESH, 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, CDMaskLink::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 1257 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 1281 of file mesh_data_update.cc.
References BKE_editmesh_from_object(), BLI_assert, DEG_get_evaluated_id(), 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 733 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 388 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 835 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::EvalData::nurbs_basis_cache, blender::bke::EvalData::nurbs_orders, blender::bke::EvalData::nurbs_weights, blender::bke::EvalData::points_by_curve, blender::bke::EvalData::resolution, blender::Span< T >::slice(), blender::Span< T >::slice_safe(), and blender::bke::EvalData::types.
Referenced by evaluate_generic_data_for_curve(), blender::bke::CurvesGeometry::evaluated_normals(), blender::bke::CurvesGeometry::interpolate_to_evaluated(), and blender::bke::CurvesGeometry::interpolate_to_evaluated().
| void blender::bke::file_handler_add | ( | std::unique_ptr< FileHandlerType > | file_handler | ) |
Adds a new file_handler to the file_handlers list, also loads all the file extensions from the formatted FileHandlerType.file_extensions_str string to FileHandlerType.file_extensions list.
The new file_handler is expected to have a unique FileHandlerType.idname.
Load all extensions from the string list into the list.
Load all extensions from the string list into the list.
Definition at line 38 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 25 of file file_handler.cc.
References file_handlers().
Referenced by blender::ed::object::collection_exporter_add_exec(), blender::ed::object::collection_exporter_export(), file_handler_add(), blender::bke::tests::TEST(), and blender::bke::tests::TEST().
| 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 58 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 20 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 66 of file file_handler.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append_non_duplicates(), BLI_path_extension(), BLI_strcaseeq(), blender::bke::FileHandlerType::file_extensions, file_handlers(), blender::bke::FileHandlerType::poll_drop, and result.
Referenced by test_single_file_handler_poll().
|
static |
Definition at line 14 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 1033 of file attribute_access.cc.
References blender::bke::AttributeFilter::allow_skip(), CD_PROP_STRING, blender::bke::AttributeIter::data_type, blender::bke::AttributeIter::domain, fill_attribute_range_default(), blender::bke::AttributeIter::name, and blender::GMutableSpan::slice().
Referenced by blender::ed::curves::add_curves(), blender::ed::greasepencil::boundary_to_curves(), blender::ed::curves::curves_draw_exec(), fill_attribute_range_default(), blender::ed::greasepencil::grease_pencil_primitive_init_curves(), and blender::ed::greasepencil::grease_pencil_primitive_update_curves().
|
static |
Definition at line 189 of file curve_to_mesh_convert.cc.
References build_point_matrix(), blender::Span< T >::first(), blender::math::scale(), and blender::math::transform_point().
Referenced by build_mesh_positions().
|
static |
Definition at line 31 of file curve_to_mesh_convert.cc.
References blender::bke::curves::segments_num(), and segments_num_no_duplicate_edge().
Referenced by curve_to_mesh_sweep().
|
static |
Definition at line 365 of file mesh_remesh_voxel.cc.
References find_nearest_corners(), and blender::MutableSpan< T >::index_range().
Referenced by find_nearest_corners(), and mesh_remesh_reproject_attributes().
|
static |
Definition at line 397 of file mesh_remesh_voxel.cc.
References find_nearest_edges(), and blender::MutableSpan< T >::index_range().
Referenced by find_nearest_edges(), and mesh_remesh_reproject_attributes().
|
static |
Definition at line 337 of file mesh_remesh_voxel.cc.
References find_nearest_faces(), and blender::offset_indices::OffsetIndices< T >::index_range().
Referenced by find_nearest_faces(), and mesh_remesh_reproject_attributes().
|
static |
Definition at line 290 of file mesh_remesh_voxel.cc.
References BLI_bvhtree_find_nearest(), FLT_MAX, BVHTreeNearest::index, BVHTreeFromMesh::nearest_callback, and BVHTreeFromMesh::tree.
|
static |
Definition at line 304 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 313 of file mesh_remesh_voxel.cc.
References blender::Span< T >::index_range(), and blender::threading::parallel_for().
Referenced by mesh_remesh_reproject_attributes().
|
static |
Definition at line 31 of file node_tree_zones.cc.
References blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), all_zone_types(), blender::Vector< T, InlineBufferCapacity, Allocator >::append_and_get_index(), blender::Vector< T, InlineBufferCapacity, Allocator >::extend(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_default(), node, 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 blender::index_mask::IndexMask::foreach_index().
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(), and flip_corner_data().
Referenced by mesh_flip_faces().
|
static |
Definition at line 98 of file type_conversions.cc.
References blender::math::is_zero().
|
static |
Definition at line 110 of file type_conversions.cc.
References blender::ColorSceneLinear4f< Alpha >::encode(), and float2_to_color().
|
static |
Definition at line 106 of file type_conversions.cc.
Referenced by float2_to_byte_color().
Definition at line 86 of file type_conversions.cc.
Referenced by int2_to_float().
Definition at line 82 of file type_conversions.cc.
Definition at line 90 of file type_conversions.cc.
Definition at line 94 of file type_conversions.cc.
Definition at line 102 of file type_conversions.cc.
References float_to_int8().
|
static |
Definition at line 115 of file type_conversions.cc.
References blender::math::is_zero().
|
static |
Definition at line 143 of file type_conversions.cc.
References blender::ColorSceneLinear4f< Alpha >::encode(), and float3_to_color().
|
static |
Definition at line 139 of file type_conversions.cc.
Referenced by float3_to_byte_color().
Definition at line 123 of file type_conversions.cc.
Definition at line 135 of file type_conversions.cc.
Definition at line 127 of file type_conversions.cc.
References int.
Definition at line 131 of file type_conversions.cc.
Definition at line 119 of file type_conversions.cc.
References float_to_int8().
|
static |
Definition at line 239 of file type_conversions.cc.
References blender::math::to_quaternion().
|
static |
Definition at line 352 of file type_conversions.cc.
References blender::math::normalize(), and blender::math::normalized_to_quaternion_safe().
|
static |
Definition at line 60 of file type_conversions.cc.
|
static |
Definition at line 73 of file type_conversions.cc.
References blender::ColorSceneLinear4f< Alpha >::encode(), and float_to_color().
|
static |
Definition at line 69 of file type_conversions.cc.
Referenced by float_to_byte_color().
Definition at line 44 of file type_conversions.cc.
Definition at line 48 of file type_conversions.cc.
Definition at line 52 of file type_conversions.cc.
Definition at line 56 of file type_conversions.cc.
Definition at line 64 of file type_conversions.cc.
Referenced by float2_to_int8(), and float3_to_int8().
|
static |
Definition at line 77 of file type_conversions.cc.
References blender::math::to_quaternion().
|
static |
Definition at line 436 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::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 52 of file mesh_runtime.cc.
References blender::bke::MeshRuntime::batch_cache, and BKE_mesh_batch_cache_free().
Referenced by blender::bke::MeshRuntime::~MeshRuntime().
|
static |
Definition at line 44 of file mesh_runtime.cc.
References blender::bke::MeshRuntime::bvh_cache, and bvhcache_free().
Referenced by blender::bke::MeshRuntime::~MeshRuntime().
|
static |
Definition at line 3607 of file node.cc.
References 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 36 of file mesh_runtime.cc.
References BKE_id_free(), and blender::bke::MeshRuntime::mesh_eval.
Referenced by 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 857 of file attribute_access.cc.
References blender::bke::MutableAttributeAccessor::add(), blender::bke::AttributeFilter::allow_skip(), CD_PROP_STRING, 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(), gather_attributes(), blender::bke::AttributeIter::get(), init(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), blender::bke::AttributeIter::name, and blender::bke::GSpanAttributeWriter::span.
Referenced by copy_attributes(), blender::geometry::create_curve_from_vert_indices(), blender::create_dashes(), blender::create_envelope_strokes(), curves_copy_curve_selection(), 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(), gather_attributes(), gather_attributes(), gather_attributes(), mesh_remesh_reproject_attributes(), blender::bke::Instances::remove(), blender::reorder_cyclic_curve_points(), blender::geometry::separate_grease_pencil_layer_selection(), and blender::geometry::separate_point_cloud_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 892 of file attribute_access.cc.
References blender::bke::AttributeFilter::allow_skip(), CD_PROP_STRING, copy_attributes(), blender::bke::AttributeIter::data_type, blender::bke::AttributeIter::domain, blender::bke::AttributeAccessor::domain_size(), blender::bke::GSpanAttributeWriter::finish(), blender::bke::AttributeAccessor::foreach_attribute(), gather_attributes(), blender::bke::AttributeIter::get(), blender::array_utils::indices_are_range(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), blender::bke::AttributeIter::name, and blender::bke::GSpanAttributeWriter::span.
|
static |
Definition at line 455 of file mesh_remesh_voxel.cc.
References cpp_type_to_custom_data_type(), blender::bke::GSpanAttributeWriter::finish(), 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 926 of file attribute_access.cc.
References blender::bke::AttributeFilter::allow_skip(), CD_PROP_STRING, blender::bke::AttributeIter::data_type, blender::bke::AttributeIter::domain, blender::bke::GSpanAttributeWriter::finish(), blender::bke::AttributeAccessor::foreach_attribute(), gather_attributes_group_to_group(), blender::bke::AttributeIter::get(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), blender::bke::AttributeIter::name, and blender::bke::GSpanAttributeWriter::span.
Referenced by curves_copy_curve_selection(), and gather_attributes_group_to_group().
| 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 956 of file attribute_access.cc.
References blender::bke::AttributeFilter::allow_skip(), CD_PROP_STRING, blender::bke::AttributeIter::data_type, blender::bke::AttributeIter::domain, blender::bke::GSpanAttributeWriter::finish(), blender::bke::AttributeAccessor::foreach_attribute(), gather_attributes_to_groups(), blender::bke::AttributeIter::get(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), blender::bke::AttributeIter::name, and blender::bke::GSpanAttributeWriter::span.
Referenced by gather_attributes_to_groups().
|
static |
Definition at line 740 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 1824 of file deform.cc.
References gather_deform_verts(), and MEM_dupallocN.
| void blender::bke::gather_deform_verts | ( | Span< MDeformVert > | src, |
| Span< int > | indices, | ||
| MutableSpan< MDeformVert > | dst ) |
Definition at line 1811 of file deform.cc.
References gather_deform_verts().
Referenced by gather_deform_verts(), and gather_deform_verts().
|
static |
Definition at line 774 of file geometry_set.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::bke::Instances::ensure_geometry_instances(), gather_mutable_geometry_sets(), blender::bke::GeometrySet::get_instances_for_write(), and blender::bke::GeometrySet::has_instances().
Referenced by gather_mutable_geometry_sets(), and blender::bke::GeometrySet::modify_geometry_sets().
Definition at line 428 of file instances.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::RandomNumberGenerator::get_int32(), blender::Span< T >::index_range(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add_cb(), blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::reserve(), blender::RandomNumberGenerator::seed_random(), and blender::Span< T >::size().
Referenced by blender::bke::Instances::almost_unique_ids().
| std::optional< eNodeSocketDatatype > blender::bke::geo_nodes_base_cpp_type_to_socket_type | ( | const CPPType & | type | ) |
Definition at line 4471 of file node.cc.
References SOCK_BOOLEAN, SOCK_FLOAT, SOCK_INT, SOCK_MATRIX, SOCK_RGBA, SOCK_ROTATION, SOCK_STRING, and SOCK_VECTOR.
Referenced by blender::nodes::execute_multi_function_on_value_variant__single().
|
static |
Definition at line 177 of file attribute.cc.
References blender::bke::CurvesGeometry::attributes_for_write(), BLI_assert, Curves, Curves::geometry, AttributeOwner::get_curves(), AttributeOwner::get_grease_pencil(), AttributeOwner::get_grease_pencil_drawing(), AttributeOwner::get_mesh(), AttributeOwner::get_pointcloud(), GreasePencil, GreasePencilDrawing, Mesh, PointCloud, blender::bke::greasepencil::Drawing::strokes_for_write(), and AttributeOwner::type().
|
static |
Definition at line 348 of file curve_to_mesh_convert.cc.
References get_attribute_domain_for_mesh(), blender::bke::AttributeAccessor::is_builtin(), and blender::bke::AttributeAccessor::lookup_meta_data().
Referenced by curve_to_mesh_sweep(), and get_attribute_domain_for_mesh().
|
static |
Definition at line 1445 of file blenkernel/intern/modifier.cc.
Referenced by blender::bke::ScopedModifierTimer::ScopedModifierTimer(), and blender::bke::ScopedModifierTimer::~ScopedModifierTimer().
|
static |
Definition at line 989 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 678 of file geometry_component_curves.cc.
References blender::bke::attribute_accessor_functions::accessor_functions_for_providers(), blender::bke::AttributeAccessorFunctions::adapt_domain, blender::bke::CurvesGeometry::adapt_domain(), create_attribute_providers_for_curve(), Curve, blender::bke::AttributeAccessorFunctions::domain_size, blender::bke::AttributeAccessorFunctions::domain_supported, ELEM, Point, and blender::bke::CurvesGeometry::points_num().
Referenced by get_curves_accessor_functions_ref().
|
static |
Definition at line 713 of file geometry_component_curves.cc.
References get_curves_accessor_functions().
Referenced by blender::bke::CurveComponent::attributes(), blender::bke::CurvesGeometry::attributes(), blender::bke::CurveComponent::attributes_for_write(), and blender::bke::CurvesGeometry::attributes_for_write().
|
static |
Definition at line 233 of file curve_to_mesh_convert.cc.
References main().
Referenced by curve_to_mesh_sweep().
|
static |
Definition at line 76 of file node_tree_zones.cc.
References blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), blender::Vector< T, InlineBufferCapacity, Allocator >::append_non_duplicates(), blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::as_span(), b, blender::Vector< T, InlineBufferCapacity, Allocator >::begin(), blender::bke::ZoneRelation::child, blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), blender::Vector< T, InlineBufferCapacity, Allocator >::end(), blender::bits::foreach_1_index(), blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::index_of_try(), blender::VectorSet< Key, 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().
|
static |
Definition at line 136 of file geometry_component_grease_pencil.cc.
References blender::bke::attribute_accessor_functions::accessor_functions_for_providers(), blender::bke::AttributeAccessorFunctions::adapt_domain, adapt_grease_pencil_attribute_domain(), create_attribute_providers_for_grease_pencil(), blender::bke::AttributeAccessorFunctions::domain_size, blender::bke::AttributeAccessorFunctions::domain_supported, int, and Layer.
Referenced by get_grease_pencil_accessor_functions_ref().
|
static |
Definition at line 170 of file geometry_component_grease_pencil.cc.
References get_grease_pencil_accessor_functions().
Referenced by blender::bke::GreasePencilComponent::attributes(), and blender::bke::GreasePencilComponent::attributes_for_write().
| const DataTypeConversions & blender::bke::get_implicit_type_conversions | ( | ) |
Definition at line 462 of file type_conversions.cc.
References create_implicit_conversions().
Referenced by blender::nodes::GeometryNodesLazyFunctionBuilder::build(), blender::nodes::inverse_eval::convert_single_socket_value(), blender::ed::space_node::create_inspection_string_for_generic_value(), blender::nodes::LazyFunctionForMutedNode::execute_impl(), blender::ed::mesh::set_attribute::mesh_set_attribute_exec(), blender::nodes::node_geo_sample_grid_cc::node_geo_exec(), blender::nodes::node_geo_sample_grid_index_cc::node_geo_exec(), blender::nodes::node_geo_sample_uv_surface_cc::node_geo_exec(), blender::nodes::node_geo_store_named_attribute_cc::node_geo_exec(), blender::nodes::node_geo_tool_set_selection_cc::node_geo_exec(), node_socket_move_default_value(), blender::ed::curves::set_attribute_exec(), try_adapt_data_type(), and blender::nodes::geo_eval_log::GeoTreeLog::try_convert_primitive_socket_value().
|
static |
Definition at line 177 of file geometry_component_instances.cc.
References blender::bke::attribute_accessor_functions::accessor_functions_for_providers(), blender::bke::AttributeAccessorFunctions::adapt_domain, create_attribute_providers_for_instances(), blender::bke::AttributeAccessorFunctions::domain_size, blender::bke::AttributeAccessorFunctions::domain_supported, Instance, and blender::bke::Instances::instances_num().
Referenced by get_instances_accessor_functions_ref().
|
static |
Definition at line 209 of file geometry_component_instances.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().
|
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 87 of file node_tree_update.cc.
References SOCK_BOOLEAN, SOCK_CUSTOM, SOCK_FLOAT, SOCK_INT, SOCK_RGBA, SOCK_ROTATION, SOCK_VECTOR, and STREQ.
Definition at line 4180 of file node.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), NODE_TYPES_BEGIN, NODE_TYPES_END, and result.
Referenced by can_read_node_type().
|
static |
Definition at line 1128 of file geometry_component_mesh.cc.
References blender::bke::AttributeAccessorFunctions::adapt_domain, adapt_mesh_attribute_domain(), create_attribute_providers_for_mesh(), blender::bke::AttributeAccessorFunctions::domain_size, blender::bke::AttributeAccessorFunctions::domain_supported, ELEM, get_mesh_accessor_functions(), and Mesh::verts_num.
Referenced by get_mesh_accessor_functions(), and get_mesh_accessor_functions_ref().
|
static |
Definition at line 1167 of file geometry_component_mesh.cc.
References get_mesh_accessor_functions(), and get_mesh_accessor_functions_ref().
Referenced by blender::bke::MeshComponent::attributes(), blender::bke::MeshComponent::attributes_for_write(), and get_mesh_accessor_functions_ref().
|
static |
Definition at line 248 of file curves_geometry.cc.
References CD_SET_DEFAULT, cpp_type_to_custom_data_type(), CustomData_add_layer_named(), CustomData_get_layer_named_for_write(), data, domain_custom_data(), domain_num(), blender::MutableSpan< T >::fill(), blender::MutableSpan< T >::first(), and blender::CPPType::get().
Referenced by blender::bke::CurvesGeometry::curve_types_for_write(), blender::bke::greasepencil::Drawing::fill_colors_for_write(), blender::bke::greasepencil::Drawing::opacities_for_write(), blender::bke::greasepencil::Drawing::radii_for_write(), and blender::bke::greasepencil::Drawing::vertex_colors_for_write().
|
static |
Definition at line 114 of file mesh_data_update.cc.
References BKE_key_from_object(), BKE_keyblock_find_by_index(), BKE_mesh_orco_verts_get(), BKE_modifiers_findby_type(), BMEditMesh::bm, BM_mesh_vert_coords_alloc(), CD_CLOTH_ORCO, CD_ORCO, KeyBlock::data, eModifierType_Cloth, ClothSimSettings::shapekey_rest, ClothModifierData::sim_parms, and KeyBlock::totelem.
Referenced by add_orco_mesh(), and create_orco_mesh().
|
static |
Definition at line 176 of file geometry_component_pointcloud.cc.
References blender::bke::attribute_accessor_functions::accessor_functions_for_providers(), blender::bke::AttributeAccessorFunctions::adapt_domain, create_attribute_providers_for_point_cloud(), blender::bke::AttributeAccessorFunctions::domain_size, blender::bke::AttributeAccessorFunctions::domain_supported, Point, and PointCloud::totpoint.
Referenced by get_pointcloud_accessor_functions_ref().
|
static |
Definition at line 209 of file geometry_component_pointcloud.cc.
References get_pointcloud_accessor_functions().
Referenced by blender::bke::PointCloudComponent::attributes(), and blender::bke::PointCloudComponent::attributes_for_write().
|
static |
Definition at line 488 of file geometry_fields.cc.
References Instance, and Point.
Referenced by blender::bke::IDAttributeFieldInput::get_varray_for_context().
|
static |
Definition at line 232 of file curves_geometry.cc.
References cpp_type_to_custom_data_type(), CustomData_get_layer_named(), data, domain_custom_data(), domain_num(), and blender::CPPType::get().
Definition at line 515 of file instances.cc.
| const bNodeTreeZones * blender::bke::get_tree_zones | ( | const bNodeTree & | tree | ) |
Definition at line 359 of file node_tree_zones.cc.
References discover_tree_zones(), and tree.
|
static |
Definition at line 215 of file curves_geometry.cc.
References cpp_type_to_custom_data_type(), CustomData_get_layer_named(), domain_custom_data(), domain_num(), blender::VArray< T >::ForSingle(), blender::VArray< T >::ForSpan(), and blender::CPPType::get().
Referenced by blender::bke::CurvesGeometry::curve_types().
|
static |
Definition at line 464 of file node_tree_zones.cc.
Referenced by all_zone_types(), and register_node_zone_type().
| std::optional< eNodeSocketDatatype > blender::bke::grid_type_to_socket_type | ( | VolumeGridType | type | ) |
Definition at line 4516 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().
|
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().
|
inline |
Definition at line 11 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().
Definition at line 525 of file instances.cc.
References blender::VArray< T >::ForDerivedSpan().
Referenced by blender::bke::AttributeFieldInput::get_varray_for_context().
| VMutableArray< float3 > blender::bke::instance_position_varray_for_write | ( | Instances & | instances | ) |
Definition at line 530 of file instances.cc.
References blender::VMutableArray< T >::ForDerivedSpan().
Referenced by blender::nodes::node_geo_store_named_attribute_cc::node_geo_exec().
|
static |
Definition at line 182 of file type_conversions.cc.
References blender::math::is_zero().
|
static |
Definition at line 210 of file type_conversions.cc.
References blender::ColorSceneLinear4f< Alpha >::encode(), and int2_to_color().
|
static |
Definition at line 206 of file type_conversions.cc.
Referenced by int2_to_byte_color().
Definition at line 198 of file type_conversions.cc.
References float2_to_float().
Definition at line 186 of file type_conversions.cc.
Definition at line 202 of file type_conversions.cc.
Definition at line 190 of file type_conversions.cc.
References blender::math::midpoint().
Referenced by int2_to_int8().
Definition at line 194 of file type_conversions.cc.
References int2_to_int(), and int_to_int8().
|
static |
Definition at line 215 of file type_conversions.cc.
|
static |
Definition at line 248 of file type_conversions.cc.
References blender::ColorSceneLinear4f< Alpha >::encode(), and int8_to_color().
|
static |
Definition at line 244 of file type_conversions.cc.
Referenced by int8_to_byte_color().
Definition at line 227 of file type_conversions.cc.
References float.
Definition at line 231 of file type_conversions.cc.
Definition at line 235 of file type_conversions.cc.
Definition at line 219 of file type_conversions.cc.
References int.
Definition at line 223 of file type_conversions.cc.
|
static |
Definition at line 148 of file type_conversions.cc.
|
static |
Definition at line 177 of file type_conversions.cc.
References blender::ColorSceneLinear4f< Alpha >::encode(), and int_to_color().
|
static |
Definition at line 173 of file type_conversions.cc.
Referenced by int_to_byte_color().
Definition at line 161 of file type_conversions.cc.
References float.
Definition at line 165 of file type_conversions.cc.
Definition at line 169 of file type_conversions.cc.
Definition at line 157 of file type_conversions.cc.
Definition at line 152 of file type_conversions.cc.
Referenced by color_to_int8(), and int2_to_int8().
|
static |
Definition at line 2260 of file mesh_legacy_convert.cc.
References BLI_listbase_count(), build_socket_indices(), Edge, Face, GEO_NODE_ASSET_MODIFIER, LISTBASE_FOREACH_INDEX, NODE_BOOLEAN_MATH_AND, NODE_COMPARE_LESS_EQUAL, NTREE_GEOMETRY, and NodeFunctionCompare::operation.
|
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 962 of file node.cc.
References is_node_socket_supported(), SOCK_BOOLEAN, 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 is_node_socket_supported(), and remove_unsupported_sockets().
|
static |
Definition at line 178 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 2533 of file node.cc.
References callback, bNodeLink::flag, bNodeLink::fromnode, bNode::inputs, iter_backwards_ex(), LISTBASE_FOREACH, NODE_LINK_VALID, bNode::runtime, and bNodeLink::tonode.
Referenced by iter_backwards_ex(), and node_chain_iterator_backwards().
|
static |
Definition at line 67 of file curve_legacy_convert.cc.
References BLI_assert_unreachable, CU_NURB_BEZIER, CU_NURB_ENDPOINT, flag, NURBS_KNOT_MODE_BEZIER, NURBS_KNOT_MODE_ENDPOINT, NURBS_KNOT_MODE_ENDPOINT_BEZIER, and NURBS_KNOT_MODE_NORMAL.
Referenced by curve_legacy_to_curves().
|
static |
Definition at line 326 of file node.cc.
References BKE_LIB_FOREACHID_PROCESS_FUNCTION_CALL, BKE_LIB_FOREACHID_PROCESS_IDSUPER, IDP_foreach_property(), IDP_TYPE_FILTER_ID, IDWALK_CB_USER, bNodeSocket::prop, SOCK_BOOLEAN, 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().
|
static |
Definition at line 1884 of file node.cc.
References BLI_uniquename_cb(), bNodeSocket::flag, bNodeSocket::identifier, bNodeSocket::idname, bNodeSocket::in_out, bNodeSocket::limit, MAX_NAME, bNodeSocket::name, node_socket_set_typeinfo(), node_socket_type_find(), bNodeSocket::runtime, SOCK_COLLAPSED, SOCK_CUSTOM, SOCK_IN, bNodeSocket::storage, STRNCPY, bNodeSocket::type, and unique_identifier_check().
Referenced by node_add_socket().
|
static |
Definition at line 1299 of file mesh_data_update.cc.
References BLI_BITMAP_ENABLE, BLI_BITMAP_TEST, copy_v3_v3(), blender::bke::MappedUserData::vertex_visit, and blender::bke::MappedUserData::vertexcos.
Referenced by mesh_get_mapped_verts_coords().
|
static |
Set the sharp status for edges that correspond to control points with vector handles.
Definition at line 156 of file curve_to_mesh_convert.cc.
References blender::IndexRange::drop_front(), blender::MutableSpan< T >::fill(), blender::bke::curves::bezier::point_is_sharp(), and blender::MutableSpan< T >::slice().
|
static |
Definition at line 981 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_id(), 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(), Mesh::runtime, Object::runtime, Object::sculpt, and CustomData_MeshMasks::vmask.
Referenced by mesh_data_update(), and mesh_get_eval_deform().
|
static |
Definition at line 970 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 176 of file mesh_calc_edges.cc.
References blender::bke::MutableAttributeAccessor::add(), blender::Array< T, InlineBufferCapacity, Allocator >::as_mutable_span(), BLI_assert, CustomData_free(), CustomData_reset(), blender::bke::SpanAttributeWriter< T >::finish(), blender::Array< T, InlineBufferCapacity, Allocator >::index_range(), blender::Array< T, InlineBufferCapacity, Allocator >::is_empty(), is_power_of_2_i(), mesh_calc_edges(), blender::Array< T, InlineBufferCapacity, Allocator >::reinitialize(), blender::Array< T, InlineBufferCapacity, Allocator >::size(), blender::bke::SpanAttributeWriter< T >::span, and blender::offset_indices::OffsetIndices< T >::total_size().
Referenced by BKE_mball_polygonize(), blender::io::ply::convert_ply_to_mesh(), blender::geometry::create_cuboid_mesh(), blender::ed::sculpt_paint::trim::generate_geometry(), mesh_calc_edges(), blender::io::alembic::read_mpolys(), blender::io::stl::STLMeshHelper::to_mesh(), and MeshImporter::write_geometry().
Does final touches to the final evaluated mesh, making sure it is perfectly usable.
This is needed because certain information is not passed along intermediate meshes allocated during stack evaluation.
Definition at line 227 of file mesh_data_update.cc.
References Mesh::id, ID::name, Mesh::runtime, and STRNCPY.
Referenced by mesh_calc_modifiers().
|
static |
Definition at line 309 of file mesh_data_update.cc.
References add_orco_mesh(), ASSERT_IS_VALID_MESH, 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, CustomData_MeshMasks::fmask, Mesh::id, ID_TAG_COPIED_ON_EVAL_FINAL_RESULT, blender::threading::isolate_task(), CustomData_MeshMasks::lmask, lock, CDMaskLink::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, SCULPT_ONLY_DEFORM, set_rest_position(), ID::tag, 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().
| Mesh * blender::bke::mesh_create_eval_final | ( | Depsgraph * | depsgraph, |
| const Scene * | scene, | ||
| Object * | ob, | ||
| const CustomData_MeshMasks * | dataMask ) |
Definition at line 1224 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 1235 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 1246 of file mesh_data_update.cc.
References depsgraph, mesh_calc_modifiers(), and result.
Referenced by bvh_get_mesh().
| void blender::bke::mesh_data_update | ( | Depsgraph & | depsgraph, |
| const Scene & | scene, | ||
| Object & | ob, | ||
| const CustomData_MeshMasks & | dataMask ) |
Definition at line 1147 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 508 of file mesh_evaluate.cc.
References blender::threading::parallel_for().
Referenced by blender::ed::sculpt_paint::hide::flush_edge_changes(), and mesh_hide_vert_flush().
| void blender::bke::mesh_ensure_default_color_attribute_on_add | ( | Mesh & | mesh, |
| StringRef | id, | ||
| AttrDomain | domain, | ||
| eCustomDataType | data_type ) |
Set the default name when adding a color attribute if there is no default yet.
Definition at line 470 of file blenkernel/intern/mesh.cc.
References ATTR_DOMAIN_AS_MASK, ATTR_DOMAIN_MASK_COLOR, attribute_name_is_anonymous(), BLI_strdupn(), CD_MASK_COLOR_ALL, CD_TYPE_AS_MASK, data, and size().
Referenced by blender::nodes::node_geo_store_named_attribute_cc::node_geo_exec().
| void blender::bke::mesh_ensure_required_data_layers | ( | Mesh & | mesh | ) |
Definition at line 489 of file blenkernel/intern/mesh.cc.
References CD_PROP_FLOAT3, CD_PROP_INT32, CD_PROP_INT32_2D, Corner, Edge, and Point.
Referenced by BKE_mesh_new_nomain(), and BKE_mesh_new_nomain_from_template_ex().
Definition at line 85 of file mesh_data_update.cc.
References BKE_keyblock_convert_from_mesh(), Mesh::key, and Mesh::verts_num.
Referenced by ED_mesh_shapes_join_objects_exec().
| 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 520 of file mesh_evaluate.cc.
References mesh_face_hide_from_vert().
Referenced by blender::ed::sculpt_paint::hide::flush_face_changes(), mesh_face_hide_from_vert(), and mesh_hide_vert_flush().
Definition at line 40 of file mesh_flip_faces.cc.
References b, BKE_mesh_mdisp_flip(), CD_CUSTOMLOOPNORMAL, CD_GRID_PAINT_MASK, CD_MDISPS, CD_MLOOPTANGENT, CD_ORIGSPACE_MLOOP, CD_PROP_STRING, CD_TANGENT, blender::bke::attribute_math::convert_to_static_type(), Corner, CustomData_get_layer_for_write(), blender::bke::AttributeIter::data_type, blender::bke::AttributeIter::domain, ELEM, flip_custom_data_type(), blender::bke::AttributeAccessor::foreach_attribute(), and blender::bke::AttributeIter::name.
Referenced by blender::nodes::node_geo_flip_faces_cc::node_geo_exec().
| Mesh * blender::bke::mesh_get_eval_deform | ( | Depsgraph * | depsgraph, |
| const Scene * | scene, | ||
| Object * | ob, | ||
| const CustomData_MeshMasks * | dataMask ) |
Definition at line 1181 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(), ED_mesh_shapes_join_objects_exec(), and blender::ed::object::modifier_skin_armature_create().
| void blender::bke::mesh_get_mapped_verts_coords | ( | Mesh * | mesh_eval, |
| MutableSpan< float3 > | r_cos ) |
Definition at line 1315 of file mesh_data_update.cc.
References BKE_mesh_foreach_mapped_vert(), BKE_mesh_wrapper_vert_coords(), BLI_BITMAP_NEW, blender::MutableSpan< T >::copy_from(), blender::MutableSpan< T >::data(), blender::MutableSpan< T >::fill(), make_vertexcos__mapFunc(), MEM_freeN(), MESH_FOREACH_NOP, Mesh::runtime, blender::MutableSpan< T >::size(), blender::bke::MappedUserData::vertex_visit, and blender::bke::MappedUserData::vertexcos.
Referenced by BKE_crazyspace_get_mapped_editverts().
| void blender::bke::mesh_hide_face_flush | ( | Mesh & | mesh | ) |
Make vertex and edge visibility consistent with faces.
Definition at line 560 of file mesh_evaluate.cc.
References blender::VArrayCommon< T >::get_internal_single(), blender::VArrayCommon< T >::is_single(), and mesh_hide_face_flush().
Referenced by BKE_pbvh_sync_visibility_from_verts(), blender::ed::sculpt_paint::hide::invert_visibility_mesh(), mesh_hide_face_flush(), 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 535 of file mesh_evaluate.cc.
References blender::bke::SpanAttributeWriter< T >::finish(), blender::VArrayCommon< T >::get_internal_single(), blender::VArrayCommon< T >::is_single(), mesh_edge_hide_from_vert(), mesh_face_hide_from_vert(), mesh_hide_vert_flush(), and blender::bke::SpanAttributeWriter< T >::span.
Referenced by BKE_pbvh_sync_visibility_from_verts(), mesh_hide_vert_flush(), and blender::ed::sculpt_paint::hide::mesh_show_all().
|
static |
Definition at line 1330 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(), FLT_MAX, invert_v2(), min, mul_v2_v2(), mul_v3_m3v3(), negate_v2_v2(), blender::Vector< T, InlineBufferCapacity, Allocator >::resize(), blender::Span< T >::slice(), 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 726 of file blenkernel/intern/mesh.cc.
References BKE_mesh_new_nomain(), and CustomData_free_layer_named().
Referenced by blender::bke::subdiv::subdiv_mesh_topology_info().
| VArray< float3 > blender::bke::mesh_normals_varray | ( | const Mesh & | mesh, |
| const IndexMask & | mask, | ||
| AttrDomain | domain ) |
Definition at line 132 of file geometry_component_mesh.cc.
References Corner, Edge, Face, blender::VArray< T >::ForContainer(), blender::VArray< T >::ForSpan(), blender::math::interpolate(), blender::math::normalize(), and Point.
Referenced by blender::bke::NormalFieldInput::get_varray_for_context().
Definition at line 470 of file mesh_remesh_voxel.cc.
References Mesh::active_color_attribute, Geometry::attributes, BKE_bvhtree_from_mesh_get(), BKE_id_attributes_active_color_set(), BKE_id_attributes_default_color_set(), BVHTREE_FROM_CORNER_TRIS, Mesh::corners_num, Mesh::default_color_attribute, blender::bke::AttributeIter::domain, Mesh::edges_num, ELEM, Mesh::faces_num, find_nearest_corners(), find_nearest_edges(), find_nearest_faces(), find_nearest_tris_parallel(), find_nearest_verts(), blender::bke::AttributeAccessor::foreach_attribute(), free_bvhtree_from_mesh(), gather_attributes(), Mesh::id, blender::Vector< T, InlineBufferCapacity, Allocator >::is_empty(), mesh_remesh_reproject_attributes(), blender::bke::AttributeIter::name, 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_sculpt_mask_to_generic | ( | Mesh & | mesh | ) |
Definition at line 2485 of file mesh_legacy_convert.cc.
References CD_PROP_FLOAT, CustomData_add_layer_named_with_data(), CustomData_free_layer(), CustomDataLayer::data, and blender::ImplicitSharingInfo::remove_user_and_delete_if_last().
| void blender::bke::mesh_sculpt_mask_to_legacy | ( | MutableSpan< CustomDataLayer > | vert_layers | ) |
Definition at line 2464 of file mesh_legacy_convert.cc.
References b, blender::MutableSpan< T >::begin(), and blender::MutableSpan< T >::end().
| void blender::bke::mesh_select_edge_flush | ( | Mesh & | mesh | ) |
Make vertex and face selection consistent with edges.
Definition at line 671 of file mesh_evaluate.cc.
References blender::bke::SpanAttributeWriter< T >::finish(), blender::VArrayCommon< T >::get_internal_single(), blender::VArrayCommon< T >::index_range(), blender::VArrayCommon< T >::is_single(), mesh_select_edge_flush(), and blender::bke::SpanAttributeWriter< T >::span.
Referenced by mesh_select_edge_flush().
| void blender::bke::mesh_select_face_flush | ( | Mesh & | mesh | ) |
Make vertex and edge selection consistent with faces.
Definition at line 609 of file mesh_evaluate.cc.
References blender::bke::SpanAttributeWriter< T >::finish(), blender::VArrayCommon< T >::get_internal_single(), blender::VArrayCommon< T >::is_single(), mesh_select_face_flush(), and blender::bke::SpanAttributeWriter< T >::span.
Referenced by mesh_select_face_flush(), and blender::ed::sculpt_paint::vwpaint::mode_exit_generic().
| void blender::bke::mesh_select_vert_flush | ( | Mesh & | mesh | ) |
Make edge and face selection consistent with vertices.
Definition at line 635 of file mesh_evaluate.cc.
References blender::bke::SpanAttributeWriter< T >::finish(), blender::VArrayCommon< T >::get_internal_single(), blender::VArrayCommon< T >::index_range(), blender::VArrayCommon< T >::is_single(), mesh_select_vert_flush(), and blender::bke::SpanAttributeWriter< T >::span.
Referenced by mesh_select_vert_flush(), and blender::ed::sculpt_paint::vwpaint::mode_exit_generic().
|
static |
Definition at line 99 of file mesh_data_update.cc.
References CustomData_set_only_copy().
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 1200 of file blenkernel/intern/mesh.cc.
References Edge, blender::bke::mesh::edges_sharp_from_angle_set(), Face, blender::bke::SpanAttributeWriter< T >::finish(), M_PI, mesh_smooth_set(), and blender::bke::SpanAttributeWriter< T >::span.
Referenced by blender::ed::object::shade_smooth_exec().
Definition at line 1186 of file blenkernel/intern/mesh.cc.
References Face, 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_uv_sphere_mesh(), blender::ed::sculpt_paint::trim::generate_geometry(), mesh_sharp_edges_set_from_angle(), 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().
Set mesh vertex normals to known-correct values, avoiding future lazy computation.
Definition at line 50 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 55 of file mesh_normals.cc.
|
static |
Definition at line 753 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 |
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 244 of file mesh_data_update.cc.
References BKE_mesh_copy_parameters_for_eval(), BKE_mesh_new_nomain(), BKE_mesh_wrapper_ensure_mdata(), BKE_modifier_get_info(), BKE_modifier_modify_mesh(), Editable, blender::bke::GeometrySet::ensure_owns_direct_data(), blender::bke::MeshComponent::ensure_owns_direct_data(), blender::bke::MeshComponent::get(), blender::bke::GeometrySet::get_component_for_write(), blender::bke::GeometrySet::has(), ModifierTypeInfo::modify_geometry_set, blender::bke::MeshComponent::release(), blender::bke::GeometrySet::replace_mesh(), and ModifierData::type.
Referenced by editbmesh_calc_modifiers(), and mesh_calc_modifiers().
| bNodeLink * blender::bke::node_add_link | ( | bNodeTree * | ntree, |
| bNode * | fromnode, | ||
| bNodeSocket * | fromsock, | ||
| bNode * | tonode, | ||
| bNodeSocket * | tosock ) |
Also used via RNA API, so we check for proper input output direction.
Definition at line 2912 of file node.cc.
References BKE_ntree_update_tag_link_added(), BLI_addtail(), BLI_assert, bNodeLink::fromnode, bNodeLink::fromsock, bNodeSocket::in_out, bNodeTree::links, bNodeLink::multi_input_sort_id, node_count_links(), SOCK_IN, SOCK_OUT, bNodeLink::tonode, and bNodeLink::tosock.
Referenced by add_auto_smooth_node_tree(), blender::ed::space_node::add_existing_group_input_fn(), blender::ed::space_node::add_group_input_node_fn(), add_realize_instances_before_socket(), add_realize_node_tree(), blender::ed::space_node::add_reroute_exec(), blender::ed::space_node::add_reroute_node_fn(), ambient_occlusion_node_relink(), blender::io::usd::append_node(), bc_node_add_link(), BKE_linestyle_default_shader(), blo_do_versions_300(), change_input_socket_to_rotation_type(), change_output_socket_to_rotation_type(), blender::nodes::LinkSearchOpParams::connect_available_socket(), blender::ed::space_node::connect_nested_node_to_node(), blender::eevee::DefaultSurfaceNodeTree::DefaultSurfaceNodeTree(), blender::eevee::DefaultWorldNodeTree::DefaultWorldNodeTree(), displacement_node_insert(), do_versions_material_convert_legacy_blend_mode(), ED_node_composit_default(), ED_node_shader_default(), ED_node_texture_default(), blender::ed::curves::ensure_surface_deformation_node_exists(), fix_geometry_nodes_object_info_scale(), flatten_group_do(), Freestyle::BlenderStrokeRenderer::GetStrokeShader(), link_nodes(), blender::io::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_viewer_cc::node_gather_link_searches(), blender::ed::space_node::node_group_make_insert_selected(), blender::ed::space_node::node_group_separate_selected(), blender::ed::space_node::node_group_ungroup(), blender::ed::space_node::node_insert_on_link_flags(), blender::ed::space_node::node_socket_add_replace(), ntree_shader_copy_branch(), ntree_shader_expand_socket_default(), ntree_shader_groups_expand_inputs(), ntree_shader_implicit_closure_cast(), ntree_shader_weight_tree_invert(), ntree_weight_tree_merge_weight(), blender::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(), update_mapping_node_inputs_and_properties(), update_math_node_single_operand_operators(), update_noise_and_wave_distortion(), update_vector_math_node_add_and_subtract_operators(), update_vector_math_node_average_operator(), update_vector_math_node_cross_product_operator(), update_vector_math_node_normalize_operator(), update_voronoi_node_coloring(), update_voronoi_node_crackle(), update_voronoi_node_square_distance(), version_geometry_nodes_replace_transfer_attribute_node(), version_node_socket_duplicate(), version_principled_bsdf_specular_tint(), version_principled_bsdf_subsurface(), version_refraction_depth_to_thickness_value(), version_replace_texcoord_normal_socket(), versioning_eevee_material_blend_mode_settings(), versioning_eevee_material_shadow_none(), versioning_replace_musgrave_texture_node(), versioning_replace_splitviewer(), versioning_update_noise_texture_node(), and blender::ed::space_node::viewer_linking::view_socket().
Definition at line 2617 of file node.cc.
References BKE_ntree_update_tag_node_new(), BLI_addtail(), CTX_data_main(), DEG_relations_tag_update(), ELEM, node, node_set_typeinfo(), node_type_find(), node_unique_id(), bNodeTree::nodes, and STRNCPY.
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(), fix_geometry_nodes_object_info_scale(), node_add_static_node(), blender::ed::space_node::node_group_make_from_nodes(), 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, | ||
| const char * | idname, | ||
| const char * | identifier, | ||
| const char * | name ) |
Definition at line 2095 of file node.cc.
References BKE_ntree_update_tag_socket_new(), BLI_addtail(), BLI_assert, BLI_remlink(), make_socket(), NODE_FRAME, NODE_GROUP_INPUT, NODE_GROUP_OUTPUT, 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(), do_version_replace_float_size_with_vector(), and node_add_static_socket().
|
static |
Definition at line 1404 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 2642 of file node.cc.
References CLOG_ERROR, bNode::idname, LOG, node_add_node(), NODE_TYPES_BEGIN, and NODE_TYPES_END.
Referenced by blender::io::usd::add_input_named_attrib_node(), add_node(), blender::io::obj::add_node(), add_realize_instances_before_socket(), add_realize_node_tree(), blender::ed::space_node::add_reroute_exec(), blender::ed::space_node::add_static_node(), blender::io::usd::append_node(), bc_add_node(), BKE_linestyle_default_shader(), blender::ed::space_node::connect_nested_node_to_node(), blender::ed::space_node::connect_nodes_to_aovs(), default_paint_slot_color_get(), blender::eevee::DefaultSurfaceNodeTree::DefaultSurfaceNodeTree(), blender::eevee::DefaultWorldNodeTree::DefaultWorldNodeTree(), displacement_node_insert(), do_versions_material_convert_legacy_blend_mode(), blender::io::usd::dome_light_to_world_material(), ED_node_composit_default(), ED_node_shader_default(), ED_node_texture_default(), blender::ed::curves::ensure_surface_deformation_node_exists(), Freestyle::BlenderStrokeRenderer::GetStrokeShader(), blender::eevee::LookdevWorld::LookdevWorld(), material_default_holdout_init(), material_default_surface_init(), material_default_volume_init(), blender::eevee::MaterialModule::MaterialModule(), blender::ed::space_node::node_group_make_insert_selected(), blender::ed::space_node::node_join_exec(), blender::ed::space_node::node_socket_add_replace(), ntree_shader_expand_socket_default(), ntree_shader_groups_expand_inputs(), ntree_shader_implicit_closure_cast(), ntree_shader_weight_tree_invert(), ntree_weight_tree_merge_weight(), proj_paint_add_slot(), blender::io::usd::USDPointInstancerReader::read_object_data(), blender::ed::space_node::shader_preview_startjob(), square_roughness_node_insert(), update_mapping_node_inputs_and_properties(), update_noise_and_wave_distortion(), update_vector_math_node_add_and_subtract_operators(), update_vector_math_node_average_operator(), update_vector_math_node_cross_product_operator(), update_vector_math_node_normalize_operator(), update_voronoi_node_crackle(), update_voronoi_node_square_distance(), version_geometry_nodes_replace_transfer_attribute_node(), version_principled_bsdf_specular_tint(), version_principled_bsdf_subsurface(), version_refraction_depth_to_thickness_value(), version_replace_texcoord_normal_socket(), versioning_replace_musgrave_texture_node(), versioning_replace_splitviewer(), and versioning_update_noise_texture_node().
| bNodeSocket * blender::bke::node_add_static_socket | ( | bNodeTree * | ntree, |
| bNode * | node, | ||
| eNodeSocketInOut | in_out, | ||
| int | type, | ||
| int | subtype, | ||
| const char * | identifier, | ||
| const char * | name ) |
Definition at line 2359 of file node.cc.
References CLOG_ERROR, LOG, node_add_socket(), node_static_socket_type(), and bNodeSocket::type.
Referenced by blender::nodes::decl::Bool::build(), blender::nodes::decl::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(), blender::nodes::decl::Vector::build(), cmp_node_image_add_pass_output(), do_version_hue_sat_node(), 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 3107 of file node.cc.
References BKE_ntree_update_tag_parent_change(), BLI_assert, NODE_FRAME, node_from_view(), node_is_parent_and_child(), node_to_view(), and bNode::type.
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(), and blender::ed::space_node::node_parent_set_exec().
| 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 2501 of file node.cc.
References callback, bNodeTree::links, LISTBASE_FOREACH, node_chain_iterator(), and NODE_LINK_VALID.
Referenced by node_chain_iterator(), blender::ed::space_node::node_link_insert_offset_frame_chains(), blender::ed::space_node::node_link_insert_offset_ntree(), and blender::io::usd::world_material_to_dome_light().
| void blender::bke::node_chain_iterator_backwards | ( | const bNodeTree * | ntree, |
| const bNode * | node_start, | ||
| bool(* | callback )(bNode *, bNode *, void *), | ||
| void * | userdata, | ||
| int | recursion_lvl ) |
Iterate over a chain of nodes, starting with node_start, executing callback for each node (which can return false to end iterator).
Faster than node_chain_iterator. Iter only once per node. Can be called recursively (using another node_chain_iteratorBackwards) by setting the recursion_lvl accordingly.
WARN: No node is guaranteed to be iterated as a to_node, since it could have been iterated earlier as a from_node.
Definition at line 2561 of file node.cc.
References BLI_assert, callback, iter_backwards_ex(), LISTBASE_FOREACH, and bNodeTree::nodes.
Referenced by ntree_shader_copy_branch(), ntree_shader_pruned_unused(), and ntree_shader_weight_tree_invert().
| bNode * blender::bke::node_copy | ( | bNodeTree * | dst_tree, |
| const bNode & | src_node, | ||
| int | flag, | ||
| bool | use_unique ) |
Definition at line 2895 of file node.cc.
References flag, and node_copy_with_mapping().
Referenced by ntree_shader_copy_branch().
| bNode * blender::bke::node_copy_with_mapping | ( | bNodeTree * | dst_tree, |
| const bNode & | node_src, | ||
| int | flag, | ||
| bool | use_unique, | ||
| Map< const bNodeSocket *, bNodeSocket * > & | new_socket_map ) |
| use_unique | If true, make sure the node's identifier and name are unique in the new tree. Must be true if the dst_tree had nodes that weren't in the source node's tree. Must be false when simply copying a node tree, so that identifiers don't change. |
Definition at line 2696 of file node.cc.
References blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), BKE_ntree_update_tag_node_new(), BLI_addtail(), BLI_listbase_clear(), flag, bNode::id, id_us_plus(), IDP_CopyProperty_ex(), bNode::inputs, LIB_ID_CREATE_NO_MAIN, LIB_ID_CREATE_NO_USER_REFCOUNT, LISTBASE_FOREACH, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup(), MEM_dupallocN, MEM_mallocN, node_socket_copy(), node_unique_id(), node_unique_name(), bNodeTree::nodes, bNode::outputs, bNode::panel_states_array, bNode::prop, ptr, RNA_pointer_create(), bNode::runtime, and bNode::typeinfo.
Referenced by blender::ed::space_node::NodeClipboard::copy_add_node(), blender::ed::space_node::node_clipboard_paste_exec(), node_copy(), blender::ed::space_node::node_duplicate_exec(), blender::ed::space_node::node_group_separate_selected(), and ntree_copy_data().
|
static |
Definition at line 2901 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 3838 of file node.cc.
References bNodeTree::links, and LISTBASE_FOREACH.
Referenced by blo_do_versions_250(), 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 3992 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 3970 of file node.cc.
References BLI_assert, and blender::nodes::update_node_declaration_and_sockets().
Referenced by node_declaration_ensure(), and node_verify_sockets().
Definition at line 3122 of file node.cc.
References BKE_ntree_update_tag_parent_change(), BLI_assert, NODE_FRAME, and node_to_view().
Referenced by 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().
| bNodeSocket * blender::bke::node_find_enabled_input_socket | ( | bNode & | node, |
| StringRef | name ) |
Definition at line 1863 of file node.cc.
References node_find_enabled_socket(), and SOCK_IN.
Referenced by blender::ed::space_node::attribute_search_exec_fn(), and blender::ed::space_node::connect_nested_node_to_node().
| bNodeSocket * blender::bke::node_find_enabled_output_socket | ( | bNode & | node, |
| StringRef | name ) |
Definition at line 1868 of file node.cc.
References node_find_enabled_socket(), and SOCK_OUT.
Referenced by blender::ed::space_node::connect_nested_node_to_node().
| bNodeSocket * blender::bke::node_find_enabled_socket | ( | bNode & | node, |
| eNodeSocketInOut | in_out, | ||
| StringRef | name ) |
Definition at line 1850 of file node.cc.
References LISTBASE_FOREACH, 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().
| void blender::bke::node_find_node | ( | bNodeTree * | ntree, |
| bNodeSocket * | sock, | ||
| bNode ** | r_node, | ||
| int * | r_sockindex ) |
Same as node_find_node_try but expects that the socket definitely is in the node tree.
Definition at line 2442 of file node.cc.
References BLI_assert, BLI_findindex(), bNodeSocket::in_out, node, node_find_node_try(), bNodeTree::runtime, SOCK_IN, and UNUSED_VARS_NDEBUG.
Finds a node based on its name.
Definition at line 2437 of file node.cc.
References BLI_findstring(), bNodeTree::nodes, and offsetof.
Referenced by blender::ed::space_node::connect_nested_node_to_node(), blender::ed::space_node::ensure_nodetree_previews(), blender::ed::space_node::get_compute_context_hash_for_node_editor(), local_merge(), blender::ed::space_node::node_default_group_width_set_exec(), blender::ed::space_node::push_compute_context_for_tree_path(), blender::io::usd::USDPointInstancerReader::set_collection(), skip_fcurve_selected_data(), and blender::ed::viewer_path::viewer_path_for_geometry_node().
| bool blender::bke::node_find_node_try | ( | bNodeTree * | ntree, |
| bNodeSocket * | sock, | ||
| bNode ** | r_node, | ||
| int * | r_sockindex ) |
Finds a node based on given socket and returns true on success.
Definition at line 2459 of file node.cc.
References bNodeSocket::in_out, LISTBASE_FOREACH_INDEX, node, and SOCK_IN.
Referenced by node_find_node(), and UI_context_copy_to_selected_list().
Definition at line 2479 of file node.cc.
References node, NODE_FRAME, bNode::parent, and bNode::type.
Referenced by blender::ed::space_node::node_link_insert_offset_chain_cb(), and blender::ed::space_node::node_link_insert_offset_ntree().
| bNodeSocket * blender::bke::node_find_socket | ( | bNode * | node, |
| eNodeSocketInOut | in_out, | ||
| StringRef | identifier ) |
Definition at line 1829 of file node.cc.
References LISTBASE_FOREACH, and SOCK_IN.
Referenced by add_auto_smooth_node_tree(), blender::ed::space_node::add_existing_group_input_fn(), blender::ed::space_node::add_group_input_node_fn(), blender::io::usd::add_input_named_attrib_node(), blender::io::usd::add_lessthan(), blender::io::usd::add_oneminus(), blender::io::usd::add_scale_bias(), blender::io::usd::add_scale_bias_adjust(), ambient_occlusion_node_relink(), blender::io::usd::append_node(), bc_get_cot_from_shader(), bc_get_float_from_shader(), blo_do_versions_300(), BLO_update_defaults_startup_blend(), change_input_socket_to_rotation_type(), change_output_socket_to_rotation_type(), blender::ed::space_node::connect_node_to_surface_output(), blender::ed::space_node::connect_nodes_to_aovs(), blender::io::obj::copy_property_from_node(), blender::io::usd::create_transform2d_shader(), blender::io::usd::create_usd_preview_surface_material(), default_paint_slot_color_get(), blender::eevee::DefaultSurfaceNodeTree::DefaultSurfaceNodeTree(), blender::eevee::DefaultWorldNodeTree::DefaultWorldNodeTree(), displacement_node_insert(), do_version_hue_sat_node(), do_versions_material_convert_legacy_blend_mode(), blender::io::usd::dome_light_to_world_material(), ED_node_shader_default(), blender::ed::curves::ensure_surface_deformation_node_exists(), fix_geometry_nodes_object_info_scale(), MaterialNode::get_diffuse_image(), get_input_socket(), light_emission_node_to_energy(), link_nodes(), 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_object_exec(), blender::ed::space_node::node_clipboard_paste_exec(), node_find_socket(), 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::ed::space_node::prepare_viewlayer_update(), proj_paint_add_slot(), blender::io::usd::USDPointInstancerReader::read_object_data(), MaterialNode::set_alpha(), blender::io::usd::USDPointInstancerReader::set_collection(), MaterialNode::set_diffuse(), MaterialNode::set_emission(), MaterialNode::set_ior(), blender::io::usd::USDMaterialReader::set_node_input(), MaterialNode::set_opacity(), blender::io::usd::USDMaterialReader::set_principled_node_inputs(), blender::io::obj::set_property_of_socket(), MaterialNode::set_reflectivity(), MaterialNode::set_specular(), blender::ed::space_node::shader_preview_startjob(), blender::nodes::socket_items::try_add_item_via_extend_socket(), update_mapping_node_inputs_and_properties(), update_noise_and_wave_distortion(), update_vector_math_node_add_and_subtract_operators(), update_vector_math_node_average_operator(), update_vector_math_node_cross_product_operator(), update_vector_math_node_dot_product_operator(), update_vector_math_node_normalize_operator(), update_voronoi_node_coloring(), update_voronoi_node_crackle(), update_voronoi_node_square_distance(), update_wave_node_directions_and_offset(), version_geometry_nodes_extrude_smooth_propagation(), version_geometry_nodes_replace_transfer_attribute_node(), version_geometry_nodes_use_rotation_socket(), version_mesh_crease_generic(), version_node_add_socket_if_not_exist(), version_node_socket_duplicate(), version_principled_bsdf_coat(), version_principled_bsdf_emission(), version_principled_bsdf_sheen(), version_principled_bsdf_specular_tint(), version_principled_bsdf_subsurface(), version_principled_transmission_roughness(), version_refraction_depth_to_thickness_value(), version_replace_texcoord_normal_socket(), version_replace_velvet_sheen_node(), version_update_node_input(), versioning_eevee_alpha_source_get(), versioning_eevee_material_blend_mode_settings(), versioning_eevee_material_shadow_none(), versioning_replace_musgrave_texture_node(), versioning_replace_splitviewer(), and versioning_update_noise_texture_node().
| const bNodeSocket * blender::bke::node_find_socket | ( | const bNode * | node, |
| eNodeSocketInOut | in_out, | ||
| StringRef | identifier ) |
Definition at line 1842 of file node.cc.
References node_find_socket().
|
static |
Definition at line 415 of file node.cc.
References BLI_ghashutil_strhash_p(), IDCacheKey::id_session_uid, IDCacheKey::identifier, NTREE_COMPOSIT, offsetof, bNodeTree::previews, and bNodeTree::type.
|
static |
Definition at line 397 of file node.cc.
References BKE_LIB_FOREACHID_PROCESS_ID, BKE_LIB_FOREACHID_PROCESS_IDSUPER, bNodeTree::gpd, IDWALK_CB_LOOPBACK, IDWALK_CB_NEVER_SELF, IDWALK_CB_READFILE_IGNORE, IDWALK_CB_USER, node_node_foreach_id(), bNodeTree::owner_id, and bNodeTree::tree_interface.
Referenced by blender::bke::tests::TEST().
|
static |
Definition at line 439 of file node.cc.
References BKE_bpath_foreach_path_fixed_process(), NodeShaderScript::filepath, NodeShaderTexIES::filepath, NTREE_SHADER, SH_NODE_SCRIPT, SH_NODE_TEX_IES, and bNodeTree::type.
Free the node itself.
nodes_by_id vector are up to the caller. Definition at line 3475 of file node.cc.
References BKE_ntree_update_tag_node_removed(), BLI_remlink(), IDP_FreePropertyContent_ex(), LISTBASE_FOREACH_MUTABLE, MEM_freeN(), MEM_SAFE_FREE, node_rebuild_id_vector(), node_socket_free(), bNodeTree::nodes, NTREE_TEXTURE, ntreeTexEndExecTree(), bNodeTree::runtime, and bNodeTree::type.
Referenced by blender::ed::space_node::NodeClipboard::clear(), node_remove_node(), node_tree_free_local_node(), and ntree_free_data().
|
static |
Definition at line 1776 of file node.cc.
References blender::bke::bNodeSocketType::free_self, G_MAIN, and update_typeinfo().
Referenced by node_system_exit(), and node_unregister_socket_type().
|
static |
Definition at line 1691 of file node.cc.
References blender::bke::bNodeType::free_self, G_MAIN, blender::bke::bNodeType::static_declaration, and update_typeinfo().
Referenced by node_system_exit(), and node_unregister_type().
Definition at line 3098 of file node.cc.
References bNode::parent.
Referenced by blender::ed::transform::flushTransNodes(), node_attach_node(), and blender::ed::space_node::node_from_view().
Definition at line 3849 of file node.cc.
References node, and NODE_ACTIVE.
Referenced by blender::nodes::socket_items::ops::get_active_node_to_operate_on(), blender::ed::space_node::node_active_link_viewer_exec(), blender::ed::space_node::node_context(), blender::ed::space_node::node_copy_color_exec(), blender::ed::space_node::node_cryptomatte_add_socket_exec(), blender::ed::space_node::node_cryptomatte_remove_socket_exec(), node_get_active_paint_canvas(), node_get_active_texture(), blender::ed::space_node::node_group_get_active(), blender::ed::space_node::node_output_file_add_socket_exec(), blender::ed::space_node::node_output_file_move_active_socket_exec(), blender::ed::space_node::node_output_file_remove_active_socket_exec(), blender::ed::space_node::node_parent_set_exec(), blender::ed::space_node::node_resize_exit(), blender::ed::space_node::node_resize_invoke(), blender::ed::space_node::node_resize_modal(), blender::ed::space_node::node_select_grouped_exec(), blender::ed::space_node::node_select_same_type_step_exec(), blender::ed::space_node::node_shader_script_update_exec(), blender::ed::space_node::node_shader_script_update_poll(), blender::ed::space_node::WIDGETGROUP_node_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_sbeam_poll(), blender::ed::space_node::WIDGETGROUP_node_sbeam_refresh(), and blender::ed::space_node::WIDGETGROUP_node_transform_poll().
Definition at line 303 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 298 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 153 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 4027 of file node.cc.
References hash, str, and bNodeInstanceKey::value.
Referenced by node_instance_key().
Definition at line 1432 of file node.cc.
References BLI_assert, CMP_NODE_R_LAYERS, DATA_, blender::bke::bNodeType::flag, blender::bke::bNodeType::height, bNodeTree::id, id_us_plus(), blender::bke::bNodeType::initfunc, blender::bke::bNodeType::initfunc_api, node_add_sockets_from_type(), NODE_INIT, NODE_OPTIONS, NODE_SELECT, node_unique_name(), NodeTypeUndefined, ptr, RNA_pointer_create(), STRNCPY_UTF8, bNodeTree::typeinfo, blender::bke::bNodeType::ui_name, and blender::bke::bNodeType::width.
Referenced by node_set_typeinfo().
| void blender::bke::node_instance_hash_clear | ( | bNodeInstanceHash * | hash, |
| bNodeInstanceValueFP | valfreefp ) |
Definition at line 4102 of file node.cc.
References BLI_ghash_clear(), and hash.
| void blender::bke::node_instance_hash_clear_tags | ( | bNodeInstanceHash * | hash | ) |
Definition at line 4122 of file node.cc.
References hash, NODE_INSTANCE_HASH_ITER, node_instance_hash_iterator_get_value(), and bNodeInstanceHashEntry::tag.
Referenced by node_preview_remove_unused().
| void blender::bke::node_instance_hash_free | ( | bNodeInstanceHash * | hash, |
| bNodeInstanceValueFP | valfreefp ) |
Definition at line 4076 of file node.cc.
References BLI_ghash_free(), hash, and MEM_freeN().
Referenced by node_preview_merge_tree(), and ntree_free_data().
| int blender::bke::node_instance_hash_haskey | ( | bNodeInstanceHash * | hash, |
| bNodeInstanceKey | key ) |
Definition at line 4112 of file node.cc.
References BLI_ghash_haskey(), and hash.
| void blender::bke::node_instance_hash_insert | ( | bNodeInstanceHash * | hash, |
| bNodeInstanceKey | key, | ||
| void * | value ) |
Definition at line 4082 of file node.cc.
References BLI_ghash_insert(), hash, bNodeInstanceHashEntry::key, and bNodeInstanceHashEntry::tag.
Referenced by node_preview_merge_tree(), node_preview_verify(), and ntree_copy_data().
| BLI_INLINE bool blender::bke::node_instance_hash_iterator_done | ( | bNodeInstanceHashIterator * | iter | ) |
Definition at line 1672 of file BKE_node.hh.
References BLI_ghashIterator_done().
| BLI_INLINE void blender::bke::node_instance_hash_iterator_free | ( | bNodeInstanceHashIterator * | iter | ) |
Definition at line 1652 of file BKE_node.hh.
References BLI_ghashIterator_free().
| BLI_INLINE bNodeInstanceKey blender::bke::node_instance_hash_iterator_get_key | ( | bNodeInstanceHashIterator * | iter | ) |
Definition at line 1657 of file BKE_node.hh.
References BLI_ghashIterator_getKey().
Referenced by node_instance_hash_remove_untagged(), node_preview_merge_tree(), and ntree_copy_data().
| BLI_INLINE void * blender::bke::node_instance_hash_iterator_get_value | ( | bNodeInstanceHashIterator * | iter | ) |
Definition at line 1662 of file BKE_node.hh.
References BLI_ghashIterator_getValue().
Referenced by node_instance_hash_clear_tags(), node_instance_hash_remove_untagged(), node_preview_merge_tree(), and ntree_copy_data().
| BLI_INLINE void blender::bke::node_instance_hash_iterator_init | ( | bNodeInstanceHashIterator * | iter, |
| bNodeInstanceHash * | hash ) |
Definition at line 1646 of file BKE_node.hh.
References BLI_ghashIterator_init(), and hash.
| BLI_INLINE bNodeInstanceHashIterator * blender::bke::node_instance_hash_iterator_new | ( | bNodeInstanceHash * | hash | ) |
Definition at line 1641 of file BKE_node.hh.
References BLI_ghashIterator_new(), and hash.
| BLI_INLINE void blender::bke::node_instance_hash_iterator_step | ( | bNodeInstanceHashIterator * | iter | ) |
Definition at line 1667 of file BKE_node.hh.
References BLI_ghashIterator_step().
|
static |
Definition at line 4054 of file node.cc.
Referenced by node_instance_hash_new().
|
static |
| void * blender::bke::node_instance_hash_lookup | ( | bNodeInstanceHash * | hash, |
| bNodeInstanceKey | key ) |
Definition at line 4090 of file node.cc.
References BLI_ghash_lookup(), and hash.
Referenced by blender::ed::space_node::node_draw_basis(), node_instance_hash_tag_key(), and node_preview_verify().
| bNodeInstanceHash * blender::bke::node_instance_hash_new | ( | const char * | info | ) |
Definition at line 4067 of file node.cc.
References BLI_ghash_new(), blender::bke::bNodeInstanceHash::ghash, hash, MEM_mallocN, node_instance_hash_key(), and node_instance_hash_key_cmp().
Referenced by blender::realtime_compositor::compute_preview_from_result(), node_preview_init_tree(), and ntree_copy_data().
| void * blender::bke::node_instance_hash_pop | ( | bNodeInstanceHash * | hash, |
| bNodeInstanceKey | key ) |
Definition at line 4107 of file node.cc.
References BLI_ghash_popkey(), and hash.
| int blender::bke::node_instance_hash_remove | ( | bNodeInstanceHash * | hash, |
| bNodeInstanceKey | key, | ||
| bNodeInstanceValueFP | valfreefp ) |
Definition at line 4095 of file node.cc.
References BLI_ghash_remove(), and hash.
Referenced by node_instance_hash_remove_untagged(), and node_preview_merge_tree().
| void blender::bke::node_instance_hash_remove_untagged | ( | bNodeInstanceHash * | hash, |
| bNodeInstanceValueFP | valfreefp ) |
Definition at line 4153 of file node.cc.
References hash, MEM_freeN(), MEM_mallocN, NODE_INSTANCE_HASH_ITER, node_instance_hash_iterator_get_key(), node_instance_hash_iterator_get_value(), node_instance_hash_remove(), and node_instance_hash_size().
Referenced by node_preview_remove_unused().
| int blender::bke::node_instance_hash_size | ( | bNodeInstanceHash * | hash | ) |
Definition at line 4117 of file node.cc.
References BLI_ghash_len(), and hash.
Referenced by node_instance_hash_remove_untagged().
| void blender::bke::node_instance_hash_tag | ( | bNodeInstanceHash * | hash, |
| void * | value ) |
Definition at line 4134 of file node.cc.
References bNodeInstanceHashEntry::tag.
| bool blender::bke::node_instance_hash_tag_key | ( | bNodeInstanceHash * | hash, |
| bNodeInstanceKey | key ) |
Definition at line 4140 of file node.cc.
References hash, node_instance_hash_lookup(), and bNodeInstanceHashEntry::tag.
Referenced by node_preview_tag_used_recursive().
| bNodeInstanceKey blender::bke::node_instance_key | ( | bNodeInstanceKey | parent_key, |
| const bNodeTree * | ntree, | ||
| const bNode * | node ) |
Definition at line 4041 of file node.cc.
References bNodeTree::id, ID::name, and node_hash_int_str().
Referenced by blender::compositor::NodeGraph::add_bNodeTree(), blender::ed::space_node::current_node_instance_key(), ED_node_tree_push(), blender::nodes::DNode::instance_key(), node_preview_init_tree_recursive(), and node_preview_tag_used_recursive().
Definition at line 3019 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, bNodeSocket::flag, bNodeLink::fromnode, bNodeLink::fromsock, bNodeSocket::link, bNodeTree::links, LISTBASE_FOREACH_MUTABLE, NODE_LINK_MUTED, NODE_LINK_VALID, and node_remove_link().
Referenced by blender::ed::space_node::detach_links_exec(), localize(), localize(), and blender::ed::space_node::node_delete_reconnect_exec().
Definition at line 699 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 2491 of file node.cc.
References bNode::parent.
Referenced by blender::ed::space_node::node_attach_invoke(), node_attach_node(), blender::ed::space_node::node_link_insert_offset_chain_cb(), blender::ed::space_node::node_link_insert_offset_frame_chains(), blender::ed::space_node::node_link_insert_offset_ntree(), and blender::ed::space_node::node_parent_offset_apply().
| bool blender::bke::node_is_static_socket_type | ( | const bNodeSocketType * | stype | ) |
Definition at line 2117 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().
| bool blender::bke::node_link_is_hidden | ( | const bNodeLink * | link | ) |
Definition at line 2993 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_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 2998 of file node.cc.
References bNode::flag, bNodeLink::fromnode, NODE_SELECT, and bNodeLink::tonode.
Set the mute status of a single link.
Definition at line 2975 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, | ||
| const char * | idname ) |
Definition at line 2020 of file node.cc.
References CLOG_ERROR, bNodeSocket::default_value, bNodeSocket::idname, LOG, MEM_freeN(), node_socket_set_typeinfo(), node_socket_type_find(), SOCK_BOOLEAN, 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(), STRNCPY, 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 2082 of file node.cc.
References CLOG_ERROR, LOG, node_modify_socket_type(), and node_static_socket_type().
Referenced by blender::nodes::node_composite_file_output_cc::update_output_file(), verify_socket_template(), version_principled_bsdf_sheen(), and version_principled_bsdf_specular_tint().
| void blender::bke::node_node_foreach_id | ( | bNode * | node, |
| LibraryForeachIDData * | data ) |
Iterate over all ID usages of the given node. Can be used with #BKE_library_foreach_subdata_ID_link.
See BKE_lib_query.hh and IDTypeInfo.foreach_id for more details.
Definition at line 378 of file node.cc.
References BKE_LIB_FOREACHID_PROCESS_FUNCTION_CALL, BKE_LIB_FOREACHID_PROCESS_ID, IDP_foreach_property(), IDP_TYPE_FILTER_ID, IDWALK_CB_LOOPBACK, IDWALK_CB_USER, library_foreach_node_socket(), and LISTBASE_FOREACH.
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().
|
static |
Definition at line 462 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 2583 of file node.cc.
References callback, and node_parents_iterator().
Referenced by blender::ed::space_node::node_link_insert_offset_ntree(), and node_parents_iterator().
|
static |
Definition at line 4311 of file node.cc.
Referenced by node_type_base().
|
static |
Definition at line 4318 of file node.cc.
Referenced by node_type_base().
| void blender::bke::node_position_propagate | ( | bNode * | node | ) |
Definition at line 3178 of file node.cc.
References bNodeLink::fromnode, bNodeLink::fromsock, 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 3136 of file node.cc.
References BLI_assert, BLI_findindex(), BLI_listbase_count(), bNodeSocket::in_out, bNode::inputs, bNode::locx, bNode::locy, bNode::outputs, SOCK_IN, and bNode::typeinfo.
Referenced by node_position_propagate(), blender::ed::space_node::node_socket_add_replace(), and proj_paint_add_slot().
| bNodePreview * blender::bke::node_preview_copy | ( | bNodePreview * | preview | ) |
Definition at line 3307 of file node.cc.
References bNodePreview::ibuf, IMB_dupImBuf(), and MEM_dupallocN.
Referenced by ntree_copy_data().
| void blender::bke::node_preview_free | ( | bNodePreview * | preview | ) |
Definition at line 3314 of file node.cc.
References bNodePreview::ibuf, IMB_freeImBuf(), and MEM_freeN().
Referenced by node_preview_merge_tree(), node_preview_remove_unused(), and ntree_free_data().
Definition at line 3345 of file node.cc.
References node_instance_hash_new(), NODE_INSTANCE_KEY_BASE, node_preview_init_tree_recursive(), and bNodeTree::previews.
Referenced by compositor_init_node_previews().
|
static |
Definition at line 3322 of file node.cc.
References 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 3390 of file node.cc.
References node_instance_hash_free(), node_instance_hash_insert(), NODE_INSTANCE_HASH_ITER, node_instance_hash_iterator_get_key(), node_instance_hash_iterator_get_value(), node_instance_hash_remove(), node_preview_free(), node_preview_remove_unused(), and bNodeTree::previews.
Referenced by local_merge().
| void blender::bke::node_preview_remove_unused | ( | bNodeTree * | ntree | ) |
Definition at line 3376 of file node.cc.
References node_instance_hash_clear_tags(), node_instance_hash_remove_untagged(), NODE_INSTANCE_KEY_BASE, node_preview_free(), node_preview_tag_used_recursive(), and bNodeTree::previews.
Referenced by node_preview_merge_tree().
|
static |
Definition at line 3358 of file node.cc.
References node_instance_hash_tag_key(), node_instance_key(), node_preview_tag_used_recursive(), and node_preview_used().
Referenced by node_preview_remove_unused(), and node_preview_tag_used_recursive().
| bool blender::bke::node_preview_used | ( | const bNode * | node | ) |
Definition at line 3267 of file node.cc.
References NODE_PREVIEW.
Referenced by node_preview_init_tree_recursive(), and node_preview_tag_used_recursive().
| bNodePreview * blender::bke::node_preview_verify | ( | bNodeInstanceHash * | previews, |
| bNodeInstanceKey | key, | ||
| int | xsize, | ||
| int | ysize, | ||
| bool | create ) |
Definition at line 3273 of file node.cc.
References ImBuf::byte_buffer, ImBufByteBuffer::data, IB_rect, bNodePreview::ibuf, imb_addrectImBuf(), IMB_allocImBuf(), IMB_rect_size_set(), node_instance_hash_insert(), and node_instance_hash_lookup().
Referenced by blender::realtime_compositor::compute_preview_from_result(), node_preview_init_tree_recursive(), and blender::compositor::PreviewOperation::verify_preview().
| 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 3464 of file node.cc.
References LISTBASE_FOREACH_INDEX, and node_tree.
Referenced by node_free_node(), blender::ed::space_node::node_group_make_insert_selected(), blender::ed::space_node::node_group_separate_selected(), node_remove_node(), node_tree_free_local_node(), version_geometry_nodes_extrude_smooth_propagation(), and version_geometry_nodes_primitive_uv_maps().
| void blender::bke::node_register_alias | ( | bNodeType * | nt, |
| const char * | alias ) |
Definition at line 1731 of file node.cc.
References BLI_ghash_insert(), BLI_strdup(), blender::bke::bNodeType::idname, and nodetypes_alias_hash.
Referenced by register_node_type_sh_bsdf_glossy().
| void blender::bke::node_register_socket_type | ( | bNodeSocketType * | stype | ) |
Definition at line 1787 of file node.cc.
References BLI_ghash_insert(), G_MAIN, blender::bke::bNodeSocketType::idname, nodesockettypes_hash, and update_typeinfo().
Referenced by register_standard_node_socket_types().
| void blender::bke::node_register_type | ( | bNodeType * | ntype | ) |
Definition at line 1708 of file node.cc.
References BLI_assert, BLI_ghash_insert(), blender::nodes::build_node_declaration(), blender::bke::bNodeType::declare, G_MAIN, blender::bke::bNodeType::idname, nodetypes_hash, blender::bke::bNodeType::poll, blender::bke::bNodeType::static_declaration, and update_typeinfo().
Referenced by blender::nodes::node_fn_align_euler_to_vector_cc::node_register(), blender::nodes::node_fn_align_rotation_to_vector_cc::node_register(), blender::nodes::node_fn_axes_to_rotation_cc::node_register(), blender::nodes::node_fn_axis_angle_to_rotation_cc::node_register(), blender::nodes::node_fn_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_float_to_int_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_matrix_determinant_cc::node_register(), blender::nodes::node_fn_matrix_multiply_cc::node_register(), blender::nodes::node_fn_project_point_cc::node_register(), blender::nodes::node_fn_quaternion_to_rotation_cc::node_register(), blender::nodes::node_fn_random_value_cc::node_register(), blender::nodes::node_fn_replace_string_cc::node_register(), blender::nodes::node_fn_rotate_euler_cc::node_register(), blender::nodes::node_fn_rotate_rotation_cc::node_register(), blender::nodes::node_fn_rotate_vector_cc::node_register(), blender::nodes::node_fn_rotation_to_axis_angle_cc::node_register(), blender::nodes::node_fn_rotation_to_euler_cc::node_register(), blender::nodes::node_fn_rotation_to_quaternion_cc::node_register(), blender::nodes::node_fn_separate_color_cc::node_register(), blender::nodes::node_fn_separate_matrix_cc::node_register(), blender::nodes::node_fn_separate_transform_cc::node_register(), blender::nodes::node_fn_slice_string_cc::node_register(), blender::nodes::node_fn_string_length_cc::node_register(), blender::nodes::node_fn_transform_direction_cc::node_register(), blender::nodes::node_fn_transform_point_cc::node_register(), blender::nodes::node_fn_transpose_matrix_cc::node_register(), blender::nodes::node_fn_value_to_string_cc::node_register(), blender::nodes::node_geo_accumulate_field_cc::node_register(), blender::nodes::node_geo_attribute_capture_cc::node_register(), blender::nodes::node_geo_attribute_domain_size_cc::node_register(), blender::nodes::node_geo_attribute_statistic_cc::node_register(), blender::nodes::node_geo_bake_cc::node_register(), blender::nodes::node_geo_blur_attribute_cc::node_register(), blender::nodes::node_geo_boolean_cc::node_register(), blender::nodes::node_geo_bounding_box_cc::node_register(), blender::nodes::node_geo_collection_info_cc::node_register(), blender::nodes::node_geo_convex_hull_cc::node_register(), blender::nodes::node_geo_curve_endpoint_selection_cc::node_register(), blender::nodes::node_geo_curve_fill_cc::node_register(), blender::nodes::node_geo_curve_fillet_cc::node_register(), blender::nodes::node_geo_curve_handle_type_selection_cc::node_register(), blender::nodes::node_geo_curve_length_cc::node_register(), blender::nodes::node_geo_curve_primitive_arc_cc::node_register(), blender::nodes::node_geo_curve_primitive_bezier_segment_cc::node_register(), blender::nodes::node_geo_curve_primitive_circle_cc::node_register(), blender::nodes::node_geo_curve_primitive_line_cc::node_register(), blender::nodes::node_geo_curve_primitive_quadratic_bezier_cc::node_register(), blender::nodes::node_geo_curve_primitive_quadrilateral_cc::node_register(), blender::nodes::node_geo_curve_primitive_spiral_cc::node_register(), blender::nodes::node_geo_curve_primitive_star_cc::node_register(), blender::nodes::node_geo_curve_resample_cc::node_register(), blender::nodes::node_geo_curve_reverse_cc::node_register(), blender::nodes::node_geo_curve_sample_cc::node_register(), blender::nodes::node_geo_curve_set_handle_type_cc::node_register(), blender::nodes::node_geo_curve_spline_parameter_cc::node_register(), blender::nodes::node_geo_curve_spline_type_cc::node_register(), blender::nodes::node_geo_curve_subdivide_cc::node_register(), blender::nodes::node_geo_curve_to_mesh_cc::node_register(), blender::nodes::node_geo_curve_to_points_cc::node_register(), blender::nodes::node_geo_curve_topology_curve_of_point_cc::node_register(), blender::nodes::node_geo_curve_topology_points_of_curve_cc::node_register(), blender::nodes::node_geo_curve_trim_cc::node_register(), blender::nodes::node_geo_curves_to_grease_pencil_cc::node_register(), blender::nodes::node_geo_deform_curves_on_surface_cc::node_register(), blender::nodes::node_geo_delete_geometry_cc::node_register(), blender::nodes::node_geo_distribute_points_in_grid_cc::node_register(), blender::nodes::node_geo_distribute_points_in_volume_cc::node_register(), blender::nodes::node_geo_distribute_points_on_faces_cc::node_register(), blender::nodes::node_geo_dual_mesh_cc::node_register(), blender::nodes::node_geo_duplicate_elements_cc::node_register(), blender::nodes::node_geo_edge_paths_to_curves_cc::node_register(), blender::nodes::node_geo_edge_paths_to_selection_cc::node_register(), blender::nodes::node_geo_edge_split_cc::node_register(), blender::nodes::node_geo_edges_to_face_groups_cc::node_register(), blender::nodes::node_geo_evaluate_at_index_cc::node_register(), blender::nodes::node_geo_evaluate_on_domain_cc::node_register(), blender::nodes::node_geo_extrude_mesh_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_to_curves_cc::node_register(), blender::nodes::node_geo_grid_to_mesh_cc::node_register(), blender::nodes::node_geo_image_cc::node_register(), blender::nodes::node_geo_image_info_cc::node_register(), blender::nodes::node_geo_image_texture_cc::node_register(), blender::nodes::node_geo_import_obj::node_register(), blender::nodes::node_geo_import_stl::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_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_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_position_cc::node_register(), blender::nodes::node_geo_input_radius_cc::node_register(), blender::nodes::node_geo_input_scene_time_cc::node_register(), blender::nodes::node_geo_input_shortest_edge_paths_cc::node_register(), blender::nodes::node_geo_input_spline_cyclic_cc::node_register(), blender::nodes::node_geo_input_spline_length_cc::node_register(), blender::nodes::node_geo_input_spline_resolution_cc::node_register(), blender::nodes::node_geo_input_tangent_cc::node_register(), blender::nodes::node_geo_instance_on_points_cc::node_register(), blender::nodes::node_geo_instances_to_points_cc::node_register(), blender::nodes::node_geo_interpolate_curves_cc::node_register(), blender::nodes::node_geo_is_viewport_cc::node_register(), blender::nodes::node_geo_join_geometry_cc::node_register(), blender::nodes::node_geo_material_replace_cc::node_register(), blender::nodes::node_geo_material_selection_cc::node_register(), blender::nodes::node_geo_merge_by_distance_cc::node_register(), blender::nodes::node_geo_merge_layers_cc::node_register(), blender::nodes::node_geo_mesh_face_group_boundaries_cc::node_register(), blender::nodes::node_geo_mesh_primitive_circle_cc::node_register(), blender::nodes::node_geo_mesh_primitive_cone_cc::node_register(), blender::nodes::node_geo_mesh_primitive_cube_cc::node_register(), blender::nodes::node_geo_mesh_primitive_cylinder_cc::node_register(), blender::nodes::node_geo_mesh_primitive_grid_cc::node_register(), blender::nodes::node_geo_mesh_primitive_ico_sphere_cc::node_register(), blender::nodes::node_geo_mesh_primitive_line_cc::node_register(), blender::nodes::node_geo_mesh_primitive_uv_sphere_cc::node_register(), blender::nodes::node_geo_mesh_subdivide_cc::node_register(), blender::nodes::node_geo_mesh_to_curve_cc::node_register(), blender::nodes::node_geo_mesh_to_density_grid_cc::node_register(), blender::nodes::node_geo_mesh_to_points_cc::node_register(), blender::nodes::node_geo_mesh_to_sdf_grid_cc::node_register(), blender::nodes::node_geo_mesh_to_volume_cc::node_register(), blender::nodes::node_geo_mesh_topology_corners_of_edge_cc::node_register(), blender::nodes::node_geo_mesh_topology_corners_of_face_cc::node_register(), blender::nodes::node_geo_mesh_topology_corners_of_vertex_cc::node_register(), blender::nodes::node_geo_mesh_topology_edges_of_corner_cc::node_register(), blender::nodes::node_geo_mesh_topology_edges_of_vertex_cc::node_register(), blender::nodes::node_geo_mesh_topology_face_of_corner_cc::node_register(), blender::nodes::node_geo_mesh_topology_offset_corner_in_face_cc::node_register(), blender::nodes::node_geo_mesh_topology_vertex_of_corner_cc::node_register(), blender::nodes::node_geo_mouse_position_cc::node_register(), blender::nodes::node_geo_object_info_cc::node_register(), blender::nodes::node_geo_offset_point_in_curve_cc::node_register(), blender::nodes::node_geo_points_cc::node_register(), blender::nodes::node_geo_points_to_curves_cc::node_register(), blender::nodes::node_geo_points_to_sdf_grid_cc::node_register(), blender::nodes::node_geo_points_to_vertices_cc::node_register(), blender::nodes::node_geo_points_to_volume_cc::node_register(), blender::nodes::node_geo_proximity_cc::node_register(), blender::nodes::node_geo_raycast_cc::node_register(), blender::nodes::node_geo_realize_instances_cc::node_register(), blender::nodes::node_geo_remove_attribute_cc::node_register(), blender::nodes::node_geo_repeat_cc::repeat_input_node::node_register(), blender::nodes::node_geo_repeat_cc::repeat_output_node::node_register(), blender::nodes::node_geo_rotate_instances_cc::node_register(), blender::nodes::node_geo_sample_grid_cc::node_register(), blender::nodes::node_geo_sample_grid_index_cc::node_register(), blender::nodes::node_geo_sample_index_cc::node_register(), blender::nodes::node_geo_sample_nearest_cc::node_register(), blender::nodes::node_geo_sample_nearest_surface_cc::node_register(), blender::nodes::node_geo_sample_uv_surface_cc::node_register(), blender::nodes::node_geo_scale_elements_cc::node_register(), blender::nodes::node_geo_scale_instances_cc::node_register(), blender::nodes::node_geo_sdf_grid_boolean_cc::node_register(), blender::nodes::node_geo_self_object_cc::node_register(), blender::nodes::node_geo_separate_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_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_point_radius_cc::node_register(), blender::nodes::node_geo_set_position_cc::node_register(), blender::nodes::node_geo_set_shade_smooth_cc::node_register(), blender::nodes::node_geo_set_spline_cyclic_cc::node_register(), blender::nodes::node_geo_set_spline_resolution_cc::node_register(), blender::nodes::node_geo_simulation_cc::sim_input_node::node_register(), blender::nodes::node_geo_simulation_cc::sim_output_node::node_register(), blender::nodes::node_geo_sort_elements_cc::node_register(), blender::nodes::node_geo_split_to_instances_cc::node_register(), blender::nodes::node_geo_store_named_attribute_cc::node_register(), blender::nodes::node_geo_store_named_grid_cc::node_register(), blender::nodes::node_geo_string_join_cc::node_register(), blender::nodes::node_geo_string_to_curves_cc::node_register(), blender::nodes::node_geo_subdivision_surface_cc::node_register(), blender::nodes::node_geo_tool_3d_cursor_cc::node_register(), blender::nodes::node_geo_tool_active_element_cc::node_register(), blender::nodes::node_geo_tool_face_set_cc::node_register(), blender::nodes::node_geo_tool_selection_cc::node_register(), blender::nodes::node_geo_tool_set_face_set_cc::node_register(), blender::nodes::node_geo_tool_set_selection_cc::node_register(), blender::nodes::node_geo_triangulate_cc::node_register(), blender::nodes::node_geo_uv_pack_islands_cc::node_register(), blender::nodes::node_geo_uv_unwrap_cc::node_register(), blender::nodes::node_geo_viewer_cc::node_register(), blender::nodes::node_geo_viewport_transform_cc::node_register(), blender::nodes::node_geo_volume_cube_cc::node_register(), blender::nodes::node_geo_volume_to_mesh_cc::node_register(), blender::nodes::node_geo_warning_cc::node_register(), blender::nodes::nodes_geo_import_ply::node_register(), blender::nodes::node_geo_index_switch_cc::register_node(), blender::nodes::node_geo_menu_switch_cc::register_node(), blender::nodes::node_geo_switch_cc::register_node(), blender::nodes::node_geo_transform_geometry_cc::register_node(), blender::nodes::node_geo_translate_instances_cc::register_node(), register_node_type_cmp_alphaover(), register_node_type_cmp_antialiasing(), register_node_type_cmp_bilateralblur(), register_node_type_cmp_blur(), register_node_type_cmp_bokehblur(), register_node_type_cmp_bokehimage(), register_node_type_cmp_boxmask(), register_node_type_cmp_brightcontrast(), register_node_type_cmp_channel_matte(), register_node_type_cmp_chroma_matte(), register_node_type_cmp_color_matte(), register_node_type_cmp_color_spill(), register_node_type_cmp_colorbalance(), register_node_type_cmp_colorcorrection(), register_node_type_cmp_combhsva(), register_node_type_cmp_combine_color(), register_node_type_cmp_combine_xyz(), register_node_type_cmp_combrgba(), register_node_type_cmp_combycca(), register_node_type_cmp_combyuva(), register_node_type_cmp_composite(), register_node_type_cmp_convert_color_space(), register_node_type_cmp_cornerpin(), register_node_type_cmp_crop(), register_node_type_cmp_cryptomatte(), register_node_type_cmp_cryptomatte_legacy(), register_node_type_cmp_curve_rgb(), register_node_type_cmp_curve_time(), register_node_type_cmp_curve_vec(), register_node_type_cmp_dblur(), register_node_type_cmp_defocus(), register_node_type_cmp_denoise(), register_node_type_cmp_despeckle(), register_node_type_cmp_diff_matte(), register_node_type_cmp_dilateerode(), register_node_type_cmp_displace(), register_node_type_cmp_distance_matte(), register_node_type_cmp_doubleedgemask(), register_node_type_cmp_ellipsemask(), register_node_type_cmp_exposure(), register_node_type_cmp_filter(), register_node_type_cmp_flip(), register_node_type_cmp_gamma(), register_node_type_cmp_glare(), register_node_type_cmp_group(), register_node_type_cmp_hue_sat(), register_node_type_cmp_huecorrect(), register_node_type_cmp_idmask(), register_node_type_cmp_image(), register_node_type_cmp_inpaint(), register_node_type_cmp_invert(), register_node_type_cmp_keying(), register_node_type_cmp_keyingscreen(), register_node_type_cmp_kuwahara(), register_node_type_cmp_lensdist(), register_node_type_cmp_luma_matte(), register_node_type_cmp_map_range(), register_node_type_cmp_map_value(), register_node_type_cmp_mapuv(), register_node_type_cmp_mask(), register_node_type_cmp_math(), register_node_type_cmp_mix_rgb(), register_node_type_cmp_movieclip(), register_node_type_cmp_moviedistortion(), register_node_type_cmp_normal(), register_node_type_cmp_normalize(), register_node_type_cmp_output_file(), register_node_type_cmp_pixelate(), register_node_type_cmp_planetrackdeform(), register_node_type_cmp_posterize(), register_node_type_cmp_premulkey(), register_node_type_cmp_rgb(), register_node_type_cmp_rgbtobw(), register_node_type_cmp_rlayers(), register_node_type_cmp_rotate(), register_node_type_cmp_scale(), register_node_type_cmp_scene_time(), register_node_type_cmp_separate_color(), register_node_type_cmp_separate_xyz(), register_node_type_cmp_sephsva(), register_node_type_cmp_seprgba(), register_node_type_cmp_sepycca(), register_node_type_cmp_sepyuva(), register_node_type_cmp_setalpha(), register_node_type_cmp_split(), register_node_type_cmp_stabilize2d(), register_node_type_cmp_sunbeams(), register_node_type_cmp_switch(), register_node_type_cmp_switch_view(), register_node_type_cmp_texture(), register_node_type_cmp_tonemap(), register_node_type_cmp_trackpos(), register_node_type_cmp_transform(), register_node_type_cmp_translate(), register_node_type_cmp_valtorgb(), register_node_type_cmp_value(), register_node_type_cmp_vecblur(), register_node_type_cmp_view_levels(), register_node_type_cmp_viewer(), register_node_type_cmp_zcombine(), register_node_type_frame(), blender::nodes::register_node_type_geo_group(), register_node_type_group_input(), register_node_type_group_output(), register_node_type_reroute(), register_node_type_sh_add_shader(), register_node_type_sh_ambient_occlusion(), register_node_type_sh_attribute(), register_node_type_sh_background(), register_node_type_sh_bevel(), register_node_type_sh_blackbody(), register_node_type_sh_brightcontrast(), register_node_type_sh_bsdf_diffuse(), register_node_type_sh_bsdf_glass(), register_node_type_sh_bsdf_glossy(), register_node_type_sh_bsdf_hair(), register_node_type_sh_bsdf_hair_principled(), register_node_type_sh_bsdf_metallic(), register_node_type_sh_bsdf_principled(), register_node_type_sh_bsdf_ray_portal(), register_node_type_sh_bsdf_refraction(), register_node_type_sh_bsdf_sheen(), register_node_type_sh_bsdf_toon(), register_node_type_sh_bsdf_translucent(), register_node_type_sh_bsdf_transparent(), register_node_type_sh_bump(), register_node_type_sh_camera(), register_node_type_sh_clamp(), register_node_type_sh_combcolor(), register_node_type_sh_combhsv(), register_node_type_sh_combrgb(), register_node_type_sh_combxyz(), register_node_type_sh_curve_float(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_sh_displacement(), register_node_type_sh_eevee_specular(), register_node_type_sh_emission(), register_node_type_sh_fresnel(), register_node_type_sh_gamma(), register_node_type_sh_geometry(), register_node_type_sh_group(), register_node_type_sh_hair_info(), register_node_type_sh_holdout(), register_node_type_sh_hue_sat(), register_node_type_sh_invert(), register_node_type_sh_layer_weight(), register_node_type_sh_light_falloff(), register_node_type_sh_light_path(), register_node_type_sh_map_range(), register_node_type_sh_mapping(), register_node_type_sh_math(), register_node_type_sh_mix(), register_node_type_sh_mix_rgb(), register_node_type_sh_mix_shader(), register_node_type_sh_normal(), register_node_type_sh_normal_map(), register_node_type_sh_object_info(), register_node_type_sh_output_aov(), register_node_type_sh_output_light(), register_node_type_sh_output_linestyle(), register_node_type_sh_output_material(), register_node_type_sh_output_world(), register_node_type_sh_particle_info(), register_node_type_sh_point_info(), register_node_type_sh_rgb(), register_node_type_sh_rgbtobw(), register_node_type_sh_script(), register_node_type_sh_sepcolor(), register_node_type_sh_sephsv(), register_node_type_sh_seprgb(), register_node_type_sh_sepxyz(), register_node_type_sh_shadertorgb(), register_node_type_sh_squeeze(), register_node_type_sh_subsurface_scattering(), register_node_type_sh_tangent(), register_node_type_sh_tex_brick(), register_node_type_sh_tex_checker(), register_node_type_sh_tex_coord(), register_node_type_sh_tex_environment(), register_node_type_sh_tex_gradient(), register_node_type_sh_tex_ies(), register_node_type_sh_tex_image(), register_node_type_sh_tex_magic(), register_node_type_sh_tex_noise(), register_node_type_sh_tex_pointdensity(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_wave(), register_node_type_sh_tex_white_noise(), register_node_type_sh_uvalongstroke(), register_node_type_sh_uvmap(), register_node_type_sh_valtorgb(), register_node_type_sh_value(), register_node_type_sh_vect_math(), register_node_type_sh_vect_transform(), register_node_type_sh_vector_displacement(), register_node_type_sh_vector_rotate(), register_node_type_sh_vertex_color(), register_node_type_sh_volume_absorption(), register_node_type_sh_volume_info(), register_node_type_sh_volume_principled(), register_node_type_sh_volume_scatter(), register_node_type_sh_wavelength(), register_node_type_sh_wireframe(), register_node_type_tex_at(), register_node_type_tex_bricks(), register_node_type_tex_checker(), register_node_type_tex_combine_color(), register_node_type_tex_compose(), register_node_type_tex_coord(), register_node_type_tex_curve_rgb(), register_node_type_tex_curve_time(), register_node_type_tex_decompose(), register_node_type_tex_distance(), register_node_type_tex_group(), register_node_type_tex_hue_sat(), register_node_type_tex_image(), register_node_type_tex_invert(), register_node_type_tex_math(), register_node_type_tex_mix_rgb(), register_node_type_tex_output(), register_node_type_tex_rgbtobw(), register_node_type_tex_rotate(), register_node_type_tex_scale(), register_node_type_tex_separate_color(), register_node_type_tex_texture(), register_node_type_tex_translate(), register_node_type_tex_valtonor(), register_node_type_tex_valtorgb(), and register_node_type_tex_viewer().
Definition at line 2958 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_versions_material_convert_legacy_blend_mode(), blender::io::usd::dome_light_to_world_material(), blender::ed::space_node::node_group_make_insert_selected(), blender::ed::space_node::node_group_separate_selected(), blender::ed::space_node::node_insert_on_link_flags(), node_internal_relink(), blender::ed::space_node::node_link_init(), blender::ed::space_node::node_remove_existing_links_if_needed(), node_remove_socket_ex(), node_remove_socket_links(), blender::ed::space_node::node_socket_add_replace(), blender::ed::space_node::node_socket_disconnect(), blender::ed::space_node::node_swap_links(), node_unlink_node(), ntree_shader_copy_branch(), ntree_shader_groups_remove_muted_links(), ntree_shader_implicit_closure_cast(), ntree_shader_unlink_hidden_value_sockets(), ntree_weight_tree_merge_weight(), blender::ed::space_node::pick_link(), blender::ed::space_node::viewer_linking::remove_links_to_unavailable_viewer_sockets(), shader_node_disconnect_input(), update_mapping_node_inputs_and_properties(), update_math_node_single_operand_operators(), update_noise_and_wave_distortion(), update_vector_math_node_add_and_subtract_operators(), update_vector_math_node_average_operator(), update_vector_math_node_cross_product_operator(), update_vector_math_node_dot_product_operator(), update_vector_math_node_normalize_operator(), update_voronoi_node_coloring(), update_voronoi_node_crackle(), update_voronoi_node_square_distance(), version_principled_bsdf_specular_tint(), version_principled_bsdf_subsurface(), version_replace_texcoord_normal_socket(), version_update_node_input(), versioning_eevee_material_blend_mode_settings(), versioning_eevee_material_shadow_none(), versioning_remove_microfacet_sharp_distribution(), versioning_replace_musgrave_texture_node(), and versioning_update_noise_texture_node().
| void blender::bke::node_remove_node | ( | Main * | bmain, |
| bNodeTree * | ntree, | ||
| bNode * | node, | ||
| bool | do_id_user ) |
Delete node, associated animation data and ID user count.
Definition at line 3545 of file node.cc.
References BKE_animdata_fix_paths_remove(), BLI_assert, BLI_str_escape(), DEG_relations_tag_update(), ELEM, bNodeTree::id, ID_TAG_LOCALIZED, id_us_min(), LISTBASE_FOREACH, MAX_IDPROP_NAME, node_free_node(), node_rebuild_id_vector(), node_unlink_attached(), node_unlink_node(), ptr, RNA_pointer_create(), SNPRINTF, socket_id_user_decrement(), and ID::tag.
Referenced by blender::ed::space_node::node_delete_exec(), blender::ed::space_node::node_delete_reconnect_exec(), 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 2405 of file node.cc.
References node_remove_socket_ex().
Referenced by cmp_node_image_add_pass_output(), cmp_node_image_verify_outputs(), do_version_replace_float_size_with_vector(), do_versions_nodetree_multi_file_output_format_2_62_1(), ntreeCompositCryptomatteRemoveSocket(), ntreeCompositOutputFileRemoveActiveSocket(), blender::nodes::node_composite_file_output_cc::update_output_file(), verify_socket_template_list(), version_geometry_nodes_set_position_node_offset(), version_node_join_geometry_for_multi_input_socket(), version_principled_bsdf_subsurface(), and version_principled_transmission_roughness().
| void blender::bke::node_remove_socket_ex | ( | bNodeTree * | ntree, |
| bNode * | node, | ||
| bNodeSocket * | sock, | ||
| bool | do_id_user ) |
Definition at line 2410 of file node.cc.
References BKE_ntree_update_tag_node_internal_link(), BKE_ntree_update_tag_socket_removed(), BLI_remlink(), bNodeLink::fromsock, bNodeTree::links, LISTBASE_FOREACH_MUTABLE, MEM_freeN(), node_remove_link(), node_socket_free(), 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 2984 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 4202 of file node.cc.
References can_read_node_type(), NODE_CUSTOM, NodeTypeUndefined, and SNPRINTF.
Referenced by node_tree_update_all_new().
Two active flags, ID nodes have special flag for buttons display.
Definition at line 3896 of file node.cc.
References NODE_ACTIVE, NODE_ACTIVE_PAINT_CANVAS, NODE_ACTIVE_TEXTURE, node_supports_active_flag(), and SET_FLAG_FROM_TEST.
Referenced by blender::ed::space_node::add_node_group_asset(), BKE_linestyle_default_shader(), blender::io::obj::create_mtl_node_tree(), blender::eevee::DefaultSurfaceNodeTree::DefaultSurfaceNodeTree(), blender::eevee::DefaultWorldNodeTree::DefaultWorldNodeTree(), blender::io::usd::dome_light_to_world_material(), ED_node_composit_default(), ED_node_set_active(), ED_node_shader_default(), ED_node_texture_default(), Freestyle::BlenderStrokeRenderer::GetStrokeShader(), blender::io::usd::USDMaterialReader::import_usd_preview(), 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_group_exec(), blender::ed::space_node::node_add_object_exec(), blender::ed::space_node::node_group_insert_exec(), blender::ed::space_node::node_group_make_exec(), blender::ed::space_node::node_join_exec(), blender::ed::space_node::node_socket_add_replace(), and proj_paint_add_slot().
| bool blender::bke::node_set_selected | ( | bNode * | node, |
| bool | select ) |
Selects or deselects the node. If the node is deselected, all its sockets are deselected too.
Definition at line 3863 of file node.cc.
References LISTBASE_FOREACH, NODE_SELECT, 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_file_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(), and template_texture_select().
| void blender::bke::node_set_socket_availability | ( | bNodeTree * | ntree, |
| bNodeSocket * | sock, | ||
| bool | is_available ) |
Definition at line 3911 of file node.cc.
References BKE_ntree_update_tag_socket_availability(), bNodeSocket::flag, and SOCK_UNAVAIL.
Referenced by cmp_node_image_verify_outputs(), blender::nodes::node_fn_random_value_cc::fn_node_random_value_update(), blender::nodes::node_composite_scale_cc::node_composite_update_scale(), node_math_update(), blender::nodes::node_shader_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_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 1509 of file node.cc.
References NODE_INIT, node_init(), NodeTypeUndefined, blender::bke::bNodeType::storagename, and blender::bke::bNodeType::type.
Referenced by node_add_node(), node_tree_set_type(), and update_typeinfo().
|
static |
Definition at line 2667 of file node.cc.
References bNodeSocket::default_attribute_name, bNodeSocket::default_value, bNodeSocketValueMenu::enum_items, 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 3958 of file node.cc.
References BLI_assert, reset_socket_declarations(), and update_socket_declarations().
Referenced by node_declaration_ensure(), and blender::nodes::refresh_node().
|
static |
Definition at line 2379 of file node.cc.
References bNodeSocket::default_attribute_name, bNodeSocket::default_value, bNodeSocketValueMenu::enum_items, 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 1801 of file node.cc.
References NodeSocketTypeUndefined, and bNodeSocket::typeinfo.
| int blender::bke::node_socket_link_limit | ( | const bNodeSocket * | sock | ) |
Definition at line 3925 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 2846 of file node.cc.
References blender::CPPType::destruct(), ELEM, get_implicit_type_conversions(), NODE_REROUTE, node_static_value_storage_for(), SOCK_COLLECTION, SOCK_IMAGE, SOCK_MATERIAL, SOCK_OBJECT, SOCK_TEXTURE, socket_value_storage(), tree, bNode::type, bNodeSocket::type, bNodeSocket::typeinfo, and blender::CPPType::value_initialize().
Referenced by blender::ed::space_node::add_group_input_node_fn(), and blender::nodes::LinkSearchOpParams::connect_available_socket().
|
static |
Definition at line 1538 of file node.cc.
References BKE_ntree_update_tag_socket_type(), bNodeSocket::default_value, node_socket_init_default_value(), NodeSocketTypeUndefined, blender::bke::bNodeSocketType::type, bNodeSocket::type, and bNodeSocket::typeinfo.
Referenced by blender::bke::forward_compat::make_socket(), make_socket(), node_modify_socket_type(), node_tree_set_type(), and update_typeinfo().
| const char * blender::bke::node_socket_sub_type_label | ( | int | subtype | ) |
Definition at line 1820 of file node.cc.
References RNA_enum_name(), and rna_enum_property_subtype_items.
Referenced by make_standard_socket_type().
| bNodeSocketType * blender::bke::node_socket_type_find | ( | const char * | idname | ) |
Definition at line 1763 of file node.cc.
References BLI_ghash_lookup(), and nodesockettypes_hash.
Referenced by blender::ed::geometry::add_attribute_search_or_value_buttons(), blender::bke::anonymous_attribute_inferencing::analyze_anonymous_attribute_usages(), blender::nodes::declaration_for_interface_socket(), blender::bke::bake::default_initialize_socket_value(), blender::ed::geometry::draw_property_for_socket(), ED_node_type_draw_color(), blender::ed::space_node::gather_socket_link_operations(), blender::nodes::node_geo_bake_cc::get_item_cpp_type(), blender::nodes::node_geo_simulation_cc::get_simulation_item_cpp_type(), blender::nodes::node_geo_menu_switch_cc::LazyFunctionForMenuSwitchNode::LazyFunctionForMenuSwitchNode(), blender::bke::forward_compat::make_socket(), make_socket(), blender::nodes::decl::modify_subtype_except_for_storage(), node_modify_socket_type(), node_tree_set_type(), blender::ed::space_node::search_link_ops_for_asset_metadata(), slow_socket_type_to_geo_nodes_base_cpp_type(), blender::bke::node_interface::socket_types::try_get_supported_socket_type(), and version_node_add_socket().
| GHashIterator * blender::bke::node_socket_type_get_iterator | ( | ) |
Definition at line 1806 of file node.cc.
References BLI_ghashIterator_new(), and nodesockettypes_hash.
| const char * blender::bke::node_socket_type_label | ( | const bNodeSocketType * | stype | ) |
Definition at line 1811 of file node.cc.
References blender::bke::bNodeSocketType::ext_socket, blender::bke::bNodeSocketType::label, RNA_struct_ui_name(), and ExtensionRNA::srna.
Definition at line 2222 of file node.cc.
References 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_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().
Definition at line 2318 of file node.cc.
References SOCK_BOOLEAN, 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().
Definition at line 2126 of file node.cc.
References 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_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::bake::default_initialize_socket_value(), do_version_replace_float_size_with_vector(), blender::nodes::node_geo_bake_cc::get_item_cpp_type(), blender::nodes::node_geo_simulation_cc::get_simulation_item_cpp_type(), blender::nodes::node_geo_menu_switch_cc::LazyFunctionForMenuSwitchNode::LazyFunctionForMenuSwitchNode(), make_standard_socket_type(), blender::nodes::decl::modify_subtype_except_for_storage(), node_add_static_socket(), node_modify_socket_type_static(), node_socket_get_static_idname(), slow_socket_type_to_geo_nodes_base_cpp_type(), 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 2774 of file node.cc.
References FN_NODE_INPUT_BOOL, FN_NODE_INPUT_COLOR, FN_NODE_INPUT_INT, FN_NODE_INPUT_VECTOR, GEO_NODE_IMAGE, and SH_NODE_VALUE.
Referenced by node_socket_move_default_value().
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 224 of file node_shader_util.cc.
References BLI_assert, ELEM, NODE_ACTIVE_PAINT_CANVAS, NODE_ACTIVE_TEXTURE, NODE_CLASS_TEXTURE, and SH_NODE_TEX_IMAGE.
Referenced by node_get_active(), and node_set_active().
| void blender::bke::node_system_exit | ( | ) |
Definition at line 4659 of file node.cc.
References BLI_ghash_free(), MEM_freeN(), node_free_socket_type(), node_free_type(), NODE_SOCKET_TYPES_BEGIN, NODE_SOCKET_TYPES_END, NODE_TREE_TYPES_BEGIN, NODE_TREE_TYPES_END, NODE_TYPES_BEGIN, NODE_TYPES_END, nodesockettypes_hash, nodetreetypes_hash, nodetypes_alias_hash, nodetypes_hash, and ntree_free_type().
Referenced by BKE_blender_free(), and blender::bke::tests::Context< TestData >::~Context().
| void blender::bke::node_system_init | ( | ) |
Definition at line 4649 of file node.cc.
References BLI_ghash_str_new(), nodesockettypes_hash, nodetreetypes_hash, nodetypes_alias_hash, nodetypes_hash, and register_nodes().
Referenced by blender::bke::tests::Context< TestData >::Context(), main(), and BlendfileLoadingBaseTest::SetUpTestCase().
| void blender::bke::node_tag_update_id | ( | bNode * | node | ) |
Definition at line 4007 of file node.cc.
References NODE_UPDATE_ID.
Referenced by blender::ed::space_node::node_add_file_exec().
Definition at line 3089 of file node.cc.
References bNode::parent.
Referenced by blender::ed::transform::create_transform_data_for_node(), blender::ed::space_node::get_min_max_of_nodes(), node_attach_node(), node_detach_node(), and blender::ed::space_node::node_to_view().
| bNodeTree * blender::bke::node_tree_add_in_lib | ( | Main * | bmain, |
| Library * | owner_library, | ||
| const char * | name, | ||
| const char * | 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 3231 of file node.cc.
References node_tree_add_tree_do().
Referenced by add_auto_smooth_node_tree().
| bNodeTree * blender::bke::node_tree_add_tree | ( | Main * | bmain, |
| const char * | name, | ||
| const char * | idname ) |
Definition at line 3226 of file node.cc.
References node_tree_add_tree_do().
Referenced by add_realize_node_tree(), default_paint_slot_color_get(), blender::eevee::DefaultSurfaceNodeTree::DefaultSurfaceNodeTree(), blender::eevee::DefaultWorldNodeTree::DefaultWorldNodeTree(), blender::io::usd::dome_light_to_world_material(), blender::ed::curves::ensure_surface_deformation_node_exists(), blender::eevee::LookdevWorld::LookdevWorld(), blender::ed::space_node::new_node_tree_exec(), blender::ed::space_node::node_group_make_from_nodes(), blender::ed::space_node::node_group_make_test_selected(), and blender::io::usd::USDPointInstancerReader::read_object_data().
|
static |
Definition at line 3189 of file node.cc.
References BKE_libblock_alloc_in_lib(), BKE_libblock_init_empty(), BLI_assert, BLI_assert_msg, flag, ID::flag, bNodeTree::id, ID_FLAG_EMBEDDED_DATA, ID_NT, bNodeTree::idname, LIB_ID_CREATE_NO_MAIN, node_tree_ptr_from_id(), node_tree_type_find(), ntree_set_typeinfo(), bNodeTree::owner_id, and STRNCPY.
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, | ||
| const char * | name, | ||
| const char * | idname ) |
Definition at line 3239 of file node.cc.
References node_tree_add_tree_do().
Referenced by BKE_linestyle_default_shader(), blender::io::obj::create_mtl_node_tree(), ED_node_composit_default(), ED_node_shader_default(), ED_node_texture_default(), Freestyle::BlenderStrokeRenderer::GetStrokeShader(), blender::io::usd::USDMaterialReader::import_usd_preview(), material_default_holdout_init(), material_default_surface_init(), material_default_volume_init(), blender::eevee::MaterialModule::MaterialModule(), and prepare_material_nodetree().
|
static |
Definition at line 1351 of file node.cc.
References BLI_strdup_null(), AssetMetaData::description, bNodeTree::description, MEM_SAFE_FREE, and node_tree_asset_on_clear_asset().
Referenced by node_tree_asset_on_clear_asset().
|
static |
Definition at line 1339 of file node.cc.
References BLI_strdup_null(), AssetMetaData::description, bNodeTree::description, node_tree_asset_on_mark_asset(), and node_update_asset_metadata().
Referenced by node_tree_asset_on_mark_asset().
|
static |
Definition at line 1333 of file node.cc.
References node_tree_asset_pre_save(), and node_update_asset_metadata().
Referenced by node_tree_asset_pre_save().
| void blender::bke::node_tree_blend_read_data | ( | BlendDataReader * | reader, |
| ID * | owner_id, | ||
| bNodeTree * | ntree ) |
ntree itself has been read! Definition at line 1042 of file node.cc.
References BKE_curvemapping_blend_read(), BKE_image_format_blend_read_data(), BKE_ntree_update_tag_missing_runtime_data(), BKE_previewimg_blend_read(), BLI_assert, BLI_listbase_clear(), BLI_listbase_count(), BLO_read_data_address, BLO_read_fileversion_get(), BLO_read_string(), BLO_read_struct, BLO_read_struct_array, BLO_read_struct_list, NodeShaderScript::bytecode, CLOG_WARN, CMP_NODE_CRYPTOMATTE, CMP_NODE_CRYPTOMATTE_LEGACY, CMP_NODE_CURVE_RGB, CMP_NODE_CURVE_VEC, CMP_NODE_HUECORRECT, CMP_NODE_IMAGE, CMP_NODE_OUTPUT_FILE, CMP_NODE_R_LAYERS, CMP_NODE_TIME, CMP_NODE_VIEWER, bNodeTree::description, direct_link_node_socket(), NodeCryptomatte::entries, ID::flag, FN_NODE_INPUT_STRING, NodeImageMultiFile::format, NodeImageMultiFileSocket::format, GEO_NODE_BAKE, GEO_NODE_CAPTURE_ATTRIBUTE, GEO_NODE_FOREACH_GEOMETRY_ELEMENT_OUTPUT, GEO_NODE_INDEX_SWITCH, GEO_NODE_MENU_SWITCH, GEO_NODE_REPEAT_OUTPUT, GEO_NODE_SIMULATION_OUTPUT, bNodeTree::geometry_node_asset_traits, bNodeTree::id, ID_FLAG_EMBEDDED_DATA, IDP_BlendDataRead, Tex::iuser, NodeCryptomatte_Runtime::layers, ID::lib, bNodeTree::links, LISTBASE_FOREACH, LISTBASE_FOREACH_INDEX, LISTBASE_FOREACH_MUTABLE, LOG, NodeCryptomatte::matte_id, ID::name, bNodeTree::nested_node_refs, bNodeTree::nested_node_refs_num, node_tree_blend_read_data(), node_unique_id(), bNodeTree::nodes, bNodeTree::owner_id, bNode::parent, NodeShaderTexPointDensity::pd, bNodeTree::preview, bNodeTree::previews, remove_unsupported_sockets(), bNodeTree::runtime, NodeCryptomatte::runtime, ImageUser::scene, SH_NODE_CURVE_FLOAT, SH_NODE_CURVE_RGB, SH_NODE_CURVE_VEC, SH_NODE_SCRIPT, SH_NODE_TEX_ENVIRONMENT, SH_NODE_TEX_IMAGE, SH_NODE_TEX_POINTDENSITY, NodeInputString::string, tex, TEX_NODE_CURVE_RGB, TEX_NODE_CURVE_TIME, TEX_NODE_IMAGE, bNodeTree::tree_interface, and bNodeTree::typeinfo.
Referenced by direct_link_id_embedded_id(), node_tree_blend_read_data(), 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 760 of file node.cc.
References BKE_curvemapping_blend_write(), BKE_id_blend_write(), BKE_image_format_blend_write(), BKE_previewimg_blend_write(), BLO_write_is_undo(), BLO_write_string(), BLO_write_struct, BLO_write_struct_array, BLO_write_struct_by_name(), NodeShaderScript::bytecode, CD_PROP_FLOAT, CMP_NODE_GLARE_SIMPLE_STAR, CMP_NODE_GLARE_STREAKS, NodeGeometryAttributeCapture::data_type_legacy, bNodeTree::description, ELEM, NodeCryptomatte::entries, NodeImageMultiFile::format, NodeImageMultiFileSocket::format, bNodeTree::geometry_node_asset_traits, bNodeTree::id, IDP_BlendWrite(), bNodeTree::links, LISTBASE_FOREACH, NodeCryptomatte::matte_id, bNodeTree::nested_node_refs, bNodeTree::nested_node_refs_num, node_tree_blend_write(), NodeTypeUndefined, NTREE_COMPOSIT, NTREE_GEOMETRY, NTREE_SHADER, NTREE_TEXTURE, NodeShaderHairPrincipled::parametrization, bNodeTree::preview, SH_NODE_CURVE_FLOAT, SH_NODE_CURVE_RGB, SH_NODE_CURVE_VEC, SH_NODE_SCRIPT, NodeGlare::star_45, NodeGlare::streaks, NodeInputString::string, bNodeTree::tree_interface, bNodeTree::type, NodeGlare::type, and write_node_socket().
Referenced by light_blend_write(), linestyle_blend_write(), material_blend_write(), node_tree_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 3827 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 3255 of file node.cc.
References node_tree_copy_tree_ex().
Referenced by ED_node_shader_default(), and blender::ed::space_node::node_group_ungroup().
| bNodeTree * blender::bke::node_tree_copy_tree_ex | ( | const bNodeTree * | ntree, |
| Main * | bmain, | ||
| bool | do_id_user ) |
Definition at line 3247 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 3632 of file node.cc.
References BKE_libblock_free_data(), BKE_libblock_free_data_py(), bNodeTree::id, and node_tree_free_tree().
Referenced by blo_update_defaults_scene(), light_free_data(), linestyle_free_data(), material_free_data(), paste_material_exec(), scene_free_data(), texture_free_data(), world_free_data(), blender::eevee::DefaultSurfaceNodeTree::~DefaultSurfaceNodeTree(), and blender::eevee::DefaultWorldNodeTree::~DefaultWorldNodeTree().
Definition at line 3531 of file node.cc.
References BLI_assert, bNodeTree::id, ID_TAG_LOCALIZED, node_free_node(), node_rebuild_id_vector(), node_unlink_attached(), node_unlink_node(), and ID::tag.
Referenced by flatten_group_do(), localize(), localize(), ntree_shader_groups_flatten(), and ntree_shader_pruned_unused().
| void blender::bke::node_tree_free_local_tree | ( | bNodeTree * | ntree | ) |
Definition at line 3639 of file node.cc.
References BKE_libblock_free_data(), bNodeTree::id, ID_TAG_LOCALIZED, node_tree_free_tree(), and ID::tag.
Referenced by GPU_material_from_nodetree().
| void blender::bke::node_tree_free_tree | ( | bNodeTree * | ntree | ) |
Free (or release) any data used by this node-tree. Does not free the node-tree itself and does no ID user counting.
Definition at line 3626 of file node.cc.
References BKE_animdata_free(), bNodeTree::id, and ntree_free_data().
Referenced by blender::ed::space_node::compo_freejob(), default_paint_slot_color_get(), free_localized_node_groups(), localize(), blender::ed::space_node::node_group_make_test_selected(), node_tree_free_embedded_tree(), node_tree_free_local_tree(), and ntree_shader_groups_flatten().
Returns the private NodeTree object of the data-block, if it has one.
Definition at line 3732 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(), deg_graph_clear_id_recalc_flags(), DEG_iterator_ids_step(), direct_link_id_embedded_id(), blender::animrig::find_related_ids(), lib_override_library_resync(), memfile_undosys_step_decode(), blender::ed::space_node::node_foreach_id(), node_owner_pointer_get(), and node_tree_from_ID().
| bool blender::bke::node_tree_is_registered | ( | const bNodeTree * | ntree | ) |
Definition at line 1657 of file node.cc.
References NodeTreeTypeUndefined, and bNodeTree::typeinfo.
Referenced by blender::bke::node_field_inferencing::get_node_field_inferencing_interface(), and blender::bke::anonymous_attribute_inferencing::get_relations_in_node().
| void blender::bke::node_tree_iterator_init | ( | NodeTreeIterStore * | ntreeiter, |
| Main * | bmain ) |
Definition at line 4709 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 4719 of file node.cc.
References 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, node_tree, FreestyleLineStyle::nodetree, Light::nodetree, Material::nodetree, Scene::nodetree, Tex::nodetree, World::nodetree, blender::bke::NodeTreeIterStore::scene, blender::bke::NodeTreeIterStore::tex, and blender::bke::NodeTreeIterStore::world.
Merge local tree results back, and free local tree.
We have to assume the editor already changed completely.
Definition at line 3793 of file node.cc.
References bNodeTree::typeinfo.
Referenced by blender::ed::space_node::compo_freejob().
Returns localized tree for execution in threads.
| new_owner_id | the owner ID of the localized nodetree, may be null if unknown or irrelevant. |
Definition at line 3750 of file node.cc.
References BKE_id_copy_in_lib(), ListBase::first, bNodeTree::id, ID_TAG_LOCALIZED, LIB_ID_COPY_LOCALIZE, LIB_ID_COPY_NO_ANIMDATA, LISTBASE_FOREACH, bNode::next, node_tree_localize(), node_tree_set_output(), bNodeTree::nodes, bNode::runtime, ID::tag, and bNodeTree::typeinfo.
Referenced by blender::ed::space_node::compo_initjob(), GPU_material_from_nodetree(), light_copy_data(), material_copy_data(), node_tree_localize(), texture_copy_data(), and world_copy_data().
Definition at line 3738 of file node.cc.
References bNodeTree::flag, flag, LISTBASE_FOREACH, and bNodeTree::nodes.
Referenced by blender::ed::space_node::node_link_insert_offset_ntree().
Get address of potential node-tree pointer of given ID.
node_tree_from_id() instead. Definition at line 3712 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 4764 of file node.cc.
References BLI_assert.
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 3650 of file node.cc.
References CMP_NODE_VIEWER, ELEM, LISTBASE_FOREACH, NODE_CLASS_OUTPUT, NODE_DO_OUTPUT, NODE_GROUP_OUTPUT, bNodeTree::nodes, NTREE_COMPOSIT, and bNodeTree::type.
Referenced by geometry_node_tree_update(), node_tree_localize(), ntreeShaderBeginExecTree_internal(), ntreeShaderOutputNode(), update(), and update().
Try to initialize all type-info in a node tree.
Definition at line 1598 of file node.cc.
References bNodeTree::idname, LISTBASE_FOREACH, node_set_typeinfo(), node_socket_set_typeinfo(), node_socket_type_find(), node_tree_type_find(), node_type_find(), and ntree_set_typeinfo().
Referenced by blo_do_versions_270(), do_versions_after_linking_270(), ntree_blend_read_after_liblink(), and version_geometry_nodes_replace_transfer_attribute_node().
| std::string blender::bke::node_tree_to_dot | ( | const bNodeTree & | tree, |
| const bNodeTreeToDotOptions & | options = bNodeTreeToDotOptions() ) |
Convert a node tree into the dot format. This can be visualized with tools like graphviz and is very useful for debugging purposes.
Definition at line 34 of file node_tree_dot_export.cc.
References blender::dot::NodeWithSockets::add_input(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), blender::dot::NodeWithSockets::add_output(), blender::dot::NodeWithSockets::Socket::fontcolor, blender::dot::NodeWithSocketsRef::input(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup(), blender::dot::DirectedGraph::new_edge(), blender::dot::Graph::new_node(), blender::dot::NodeWithSockets::node_name, options, blender::dot::NodeWithSocketsRef::output(), blender::dot::Graph::set_rankdir(), blender::dot::DirectedGraph::to_dot_string(), and tree.
| void blender::bke::node_tree_type_add | ( | bNodeTreeType * | nt | ) |
Definition at line 1633 of file node.cc.
References BLI_ghash_insert(), G_MAIN, blender::bke::bNodeTreeType::idname, nodetreetypes_hash, 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 | ( | const char * | idname | ) |
Definition at line 1621 of file node.cc.
References BLI_ghash_lookup(), and nodetreetypes_hash.
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 1652 of file node.cc.
References BLI_ghash_remove(), blender::bke::bNodeTreeType::idname, nodetreetypes_hash, and ntree_free_type().
| GHashIterator * blender::bke::node_tree_type_get_iterator | ( | ) |
Definition at line 1662 of file node.cc.
References BLI_ghashIterator_new(), and nodetreetypes_hash.
| void blender::bke::node_tree_update_all_new | ( | Main * | main | ) |
Definition at line 4215 of file node.cc.
References BKE_ntree_update_main(), BKE_ntree_update_tag_all(), FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, ID_TAG_NEW, LISTBASE_FOREACH, main(), node_replace_undefined_types(), and bNodeTree::nodes.
Referenced by blo_read_file_internal(), and library_link_end().
Definition at line 4242 of file node.cc.
References BKE_ntree_update_main(), BKE_ntree_update_tag_node_property(), FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, and main().
Referenced by libblock_remap_data_postprocess_nodetree_update().
Initialize a new node type struct with default values and callbacks.
Definition at line 4325 of file node.cc.
References BLI_assert, blender::bke::bNodeType::idname, blender::bke::bNodeType::nclass, node_poll_default(), node_poll_instance_default(), node_type_base_defaults(), blender::bke::bNodeType::poll, blender::bke::bNodeType::poll_instance, STRNCPY, blender::bke::bNodeType::type, and blender::bke::bNodeType::ui_name.
Referenced by cmp_node_type_base(), fn_node_type_base(), geo_node_type_base(), register_node_type_frame(), register_node_type_group_input(), register_node_type_group_output(), register_node_type_reroute(), sh_node_type_base(), and tex_node_type_base().
| void blender::bke::node_type_base_custom | ( | bNodeType * | ntype, |
| const char * | idname, | ||
| const char * | name, | ||
| const char * | enum_name, | ||
| short | nclass ) |
Definition at line 4364 of file node.cc.
References blender::bke::bNodeType::enum_name_legacy, blender::bke::bNodeType::idname, blender::bke::bNodeType::nclass, NODE_CUSTOM, node_type_base_defaults(), STRNCPY, blender::bke::bNodeType::type, 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 4301 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().
| bNodeType * blender::bke::node_type_find | ( | const char * | idname | ) |
Definition at line 1667 of file node.cc.
References BLI_ghash_lookup(), and nodetypes_hash.
Referenced by node_add_node(), node_tree_set_type(), pyrna_struct_bl_rna_get_subclass(), and version_node_add_empty().
| const char * blender::bke::node_type_find_alias | ( | const char * | idname | ) |
Definition at line 1679 of file node.cc.
References BLI_ghash_lookup(), and nodetypes_alias_hash.
Referenced by pyrna_struct_bl_rna_get_subclass().
| GHashIterator * blender::bke::node_type_get_iterator | ( | ) |
Definition at line 1758 of file node.cc.
References BLI_ghashIterator_new(), and nodetypes_hash.
| bool blender::bke::node_type_is_undefined | ( | const bNode * | node | ) |
Definition at line 1736 of file node.cc.
References ID_IS_LINKED, ID_TAG_MISSING, NodeTypeUndefined, and ID::tag.
Referenced by blender::compositor::COM_convert_bnode(), blender::ed::space_node::node_draw_basis(), and blender::ed::space_node::node_draw_hidden().
Definition at line 4602 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_to_curves_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_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_colorbalance(), register_node_type_cmp_colorcorrection(), register_node_type_cmp_cryptomatte(), register_node_type_cmp_curve_rgb(), register_node_type_cmp_curve_time(), register_node_type_cmp_curve_vec(), register_node_type_cmp_ellipsemask(), register_node_type_cmp_group(), register_node_type_cmp_huecorrect(), register_node_type_cmp_valtorgb(), register_node_type_frame(), blender::nodes::register_node_type_geo_group(), register_node_type_group_input(), register_node_type_group_output(), register_node_type_sh_bsdf_hair(), register_node_type_sh_group(), register_node_type_tex_at(), and register_node_type_tex_group().
| void blender::bke::node_type_size_preset | ( | bNodeType * | ntype, |
| eNodeSizePreset | size ) |
Definition at line 4614 of file node.cc.
References Default, Large, Middle, NODE_DEFAULT_MAX_WIDTH, node_type_size(), and Small.
Referenced by blender::nodes::node_geo_image_cc::node_register(), blender::nodes::node_geo_image_info_cc::node_register(), blender::nodes::node_geo_image_texture_cc::node_register(), blender::nodes::node_geo_input_curve_handles_cc::node_register(), blender::nodes::node_geo_input_mesh_face_neighbors_cc::node_register(), blender::nodes::node_geo_sample_nearest_surface_cc::node_register(), blender::nodes::node_geo_subdivision_surface_cc::node_register(), node_type_base_defaults(), register_node_type_cmp_convert_color_space(), register_node_type_cmp_rgb(), register_node_type_cmp_rgbtobw(), register_node_type_cmp_rlayers(), register_node_type_cmp_switch(), register_node_type_cmp_value(), register_node_type_sh_blackbody(), register_node_type_sh_bsdf_diffuse(), register_node_type_sh_bsdf_glass(), register_node_type_sh_bsdf_glossy(), register_node_type_sh_bsdf_hair_principled(), register_node_type_sh_bsdf_metallic(), register_node_type_sh_bsdf_principled(), register_node_type_sh_bsdf_refraction(), register_node_type_sh_bsdf_toon(), register_node_type_sh_curve_float(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_sh_hue_sat(), register_node_type_sh_light_falloff(), register_node_type_sh_normal_map(), register_node_type_sh_subsurface_scattering(), register_node_type_sh_tangent(), register_node_type_sh_tex_brick(), register_node_type_sh_tex_environment(), register_node_type_sh_tex_image(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_wave(), register_node_type_sh_uvmap(), register_node_type_sh_valtorgb(), register_node_type_sh_volume_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 4570 of file node.cc.
References blender::bke::bNodeSocketTemplate::identifier, blender::bke::bNodeType::inputs, inputs, blender::bke::bNodeType::outputs, outputs, STRNCPY, blender::bke::bNodeSocketTemplate::type, and unique_socket_template_identifier().
Referenced by register_node_type_cmp_cryptomatte_legacy(), register_node_type_cmp_rlayers(), register_node_type_tex_at(), register_node_type_tex_bricks(), register_node_type_tex_checker(), register_node_type_tex_combine_color(), register_node_type_tex_compose(), register_node_type_tex_coord(), register_node_type_tex_curve_rgb(), register_node_type_tex_curve_time(), register_node_type_tex_decompose(), register_node_type_tex_distance(), register_node_type_tex_hue_sat(), register_node_type_tex_image(), register_node_type_tex_invert(), register_node_type_tex_math(), register_node_type_tex_mix_rgb(), register_node_type_tex_output(), register_node_type_tex_rgbtobw(), register_node_type_tex_rotate(), register_node_type_tex_scale(), register_node_type_tex_separate_color(), register_node_type_tex_texture(), register_node_type_tex_translate(), register_node_type_tex_valtonor(), register_node_type_tex_valtorgb(), and register_node_type_tex_viewer().
| void blender::bke::node_type_storage | ( | bNodeType * | ntype, |
| const char * | storagename, | ||
| void(* | freefunc )(bNode *node), | ||
| void(* | copyfunc )(bNodeTree *dest_ntree, bNode *dest_node, const bNode *src_node) ) |
Definition at line 4632 of file node.cc.
References blender::bke::bNodeType::copyfunc, blender::bke::bNodeType::freefunc, blender::bke::bNodeType::storagename, and STRNCPY.
Referenced by blender::nodes::node_fn_combine_color_cc::node_register(), blender::nodes::node_fn_compare_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_collection_info_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_extrude_mesh_cc::node_register(), blender::nodes::node_geo_foreach_geometry_element_cc::input_node::node_register(), blender::nodes::node_geo_foreach_geometry_element_cc::output_node::node_register(), blender::nodes::node_geo_gizmo_dial_cc::node_register(), blender::nodes::node_geo_gizmo_linear_cc::node_register(), blender::nodes::node_geo_gizmo_transform_cc::node_register(), blender::nodes::node_geo_image_texture_cc::node_register(), blender::nodes::node_geo_input_named_attribute_cc::node_register(), blender::nodes::node_geo_merge_by_distance_cc::node_register(), blender::nodes::node_geo_merge_layers_cc::node_register(), blender::nodes::node_geo_mesh_primitive_circle_cc::node_register(), blender::nodes::node_geo_mesh_primitive_cone_cc::node_register(), blender::nodes::node_geo_mesh_primitive_cylinder_cc::node_register(), blender::nodes::node_geo_mesh_primitive_line_cc::node_register(), blender::nodes::node_geo_mesh_to_points_cc::node_register(), blender::nodes::node_geo_mesh_to_volume_cc::node_register(), blender::nodes::node_geo_object_info_cc::node_register(), blender::nodes::node_geo_points_to_volume_cc::node_register(), blender::nodes::node_geo_proximity_cc::node_register(), blender::nodes::node_geo_raycast_cc::node_register(), blender::nodes::node_geo_repeat_cc::repeat_input_node::node_register(), blender::nodes::node_geo_repeat_cc::repeat_output_node::node_register(), blender::nodes::node_geo_sample_index_cc::node_register(), blender::nodes::node_geo_separate_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_alphaover(), register_node_type_cmp_antialiasing(), register_node_type_cmp_bilateralblur(), register_node_type_cmp_blur(), register_node_type_cmp_bokehimage(), register_node_type_cmp_boxmask(), 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(), register_node_type_cmp_crop(), register_node_type_cmp_cryptomatte(), register_node_type_cmp_cryptomatte_legacy(), register_node_type_cmp_curve_rgb(), register_node_type_cmp_curve_time(), register_node_type_cmp_curve_vec(), register_node_type_cmp_dblur(), register_node_type_cmp_defocus(), register_node_type_cmp_denoise(), register_node_type_cmp_diff_matte(), register_node_type_cmp_dilateerode(), register_node_type_cmp_distance_matte(), register_node_type_cmp_ellipsemask(), 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_luma_matte(), register_node_type_cmp_map_value(), register_node_type_cmp_mask(), register_node_type_cmp_movieclip(), register_node_type_cmp_moviedistortion(), register_node_type_cmp_output_file(), register_node_type_cmp_planetrackdeform(), register_node_type_cmp_rlayers(), register_node_type_cmp_separate_color(), register_node_type_cmp_setalpha(), register_node_type_cmp_sunbeams(), register_node_type_cmp_tonemap(), register_node_type_cmp_trackpos(), register_node_type_cmp_translate(), register_node_type_cmp_valtorgb(), register_node_type_cmp_vecblur(), register_node_type_cmp_viewer(), register_node_type_frame(), register_node_type_sh_attribute(), register_node_type_sh_bsdf_hair_principled(), register_node_type_sh_combcolor(), register_node_type_sh_curve_float(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_sh_map_range(), register_node_type_sh_mix(), register_node_type_sh_normal_map(), register_node_type_sh_output_aov(), register_node_type_sh_script(), register_node_type_sh_sepcolor(), register_node_type_sh_tangent(), register_node_type_sh_tex_brick(), register_node_type_sh_tex_checker(), register_node_type_sh_tex_environment(), register_node_type_sh_tex_gradient(), register_node_type_sh_tex_ies(), register_node_type_sh_tex_image(), register_node_type_sh_tex_magic(), register_node_type_sh_tex_noise(), register_node_type_sh_tex_pointdensity(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_wave(), register_node_type_sh_uvmap(), register_node_type_sh_valtorgb(), register_node_type_sh_vect_transform(), register_node_type_sh_vertex_color(), register_node_type_tex_curve_rgb(), register_node_type_tex_curve_time(), register_node_type_tex_image(), register_node_type_tex_output(), and register_node_type_tex_valtorgb().
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 2599 of file node.cc.
References BLI_assert, BLI_time_now_seconds(), blender::RandomNumberGenerator::get_int32(), bNodeTree::runtime, and time.
Referenced by flatten_group_do(), node_add_node(), node_copy_with_mapping(), blender::ed::space_node::node_group_make_insert_selected(), blender::ed::space_node::node_group_separate_selected(), blender::ed::space_node::node_group_ungroup(), node_tree_blend_read_data(), ntree_shader_copy_branch(), version_add_group_in_out_node(), and version_node_add_empty().
Find the first available, non-duplicate name for a given node.
Definition at line 2593 of file node.cc.
References BLI_uniquename(), DATA_, bNodeTree::nodes, and offsetof.
Referenced by blo_do_versions_250(), blo_do_versions_260(), ED_node_shader_default(), 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_init(), and version_node_add_empty().
Definition at line 3455 of file node.cc.
References node_detach_node().
Referenced by node_remove_node(), and node_tree_free_local_node().
Definition at line 3428 of file node.cc.
References adjust_multi_input_indices_after_removed_link(), bNodeTree::links, LISTBASE_FOREACH, LISTBASE_FOREACH_MUTABLE, and node_remove_link().
Referenced by node_remove_node(), and node_tree_free_local_node().
| void blender::bke::node_unregister_socket_type | ( | bNodeSocketType * | stype | ) |
Definition at line 1796 of file node.cc.
References BLI_ghash_remove(), blender::bke::bNodeSocketType::idname, node_free_socket_type(), and nodesockettypes_hash.
| void blender::bke::node_unregister_type | ( | bNodeType * | ntype | ) |
Definition at line 1726 of file node.cc.
References BLI_ghash_remove(), blender::bke::bNodeType::idname, node_free_type(), and nodetypes_hash.
| void blender::bke::node_update_asset_metadata | ( | bNodeTree & | node_tree | ) |
Update asset meta-data cache of data-block properties.
Definition at line 1305 of file node.cc.
References BKE_asset_metadata_idprop_ensure(), IDP_AddToGroup(), node_tree, and node_update_asset_metadata().
Referenced by node_tree_asset_on_mark_asset(), node_tree_asset_pre_save(), and node_update_asset_metadata().
| void blender::bke::nodeLabel | ( | const bNodeTree * | ntree, |
| const bNode * | node, | ||
| char * | label, | ||
| int | maxlen ) |
Definition at line 4267 of file node.cc.
References BLI_strncpy(), IFACE_, and label.
Referenced by blender::ed::space_node::frame_node_draw_label(), blender::ed::space_node::node_draw_basis(), blender::ed::space_node::node_draw_hidden(), blender::ed::space_node::node_socket_get_tooltip(), and blender::ed::space_node::ui_node_sock_name().
| const char * blender::bke::nodeSocketLabel | ( | const bNodeSocket * | sock | ) |
Get node socket label if it is set.
Definition at line 4296 of file node.cc.
References bNodeSocket::label, and bNodeSocket::name.
Referenced by blender::ui::nodes::draw_node_input(), blender::ed::space_node::node_socket_get_label(), and blender::ed::space_node::node_socket_get_tooltip().
| const char * blender::bke::nodeSocketShortLabel | ( | 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 4285 of file node.cc.
References blender::StringRefBase::is_empty(), and bNodeSocket::runtime.
Referenced by blender::ed::space_node::node_socket_get_label().
|
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 816 of file curves_geometry.cc.
References blender::math::normalize(), and normalize_span().
Referenced by blender::bke::CurvesGeometry::evaluated_normals(), and normalize_span().
|
static |
Definition at line 1282 of file node.cc.
References BLO_read_lib_is_undo(), LISTBASE_FOREACH, node_tree_set_type(), node_verify_sockets(), bNodeTree::nodes, and ntree_blend_read_after_liblink().
Referenced by ntree_blend_read_after_liblink().
|
static |
Definition at line 1276 of file node.cc.
References node_tree_blend_read_data(), and ntree_blend_read_data().
Referenced by ntree_blend_read_data().
|
static |
Definition at line 933 of file node.cc.
References BLO_write_id_struct, BLO_write_is_undo(), bNodeTree::id, node_tree_blend_write(), ntree_blend_write(), bNodeTree::runtime, and bNodeTree::typeinfo.
Referenced by ntree_blend_write().
|
static |
Definition at line 3802 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 155 of file node.cc.
References blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), blender::bke::bNodeTreeRuntime::anonymous_attribute_inferencing, BKE_previewimg_id_copy(), BLI_addtail(), BLI_assert, BLI_listbase_clear(), BLI_strdup_null(), bNodeTree::description, blender::bke::bNodeTreeRuntime::field_inferencing_interface, flag, bNodeLink::fromnode, bNodeLink::fromsock, bNodeTree::geometry_node_asset_traits, 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, 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(), node_instance_hash_insert(), NODE_INSTANCE_HASH_ITER, node_instance_hash_iterator_get_key(), node_instance_hash_iterator_get_value(), node_instance_hash_new(), node_preview_copy(), bNodeTree::nodes, blender::bke::bNodeTreeRuntime::nodes_by_id, bNodeTree::preview, bNodeTree::previews, blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::reserve(), bNode::runtime, bNodeTree::runtime, bNodeLink::tonode, bNodeLink::tosock, bNodeTree::tree_interface, and blender::uninitialized_copy_n().
|
static |
Definition at line 273 of file node.cc.
References BKE_libblock_free_data(), BKE_previewimg_free(), BLI_freelistN(), bNodeTree::description, free_localized_node_groups(), bNodeTree::geometry_node_asset_traits, bNodeTree::id, ID_TAG_LOCALIZED, bNodeTree::links, LISTBASE_FOREACH_MUTABLE, MEM_freeN(), MEM_SAFE_FREE, bNodeTree::nested_node_refs, node_free_node(), node_instance_hash_free(), node_preview_free(), bNodeTree::nodes, NTREE_SHADER, NTREE_TEXTURE, ntreeShaderEndExecTree(), ntreeTexEndExecTree(), bNodeTree::preview, bNodeTree::previews, bNodeTree::runtime, ID::tag, bNodeTree::tree_interface, and bNodeTree::type.
Referenced by node_tree_free_tree().
|
static |
Definition at line 1642 of file node.cc.
References G_MAIN, MEM_freeN(), and update_typeinfo().
Referenced by node_system_exit(), and node_tree_type_free_link().
|
static |
Definition at line 146 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 1495 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 1090 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_object(), 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 | ) |
Definition at line 31 of file geometry_set_instances.cc.
References add_final_mesh_as_geometry_component(), DEG_object_geometry_is_evaluated(), blender::bke::GeometrySet::from_instances(), blender::bke::GeometrySet::has_mesh(), blender::MatBase< float, 4, 4 >::identity(), OB_EMPTY, OB_MESH, and OB_MODE_EDIT.
Referenced by BKE_pointcloud_to_mesh(), blender::bke::Instances::ensure_geometry_instances(), blender::ed::view3d::geometry_nodes_gizmos::find_geometry_for_gizmo(), blender::bke::Instances::foreach_referenced_geometry(), blender::nodes::node_geo_boolean_cc::node_geo_exec(), blender::nodes::node_geo_object_info_cc::node_geo_exec(), and blender::bke::InstanceReference::to_geometry_set().
| bool blender::bke::object_has_geometry_set_instances | ( | const Object & | object | ) |
Definition at line 807 of file geometry_set.cc.
References ELEM, blender::bke::GeometrySet::has_component(), OB_CURVES_LEGACY, OB_FONT, OB_GREASE_PENCIL, OB_MESH, OB_POINTCLOUD, OB_VOLUME, and object_has_geometry_set_instances().
Referenced by BKE_object_visibility(), get_dupli_generator(), iter_snap_objects(), blender::ed::object::make_object_duplilist_real(), and object_has_geometry_set_instances().
|
static |
Definition at line 238 of file curve_to_mesh_convert.cc.
References blender::offset_indices::OffsetIndices< T >::index_range(), and size().
| std::ostream & blender::bke::operator<< | ( | std::ostream & | stream, |
| const bNodeTreeZone & | zone ) |
Definition at line 538 of file node_tree_zones.cc.
| std::ostream & blender::bke::operator<< | ( | std::ostream & | stream, |
| const bNodeTreeZones & | zones ) |
Definition at line 527 of file node_tree_zones.cc.
| std::ostream & blender::bke::operator<< | ( | std::ostream & | stream, |
| const GeometrySet & | geometry_set ) |
Definition at line 227 of file geometry_set.cc.
| std::ostream & blender::bke::operator<< | ( | std::ostream & | stream, |
| const SocketValueVariant & | value_variant ) |
Definition at line 353 of file node_socket_value.cc.
| bool blender::bke::operator== | ( | const InstanceReference & | a, |
| const InstanceReference & | b ) |
Definition at line 126 of file instances.cc.
|
static |
Definition at line 175 of file mesh_data_update.cc.
References CD_CONSTRUCT, CustomData_add_layer(), and CustomData_get_layer_for_write().
Referenced by add_orco_mesh().
| PointCloud * blender::bke::pointcloud_new_no_attributes | ( | int | totpoint | ) |
Definition at line 409 of file pointcloud.cc.
References BKE_pointcloud_new_nomain(), CustomData_free_layer_named(), PointCloud::pdata, and PointCloud::totpoint.
|
static |
Definition at line 357 of file type_conversions.cc.
References blender::math::to_euler().
|
static |
Definition at line 362 of file type_conversions.cc.
References blender::math::from_rotation().
| void blender::bke::register_node_zone_type | ( | const bNodeZoneType & | zone_type | ) |
Definition at line 470 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::CurvesGeometry::points_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::bke::CurvesGeometry::points_num(), blender::bke::GreasePencilDrawingEditHints::positions_data, GreasePencil::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 1796 of file deform.cc.
References blender::MutableSpan< T >::index_range(), and remove_defgroup_index().
Referenced by remove_defgroup_index(), blender::bke::CurvesVertexGroupsAttributeProvider::try_delete(), blender::bke::MeshVertexGroupsAttributeProvider::try_delete(), and blender::bke::greasepencil::validate_drawing_vertex_groups().
|
static |
Definition at line 1016 of file node.cc.
References BLI_remlink(), is_node_socket_supported(), LISTBASE_FOREACH_MUTABLE, MEM_freeN(), and remove_unsupported_sockets().
Referenced by node_tree_blend_read_data(), and remove_unsupported_sockets().
|
static |
Definition at line 69 of file mesh_runtime.cc.
References count, and blender::bits::MutableBitSpan::size().
Referenced by bit_vector_with_reset_bits_or_empty().
|
static |
Definition at line 3951 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 833 of file attribute_access.cc.
References blender::bke::AttributeFilter::allow_skip(), 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 retrieve_attributes_for_transfer().
Referenced by blender::geometry::convert_curves_to_bezier(), blender::geometry::convert_curves_to_catmull_rom_or_poly(), blender::geometry::convert_curves_to_nurbs(), and retrieve_attributes_for_transfer().
|
static |
Definition at line 1330 of file curves_geometry.cc.
References blender::index_mask::IndexMask::foreach_index(), and reverse_curve_point_data().
Referenced by reverse_curve_point_data().
|
static |
Definition at line 1340 of file curves_geometry.cc.
References b, blender::index_mask::IndexMask::foreach_index(), reverse_swap_curve_point_data(), blender::MutableSpan< T >::size(), and blender::MutableSpan< T >::slice().
Referenced by blender::bke::CurvesGeometry::reverse_curves(), and reverse_swap_curve_point_data().
|
static |
Definition at line 803 of file curves_geometry.cc.
References 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::ImplicitSharingPtrAndData::data.
Referenced by remember_deformed_curve_positions_if_necessary(), and remember_deformed_grease_pencil_if_necessary().
|
static |
Definition at line 23 of file curve_to_mesh_convert.cc.
References blender::bke::curves::segments_num().
Referenced by fill_mesh_topology().
|
static |
Definition at line 290 of file mesh_data_update.cc.
References Point.
Referenced by editbmesh_calc_modifiers(), and mesh_calc_modifiers().
|
static |
Definition at line 520 of file instances.cc.
|
static |
Definition at line 364 of file curve_to_mesh_convert.cc.
References blender::bke::AttributeFilter::allow_skip(), CD_PROP_STRING, blender::bke::AttributeMetaData::data_type, blender::bke::AttributeAccessor::is_builtin(), and should_add_attribute_to_mesh().
Referenced by curve_to_mesh_sweep(), and should_add_attribute_to_mesh().
|
static |
Definition at line 4431 of file node.cc.
References blender::bke::bNodeSocketType::base_cpp_type, node_socket_type_find(), and node_static_socket_type().
Referenced by socket_type_to_geo_nodes_base_cpp_type().
|
static |
Definition at line 1972 of file node.cc.
References id_us_min(), SOCK_BOOLEAN, 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 1924 of file node.cc.
References id_us_plus(), SOCK_BOOLEAN, 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 4379 of file node.cc.
References CD_PROP_BOOL, CD_PROP_COLOR, CD_PROP_FLOAT, CD_PROP_FLOAT3, CD_PROP_FLOAT4X4, CD_PROP_INT32, CD_PROP_QUATERNION, CD_PROP_STRING, SOCK_BOOLEAN, SOCK_FLOAT, SOCK_INT, SOCK_MATRIX, SOCK_RGBA, SOCK_ROTATION, SOCK_STRING, and SOCK_VECTOR.
Referenced by blender::nodes::CaptureAttributeItemsAccessor::init_with_socket_type_and_name(), blender::nodes::node_geo_blur_attribute_cc::node_gather_link_searches(), blender::nodes::node_geo_curve_sample_cc::node_gather_link_searches(), blender::nodes::node_geo_evaluate_at_index_cc::node_gather_link_searches(), blender::nodes::node_geo_evaluate_on_domain_cc::node_gather_link_searches(), blender::nodes::node_geo_input_named_attribute_cc::node_gather_link_searches(), blender::nodes::node_geo_raycast_cc::node_gather_link_searches(), blender::nodes::node_geo_sample_index_cc::node_gather_link_searches(), blender::nodes::node_geo_sample_nearest_surface_cc::node_gather_link_searches(), blender::nodes::node_geo_sample_uv_surface_cc::node_gather_link_searches(), blender::nodes::node_geo_store_named_attribute_cc::node_gather_link_searches(), blender::nodes::node_geo_viewer_cc::node_gather_link_searches(), blender::ed::space_node::viewer_linking::node_link_viewer_get_socket(), blender::nodes::node_geo_store_named_grid_cc::search_link_ops(), and blender::nodes::CaptureAttributeItemsAccessor::supports_socket_type().
| const CPPType * blender::bke::socket_type_to_geo_nodes_base_cpp_type | ( | eNodeSocketDatatype | type | ) |
Definition at line 4438 of file node.cc.
References BLI_assert, blender::CPPType::get(), slow_socket_type_to_geo_nodes_base_cpp_type(), SOCK_BOOLEAN, 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::bke::SocketValueVariant::get_single_ptr(), blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_generation_items_group(), blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_main_items_and_geometry(), blender::nodes::mix_baked_data_item(), blender::nodes::node_geo_sample_grid_cc::node_geo_exec(), and blender::nodes::node_geo_sample_grid_index_cc::node_geo_exec().
| std::optional< VolumeGridType > blender::bke::socket_type_to_grid_type | ( | eNodeSocketDatatype | type | ) |
Definition at line 4500 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(), and blender::nodes::node_geo_get_named_grid_cc::node_geo_exec().
|
static |
Definition at line 2803 of file node.cc.
References SOCK_BOOLEAN, 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 70 of file node_socket_value.cc.
References BLI_assert_unreachable, SOCK_BOOLEAN, 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 37 of file node_socket_value.cc.
References blender::is_same_any_v, is_single_or_field_or_grid_v, SOCK_BOOLEAN, SOCK_FLOAT, SOCK_INT, SOCK_MATRIX, SOCK_RGBA, SOCK_ROTATION, SOCK_STRING, and SOCK_VECTOR.
|
static |
Definition at line 323 of file geometry_component_curves.cc.
References blender::bke::CurvesGeometry::update_curve_types().
Referenced by create_attribute_providers_for_curve().
|
static |
Definition at line 342 of file geometry_component_curves.cc.
References blender::bke::CurvesGeometry::tag_normals_changed().
Referenced by create_attribute_providers_for_curve().
|
static |
Definition at line 330 of file geometry_component_curves.cc.
References blender::bke::CurvesGeometry::tag_positions_changed().
Referenced by create_attribute_providers_for_curve(), and create_attribute_providers_for_point_cloud().
|
static |
Definition at line 866 of file geometry_component_mesh.cc.
References tag_component_positions_changed().
Referenced by create_attribute_providers_for_mesh(), and tag_component_positions_changed().
|
static |
Definition at line 122 of file geometry_component_pointcloud.cc.
|
static |
Definition at line 336 of file geometry_component_curves.cc.
References blender::bke::CurvesGeometry::tag_radii_changed().
Referenced by create_attribute_providers_for_curve().
|
static |
Definition at line 128 of file geometry_component_pointcloud.cc.
Referenced by create_attribute_providers_for_point_cloud().
|
static |
Definition at line 120 of file geometry_component_instances.cc.
References blender::bke::Instances::tag_reference_handles_changed().
Referenced by create_attribute_providers_for_instances().
|
static |
Definition at line 874 of file geometry_component_mesh.cc.
References tag_component_sharpness_changed().
Referenced by create_attribute_providers_for_mesh(), and tag_component_sharpness_changed().
|
static |
Definition at line 317 of file geometry_component_curves.cc.
References blender::bke::CurvesGeometry::tag_topology_changed().
Referenced by create_attribute_providers_for_curve().
|
static |
Definition at line 1104 of file curves_geometry.cc.
References blender::math::invert(), blender::threading::parallel_for(), transform_normals(), and blender::math::transpose().
Referenced by blender::bke::CurvesGeometry::transform(), and transform_normals().
|
static |
Definition at line 1095 of file curves_geometry.cc.
References blender::threading::parallel_for().
|
static |
Definition at line 1086 of file curves_geometry.cc.
References blender::threading::parallel_for().
Definition at line 565 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 765 of file geometry_fields.cc.
References attribute_kind_matches(), cpp_type_to_custom_data_type(), init(), and try_get_field_direct_attribute_id().
Referenced by try_capture_fields_on_geometry().
|
inline |
Definition at line 485 of file BKE_geometry_fields.hh.
References selection, and try_capture_fields_on_geometry().
|
inline |
Definition at line 471 of file BKE_geometry_fields.hh.
References try_capture_fields_on_geometry().
|
inline |
Definition at line 455 of file BKE_geometry_fields.hh.
References selection, and try_capture_fields_on_geometry().
Referenced by blender::nodes::LazyFunctionForViewerNode::execute_impl(), blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_generation_items_group(), blender::bke::bake::move_socket_values_to_bake_items(), 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_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_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_position_cc::set_curves_position(), 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 907 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 956 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 805 of file geometry_fields.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), attribute_data_matches_varray(), BLI_assert, blender::array_utils::copy(), cpp_type_to_custom_data_type(), blender::fn::evaluate_constant_field(), blender::bke::GSpanAttributeWriter::finish(), blender::Span< T >::index_range(), MEM_freeN(), MEM_mallocN_aligned(), 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(), 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 965 of file geometry_fields.cc.
References blender::bke::CurveComponent::get(), blender::bke::MeshComponent::get(), try_detect_field_domain(), and blender::bke::GeometryComponent::type().
Referenced by blender::nodes::LazyFunctionForViewerNode::execute_impl(), 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 576 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 746 of file geometry_fields.cc.
References blender::fn::GFieldBase< NodePtr >::node().
Referenced by try_add_shared_field_attribute().
|
static |
Definition at line 558 of file curve_to_mesh_convert.cc.
References blender::bke::MutableAttributeAccessor::add(), blender::GSpan::data(), blender::bke::AttributeAccessor::domain_size(), blender::GVArrayCommon::get_internal_span(), blender::GVArrayCommon::is_span(), main(), 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 97 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 1873 of file node.cc.
References LISTBASE_FOREACH, and STREQ.
Referenced by make_socket().
|
static |
Definition at line 4553 of file node.cc.
References BLI_uniquename_cb(), data, blender::bke::bNodeSocketTemplate::identifier, blender::bke::SocketTemplateIdentifierCallbackData::list, and unique_socket_template_identifier_check().
Referenced by node_type_socket_templates().
|
static |
Definition at line 4537 of file node.cc.
References STREQ.
Referenced by unique_socket_template_identifier().
|
static |
Definition at line 3941 of file node.cc.
References LISTBASE_FOREACH_INDEX.
Referenced by node_socket_declarations_update().
|
static |
Definition at line 1560 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(), ntree_set_typeinfo(), and STREQ.
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 190 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 update_zone_depths().
Referenced by discover_tree_zones(), and update_zone_depths().
|
static |
Definition at line 135 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(), blender::bke::bNodeTreeZone::index, blender::Span< T >::index_range(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::items(), 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 1786 of file deform.cc.
References varray_for_deform_verts().
Referenced by blender::bke::CurvesVertexGroupsAttributeProvider::get_for_vertex_group_index(), blender::bke::MeshVertexGroupsAttributeProvider::get_for_vertex_group_index(), and varray_for_deform_verts().
| VMutableArray< float > blender::bke::varray_for_mutable_deform_verts | ( | MutableSpan< MDeformVert > | dverts, |
| int | defgroup_index ) |
Definition at line 1790 of file deform.cc.
References varray_for_mutable_deform_verts().
Referenced by blender::bke::CurvesVertexGroupsAttributeProvider::try_get_for_write(), blender::bke::MeshVertexGroupsAttributeProvider::try_get_for_write(), and varray_for_mutable_deform_verts().
| std::optional< eCustomDataType > blender::bke::volume_grid_type_to_custom_data_type | ( | VolumeGridType | type | ) |
Definition at line 5572 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 746 of file node.cc.
References BLI_assert, BLO_write_struct, bNodeSocket::default_attribute_name, IDP_BlendWrite(), bNodeSocket::prop, write_node_socket(), and write_node_socket_default_value().
Referenced by node_tree_blend_write(), and write_node_socket().
|
static |
Definition at line 687 of file node.cc.
References BLI_assert_unreachable, BLO_write_struct, bNodeSocket::default_value, SOCK_BOOLEAN, 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, and write_node_socket_default_value().
Referenced by write_node_socket(), write_node_socket_default_value(), and blender::bke::forward_compat::write_node_socket_interface().
|
static |
Definition at line 781 of file curve_to_mesh_convert.cc.
References BEZIER_HANDLE_VECTOR, CURVE_TYPE_BEZIER, foreach_curve_combination(), blender::bke::CombinationInfo::i_profile, blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_span(), blender::bke::CurvesInfo::profile, and write_sharp_bezier_edges().
Referenced by curve_to_mesh_sweep(), and write_sharp_bezier_edges().
| const bNodeZoneType * blender::bke::zone_type_by_node_type | ( | const int | node_type | ) |
Definition at line 517 of file node_tree_zones.cc.
References all_zone_types(), and ELEM.
Referenced by blender::bke::node_tree_runtime::get_implicit_origin_nodes(), blender::bke::node_tree_runtime::get_implicit_target_nodes(), blender::ed::space_node::node_draw_basis(), blender::ed::space_node::remap_node_pairing(), and blender::ed::space_node::remap_pairing().
|
static |
Definition at line 759 of file blenkernel/intern/action.cc.
|
static |
Definition at line 41 of file curves_geometry.cc.
Referenced by blender::bke::CurvesGeometry::curve_types(), and blender::bke::CurvesGeometry::curve_types_for_write().
|
static |
Definition at line 42 of file curves_geometry.cc.
Referenced by blender::bke::CurvesGeometry::cyclic(), and blender::bke::CurvesGeometry::cyclic_for_write().
|
static |
Definition at line 47 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().
|
static |
Definition at line 48 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().
|
static |
|
static |
|
static |
Definition at line 44 of file curves_geometry.cc.
Referenced by blender::bke::CurvesGeometry::normal_mode(), and blender::bke::CurvesGeometry::normal_mode_for_write().
|
static |
Definition at line 51 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().
|
static |
Definition at line 49 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().
|
static |
Definition at line 50 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().
|
static |
Definition at line 38 of file curves_geometry.cc.
|
static |
Definition at line 39 of file curves_geometry.cc.
Referenced by blender::bke::greasepencil::Drawing::radii(), and blender::bke::greasepencil::Drawing::radii_for_write().
|
static |
Definition at line 43 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().
|
static |
Definition at line 52 of file curves_geometry.cc.
Referenced by blender::bke::CurvesGeometry::surface_uv_coords(), and blender::bke::CurvesGeometry::surface_uv_coords_for_write().
|
static |
Definition at line 40 of file curves_geometry.cc.
Referenced by blender::bke::CurvesGeometry::tilt(), and blender::bke::CurvesGeometry::tilt_for_write().
|
inlineconstexpr |
Definition at line 125 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 25 of file node_socket_value.cc.
Referenced by static_type_to_socket_type().
| const char * blender::bke::no_procedural_access_message |
Definition at line 108 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 4020 of file node.cc.
Referenced by blender::compositor::NodeGraph::add_proxies_group_inputs(), blender::compositor::NodeGraph::add_proxies_group_outputs(), blender::nodes::DerivedNodeTree::DerivedNodeTree(), ED_node_tree_push(), ED_node_tree_start(), blender::realtime_compositor::Profiler::finalize(), blender::compositor::NodeGraph::from_bNodeTree(), node_preview_init_tree(), node_preview_remove_unused(), ntreeShaderBeginExecTree(), and ntreeTexBeginExecTree().
| const bNodeInstanceKey blender::bke::NODE_INSTANCE_KEY_NONE = {0} |
Definition at line 4021 of file node.cc.
Referenced by blender::nodes::DerivedNodeTree::active_context(), and blender::ed::space_node::draw_nodespace_back_pix().
|
static |
Definition at line 1619 of file node.cc.
Referenced by node_register_socket_type(), node_socket_type_find(), node_socket_type_get_iterator(), node_system_exit(), node_system_init(), and node_unregister_socket_type().
| bNodeSocketType blender::bke::NodeSocketTypeUndefined |
Definition at line 136 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().
|
static |
Definition at line 1616 of file node.cc.
Referenced by node_system_exit(), node_system_init(), node_tree_type_add(), node_tree_type_find(), node_tree_type_free_link(), and node_tree_type_get_iterator().
| bNodeTreeType blender::bke::NodeTreeTypeUndefined |
Definition at line 134 of file node.cc.
Referenced by node_tree_is_registered(), ntree_set_typeinfo(), and register_undefined_types().
|
static |
Definition at line 1618 of file node.cc.
Referenced by node_register_alias(), node_system_exit(), node_system_init(), and node_type_find_alias().
|
static |
Definition at line 1617 of file node.cc.
Referenced by node_register_type(), node_system_exit(), node_system_init(), node_type_find(), node_type_get_iterator(), and node_unregister_type().
| bNodeType blender::bke::NodeTypeUndefined |
Definition at line 135 of file node.cc.
Referenced by ED_node_init_butfuncs(), blender::bke::node_field_inferencing::get_interface_input_field_type(), blender::bke::node_field_inferencing::get_interface_output_field_dependency(), node_init(), node_replace_undefined_types(), node_set_typeinfo(), node_tree_blend_write(), node_type_is_undefined(), register_undefined_types(), and blender::bke::node_tree_runtime::update_node_vector().