|
Blender
V2.93
|
General operations, lookup, etc. for blender objects. More...
Go to the source code of this file.
Classes | |
| struct | ObjectTfmProtectedChannels |
Typedefs | |
| typedef enum eObjectVisibilityResult | eObjectVisibilityResult |
| typedef struct ObjectTfmProtectedChannels | ObjectTfmProtectedChannels |
| typedef enum eObRelationTypes | eObRelationTypes |
| typedef enum eObjectSet | eObjectSet |
Enumerations | |
| enum | eObjectVisibilityResult { OB_VISIBLE_SELF = 1 , OB_VISIBLE_PARTICLES = 2 , OB_VISIBLE_INSTANCES = 4 , OB_VISIBLE_ALL = (OB_VISIBLE_SELF | OB_VISIBLE_PARTICLES | OB_VISIBLE_INSTANCES) } |
| enum | eObRelationTypes { OB_REL_NONE = 0 , OB_REL_PARENT = (1 << 0) , OB_REL_PARENT_RECURSIVE = (1 << 1) , OB_REL_CHILDREN = (1 << 2) , OB_REL_CHILDREN_RECURSIVE = (1 << 3) , OB_REL_MOD_ARMATURE = (1 << 4) } |
| enum | eObjectSet { OB_SET_SELECTED , OB_SET_VISIBLE , OB_SET_ALL } |
Functions | |
| void | BKE_object_workob_clear (struct Object *workob) |
| void | BKE_object_workob_calc_parent (struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob, struct Object *workob) |
| void | BKE_object_transform_copy (struct Object *ob_tar, const struct Object *ob_src) |
| void | BKE_object_copy_softbody (struct Object *ob_dst, const struct Object *ob_src, const int flag) |
| struct ParticleSystem * | BKE_object_copy_particlesystem (struct ParticleSystem *psys, const int flag) |
| void | BKE_object_copy_particlesystems (struct Object *ob_dst, const struct Object *ob_src, const int flag) |
| void | BKE_object_free_particlesystems (struct Object *ob) |
| void | BKE_object_free_softbody (struct Object *ob) |
| void | BKE_object_free_curve_cache (struct Object *ob) |
| void | BKE_object_free_derived_caches (struct Object *ob) |
| void | BKE_object_free_caches (struct Object *object) |
| void | BKE_object_preview_geometry_set_add (struct Object *ob, const uint64_t key, struct GeometrySet *geometry_set) |
| void | BKE_object_modifier_hook_reset (struct Object *ob, struct HookModifierData *hmd) |
| void | BKE_object_modifier_gpencil_hook_reset (struct Object *ob, struct HookGpencilModifierData *hmd) |
| bool | BKE_object_modifier_gpencil_use_time (struct Object *ob, struct GpencilModifierData *md) |
| bool | BKE_object_shaderfx_use_time (struct Object *ob, struct ShaderFxData *md) |
| bool | BKE_object_supports_modifiers (const struct Object *ob) |
| bool | BKE_object_support_modifier_type_check (const struct Object *ob, int modifier_type) |
| void | BKE_object_modifier_set_active (struct Object *ob, struct ModifierData *md) |
| struct ModifierData * | BKE_object_active_modifier (const struct Object *ob) |
| bool | BKE_object_copy_modifier (struct Main *bmain, struct Scene *scene, struct Object *ob_dst, const struct Object *ob_src, struct ModifierData *md) |
| bool | BKE_object_copy_gpencil_modifier (struct Object *ob_dst, struct GpencilModifierData *md) |
| bool | BKE_object_modifier_stack_copy (struct Object *ob_dst, const struct Object *ob_src, const bool do_copy_all, const int flag_subdata) |
| void | BKE_object_link_modifiers (struct Object *ob_dst, const struct Object *ob_src) |
| void | BKE_object_free_modifiers (struct Object *ob, const int flag) |
| void | BKE_object_free_shaderfx (struct Object *ob, const int flag) |
| void | BKE_object_make_proxy (struct Main *bmain, struct Object *ob, struct Object *target, struct Object *cob) |
| void | BKE_object_copy_proxy_drivers (struct Object *ob, struct Object *target) |
| bool | BKE_object_exists_check (struct Main *bmain, const struct Object *obtest) |
| bool | BKE_object_is_in_editmode (const struct Object *ob) |
| bool | BKE_object_is_in_editmode_vgroup (const struct Object *ob) |
| bool | BKE_object_is_in_wpaint_select_vert (const struct Object *ob) |
| bool | BKE_object_has_mode_data (const struct Object *ob, eObjectMode object_mode) |
| bool | BKE_object_is_mode_compat (const struct Object *ob, eObjectMode object_mode) |
| bool | BKE_object_data_is_in_editmode (const struct ID *id) |
| char * | BKE_object_data_editmode_flush_ptr_get (struct ID *id) |
| void | BKE_object_update_select_id (struct Main *bmain) |
| int | BKE_object_visibility (const struct Object *ob, const int dag_eval_mode) |
| struct Object * | BKE_object_add_only_object (struct Main *bmain, int type, const char *name) ATTR_NONNULL(1) ATTR_RETURNS_NONNULL |
| struct Object * | BKE_object_add (struct Main *bmain, struct ViewLayer *view_layer, int type, const char *name) ATTR_NONNULL(1 |
| struct Object * | BKE_object_add_from (struct Main *bmain, struct Scene *scene, struct ViewLayer *view_layer, int type, const char *name, struct Object *ob_src) ATTR_NONNULL(1 |
| struct Object * | BKE_object_add_for_data (struct Main *bmain, struct ViewLayer *view_layer, int type, const char *name, struct ID *data, bool do_id_user) ATTR_RETURNS_NONNULL |
| void * | BKE_object_obdata_add_from_type (struct Main *bmain, int type, const char *name) ATTR_NONNULL(1) |
| int | BKE_object_obdata_to_type (const struct ID *id) ATTR_NONNULL(1) |
| bool | BKE_object_is_libdata (const struct Object *ob) |
| bool | BKE_object_obdata_is_libdata (const struct Object *ob) |
| struct Object * | BKE_object_duplicate (struct Main *bmain, struct Object *ob, uint dupflag, const uint duplicate_options) |
| void | BKE_object_obdata_size_init (struct Object *ob, const float size) |
| void | BKE_object_scale_to_mat3 (struct Object *ob, float r_mat[3][3]) |
| void | BKE_object_rot_to_mat3 (const struct Object *ob, float r_mat[3][3], bool use_drot) |
| void | BKE_object_mat3_to_rot (struct Object *ob, float r_mat[3][3], bool use_compat) |
| void | BKE_object_to_mat3 (struct Object *ob, float r_mat[3][3]) |
| void | BKE_object_to_mat4 (struct Object *ob, float r_mat[4][4]) |
| void | BKE_object_apply_mat4 (struct Object *ob, const float mat[4][4], const bool use_compat, const bool use_parent) |
| void | BKE_object_apply_mat4_ex (struct Object *ob, const float mat[4][4], struct Object *parent, const float parentinv[4][4], const bool use_compat) |
| void | BKE_object_matrix_local_get (struct Object *ob, float r_mat[4][4]) |
| bool | BKE_object_pose_context_check (const struct Object *ob) |
| struct Object * | BKE_object_pose_armature_get (struct Object *ob) |
| struct Object * | BKE_object_pose_armature_get_visible (struct Object *ob, struct ViewLayer *view_layer, struct View3D *v3d) |
| struct Object ** | BKE_object_pose_array_get_ex (struct ViewLayer *view_layer, struct View3D *v3d, unsigned int *r_objects_len, bool unique) |
| struct Object ** | BKE_object_pose_array_get_unique (struct ViewLayer *view_layer, struct View3D *v3d, unsigned int *r_objects_len) |
| struct Object ** | BKE_object_pose_array_get (struct ViewLayer *view_layer, struct View3D *v3d, unsigned int *r_objects_len) |
| struct Base ** | BKE_object_pose_base_array_get_ex (struct ViewLayer *view_layer, struct View3D *v3d, unsigned int *r_bases_len, bool unique) |
| struct Base ** | BKE_object_pose_base_array_get_unique (struct ViewLayer *view_layer, struct View3D *v3d, unsigned int *r_bases_len) |
| struct Base ** | BKE_object_pose_base_array_get (struct ViewLayer *view_layer, struct View3D *v3d, unsigned int *r_bases_len) |
| void | BKE_object_get_parent_matrix (struct Object *ob, struct Object *par, float r_parentmat[4][4]) |
| void | BKE_object_where_is_calc (struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob) |
| void | BKE_object_where_is_calc_ex (struct Depsgraph *depsgraph, struct Scene *scene, struct RigidBodyWorld *rbw, struct Object *ob, float r_originmat[3][3]) |
| void | BKE_object_where_is_calc_time (struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob, float ctime) |
| void | BKE_object_where_is_calc_mat4 (struct Object *ob, float r_obmat[4][4]) |
| struct BoundBox * | BKE_boundbox_alloc_unit (void) |
| void | BKE_boundbox_init_from_minmax (struct BoundBox *bb, const float min[3], const float max[3]) |
| void | BKE_boundbox_calc_center_aabb (const struct BoundBox *bb, float r_cent[3]) |
| void | BKE_boundbox_calc_size_aabb (const struct BoundBox *bb, float r_size[3]) |
| void | BKE_boundbox_minmax (const struct BoundBox *bb, const float obmat[4][4], float r_min[3], float r_max[3]) |
| struct BoundBox * | BKE_object_boundbox_get (struct Object *ob) |
| void | BKE_object_dimensions_get (struct Object *ob, float r_vec[3]) |
| void | BKE_object_dimensions_set_ex (struct Object *ob, const float value[3], int axis_mask, const float ob_scale_orig[3], const float ob_obmat_orig[4][4]) |
| void | BKE_object_dimensions_set (struct Object *ob, const float value[3], int axis_mask) |
| void | BKE_object_empty_draw_type_set (struct Object *ob, const int value) |
| void | BKE_object_boundbox_flag (struct Object *ob, int flag, const bool set) |
| void | BKE_object_boundbox_calc_from_mesh (struct Object *ob, struct Mesh *me_eval) |
| void | BKE_object_minmax (struct Object *ob, float r_min[3], float r_max[3], const bool use_hidden) |
| bool | BKE_object_minmax_dupli (struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob, float r_min[3], float r_max[3], const bool use_hidden) |
| void | BKE_object_foreach_display_point (struct Object *ob, const float obmat[4][4], void(*func_cb)(const float[3], void *), void *user_data) |
| void | BKE_scene_foreach_display_point (struct Depsgraph *depsgraph, void(*func_cb)(const float[3], void *), void *user_data) |
| bool | BKE_object_parent_loop_check (const struct Object *parent, const struct Object *ob) |
| void * | BKE_object_tfm_backup (struct Object *ob) |
| void | BKE_object_tfm_restore (struct Object *ob, void *obtfm_pt) |
| void | BKE_object_tfm_protected_backup (const struct Object *ob, ObjectTfmProtectedChannels *obtfm) |
| void | BKE_object_tfm_protected_restore (struct Object *ob, const ObjectTfmProtectedChannels *obtfm, const short protectflag) |
| void | BKE_object_tfm_copy (struct Object *object_dst, const struct Object *object_src) |
| void | BKE_object_eval_reset (struct Object *ob_eval) |
| void | BKE_object_eval_local_transform (struct Depsgraph *depsgraph, struct Object *ob) |
| void | BKE_object_eval_parent (struct Depsgraph *depsgraph, struct Object *ob) |
| void | BKE_object_eval_constraints (struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob) |
| void | BKE_object_eval_transform_final (struct Depsgraph *depsgraph, struct Object *ob) |
| bool | BKE_object_eval_proxy_copy (struct Depsgraph *depsgraph, struct Object *object) |
| void | BKE_object_eval_uber_transform (struct Depsgraph *depsgraph, struct Object *ob) |
| void | BKE_object_eval_uber_data (struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob) |
| void | BKE_object_eval_assign_data (struct Object *object, struct ID *data, bool is_owned) |
| void | BKE_object_sync_to_original (struct Depsgraph *depsgraph, struct Object *object) |
| void | BKE_object_eval_ptcache_reset (struct Depsgraph *depsgraph, struct Scene *scene, struct Object *object) |
| void | BKE_object_eval_transform_all (struct Depsgraph *depsgraph, struct Scene *scene, struct Object *object) |
| void | BKE_object_data_select_update (struct Depsgraph *depsgraph, struct ID *object_data) |
| void | BKE_object_select_update (struct Depsgraph *depsgraph, struct Object *object) |
| void | BKE_object_eval_eval_base_flags (struct Depsgraph *depsgraph, struct Scene *scene, const int view_layer_index, struct Object *object, int base_index, const bool is_from_set) |
| void | BKE_object_handle_data_update (struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob) |
| void | BKE_object_handle_update (struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob) |
| void | BKE_object_handle_update_ex (struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob, struct RigidBodyWorld *rbw, const bool do_proxy_update) |
| void | BKE_object_sculpt_data_create (struct Object *ob) |
| bool | BKE_object_obdata_texspace_get (struct Object *ob, short **r_texflag, float **r_loc, float **r_size) |
| struct Mesh * | BKE_object_get_evaluated_mesh (struct Object *object) |
| struct Mesh * | BKE_object_get_pre_modified_mesh (struct Object *object) |
| struct Mesh * | BKE_object_get_original_mesh (struct Object *object) |
| struct Lattice * | BKE_object_get_lattice (const struct Object *object) |
| struct Lattice * | BKE_object_get_evaluated_lattice (const struct Object *object) |
| int | BKE_object_insert_ptcache (struct Object *ob) |
| void | BKE_object_delete_ptcache (struct Object *ob, int index) |
| struct KeyBlock * | BKE_object_shapekey_insert (struct Main *bmain, struct Object *ob, const char *name, const bool from_mix) |
| bool | BKE_object_shapekey_remove (struct Main *bmain, struct Object *ob, struct KeyBlock *kb) |
| bool | BKE_object_shapekey_free (struct Main *bmain, struct Object *ob) |
| bool | BKE_object_flag_test_recursive (const struct Object *ob, short flag) |
| bool | BKE_object_is_child_recursive (const struct Object *ob_parent, const struct Object *ob_child) |
| int | BKE_object_is_modified (struct Scene *scene, struct Object *ob) |
| int | BKE_object_is_deform_modified (struct Scene *scene, struct Object *ob) |
| bool | BKE_object_moves_in_time (const struct Object *object, bool recurse_parent) |
| int | BKE_object_scenes_users_get (struct Main *bmain, struct Object *ob) |
| struct MovieClip * | BKE_object_movieclip_get (struct Scene *scene, struct Object *ob, bool use_default) |
| void | BKE_object_runtime_reset (struct Object *object) |
| void | BKE_object_runtime_reset_on_copy (struct Object *object, const int flag) |
| void | BKE_object_batch_cache_dirty_tag (struct Object *ob) |
| struct LinkNode * | BKE_object_relational_superset (struct ViewLayer *view_layer, eObjectSet objectSet, eObRelationTypes includeFilter) |
| struct LinkNode * | BKE_object_groups (struct Main *bmain, struct Scene *scene, struct Object *ob) |
| void | BKE_object_groups_clear (struct Main *bmain, struct Scene *scene, struct Object *object) |
| struct KDTree_3d * | BKE_object_as_kdtree (struct Object *ob, int *r_tot) |
| bool | BKE_object_modifier_use_time (struct Object *ob, struct ModifierData *md) |
| bool | BKE_object_modifier_update_subframe (struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob, bool update_mesh, int parent_recursion, float frame, int type) |
| bool | BKE_object_empty_image_frame_is_visible_in_view3d (const struct Object *ob, const struct RegionView3D *rv3d) |
| bool | BKE_object_empty_image_data_is_visible_in_view3d (const struct Object *ob, const struct RegionView3D *rv3d) |
| struct Mesh * | BKE_object_to_mesh (struct Depsgraph *depsgraph, struct Object *object, bool preserve_all_data_layers) |
| void | BKE_object_to_mesh_clear (struct Object *object) |
| struct Curve * | BKE_object_to_curve (struct Object *object, struct Depsgraph *depsgraph, bool apply_modifiers) |
| void | BKE_object_to_curve_clear (struct Object *object) |
| void | BKE_object_check_uuids_unique_and_report (const struct Object *object) |
| void | BKE_object_modifiers_lib_link_common (void *userData, struct Object *ob, struct ID **idpoin, int cb_flag) |
| struct PartEff * | BKE_object_do_version_give_parteff_245 (struct Object *ob) |
Variables | |
| struct Object | ATTR_RETURNS_NONNULL |
General operations, lookup, etc. for blender objects.
Definition in file BKE_object.h.
| typedef enum eObjectSet eObjectSet |
| typedef enum eObjectVisibilityResult eObjectVisibilityResult |
| typedef enum eObRelationTypes eObRelationTypes |
| typedef struct ObjectTfmProtectedChannels ObjectTfmProtectedChannels |
| enum eObjectSet |
| Enumerator | |
|---|---|
| OB_SET_SELECTED | |
| OB_SET_VISIBLE | |
| OB_SET_ALL | |
Definition at line 393 of file BKE_object.h.
| Enumerator | |
|---|---|
| OB_VISIBLE_SELF | |
| OB_VISIBLE_PARTICLES | |
| OB_VISIBLE_INSTANCES | |
| OB_VISIBLE_ALL | |
Definition at line 124 of file BKE_object.h.
| enum eObRelationTypes |
| Enumerator | |
|---|---|
| OB_REL_NONE | |
| OB_REL_PARENT | |
| OB_REL_PARENT_RECURSIVE | |
| OB_REL_CHILDREN | |
| OB_REL_CHILDREN_RECURSIVE | |
| OB_REL_MOD_ARMATURE | |
Definition at line 382 of file BKE_object.h.
| struct BoundBox* BKE_boundbox_alloc_unit | ( | void | ) |
Definition at line 3768 of file object.c.
References BKE_boundbox_init_from_minmax(), max, MEM_callocN, and min.
Referenced by gpencil_depth_plane(), gpencil_object_cache_add(), OVERLAY_bounds(), and view3d_orbit_calc_center().
Referenced by gpencil_depth_plane(), gpencil_object_cache_add(), and OVERLAY_bounds().
Definition at line 3778 of file object.c.
References max, min, and BoundBox::vec.
Referenced by BKE_boundbox_alloc_unit(), BKE_curve_boundbox_get(), BKE_editmesh_cage_boundbox_get(), BKE_hair_boundbox_get(), BKE_mball_texspace_calc(), BKE_mesh_boundbox_get(), BKE_object_boundbox_calc_from_mesh(), BKE_pointcloud_boundbox_get(), BKE_volume_boundbox_get(), boundbox_armature(), boundbox_displist_object(), boundbox_gpencil(), boundbox_lattice(), draw_frustum_boundbox_calc(), DRW_debug_m4_as_bbox(), ED_gpencil_projected_2d_bound_box(), eevee_lightprobes_culling_test(), OVERLAY_bounds(), sculpt_debug_cb(), SCULPT_update_object_bounding_box(), and workbench_shadow_object_shadow_bbox_get().
| void BKE_boundbox_minmax | ( | const struct BoundBox * | bb, |
| const float | obmat[4][4], | ||
| float | r_min[3], | ||
| float | r_max[3] | ||
| ) |
Referenced by BKE_pose_minmax().
| struct ModifierData* BKE_object_active_modifier | ( | const struct Object * | ob | ) |
| struct Object* BKE_object_add | ( | struct Main * | bmain, |
| struct ViewLayer * | view_layer, | ||
| int | type, | ||
| const char * | name | ||
| ) |
Referenced by add_hook_object_new(), Freestyle::BlenderStrokeRenderer::BlenderStrokeRenderer(), ED_object_add_type_with_obdata(), ED_object_modifier_convert(), Freestyle::BlenderStrokeRenderer::GenerateStrokeMesh(), get_new_constraint_target(), modifier_skin_armature_create(), object_preview_camera_create(), and txt_add_object().
| struct Object* BKE_object_add_for_data | ( | Main * | bmain, |
| ViewLayer * | view_layer, | ||
| int | type, | ||
| const char * | name, | ||
| ID * | data, | ||
| bool | do_id_user | ||
| ) |
Add a new object, but assign the given datablock as the ob->data for the newly created object.
| data | The datablock to assign as ob->data for the new object. This is assumed to be of the correct type. |
| do_id_user | If true, id_us_plus() will be called on data when assigning it to the object. |
Definition at line 2269 of file object.c.
References BKE_collection_object_add(), BKE_layer_collection_get_active(), BKE_object_add_only_object(), BKE_view_layer_base_deselect_all(), BKE_view_layer_base_find(), BKE_view_layer_base_select_and_set_active(), LayerCollection::collection, data, Object::data, DEG_id_tag_update_ex(), Object::id, ID_RECALC_ANIMATION, ID_RECALC_GEOMETRY, ID_RECALC_TRANSFORM, id_us_plus(), and type.
Referenced by ED_object_add_type_with_obdata(), and gpencil_convert_old_files_exec().
| struct Object* BKE_object_add_from | ( | struct Main * | bmain, |
| struct Scene * | scene, | ||
| struct ViewLayer * | view_layer, | ||
| int | type, | ||
| const char * | name, | ||
| struct Object * | ob_src | ||
| ) |
Referenced by make_proxy_exec().
More general add: creates minimum required data, but without vertices etc.
Definition at line 2193 of file object.c.
References BKE_libblock_alloc(), get_obdata_defname(), Object::id, ID_OB, id_us_min(), object_init(), and type.
Referenced by add_collections_to_scene(), add_loose_object_data_to_scene(), bc_add_object(), BKE_object_add_for_data(), gpencil_layer_to_curve(), Freestyle::BlenderStrokeRenderer::NewMesh(), object_add_common(), blender::io::alembic::AbcCameraReader::readObjectData(), blender::io::alembic::AbcCurveReader::readObjectData(), blender::io::alembic::AbcSubDReader::readObjectData(), blender::io::alembic::AbcNurbsReader::readObjectData(), blender::io::alembic::AbcPointsReader::readObjectData(), blender::io::alembic::AbcEmptyReader::readObjectData(), and blender::io::alembic::AbcMeshReader::readObjectData().
| void BKE_object_apply_mat4 | ( | Object * | ob, |
| const float | mat[4][4], | ||
| const bool | use_compat, | ||
| const bool | use_parent | ||
| ) |
XXX: should be removed after COW operators port to use BKE_object_apply_mat4_ex directly.
Definition at line 3754 of file object.c.
References BKE_object_apply_mat4_ex(), NULL, Object::parent, and Object::parentinv.
Referenced by applyarmature_fix_boneparents(), bc_match_scale(), BKE_object_make_proxy(), DocumentImporter::create_instance_node(), ED_object_parent_clear(), ED_object_parent_set(), ED_view3d_camera_lock_sync(), ED_view3d_camera_to_view_selected(), ignore_parent_tx(), SkinInfo::link_armature(), make_object_duplilist_real(), object_apply_location(), object_apply_mat4_with_protect(), object_apply_rotation(), object_track_clear_exec(), AnimationImporter::read_node_transform(), set_axis(), set_plane_exec(), blender::io::alembic::AbcObjectReader::setupObjectTransform(), and visual_transform_apply_exec().
| void BKE_object_apply_mat4_ex | ( | Object * | ob, |
| const float | mat[4][4], | ||
| Object * | parent, | ||
| const float | parentinv[4][4], | ||
| const bool | use_compat | ||
| ) |
Applies the global transformation mat to the ob using a relative parent space if supplied.
| mat | the global transformation mat that the object should be set object to. |
| parent | the parent space in which this object will be set relative to (should probably always be parent_eval). |
| use_compat | true to ensure that rotations are set using the min difference between the old and new orientation. |
Definition at line 3708 of file object.c.
References BKE_object_get_parent_matrix(), BKE_object_mat3_to_rot(), Object::dloc, Object::dscale, invert_m4_m4(), Object::loc, mat4_to_loc_rot_size(), mul_m4_m4m4(), NULL, rot, Object::scale, and sub_v3_v3().
Referenced by BKE_object_apply_mat4(), ED_mesh_join_objects_exec(), and ED_view3d_to_object().
| struct KDTree_3d* BKE_object_as_kdtree | ( | Object * | ob, |
| int * | r_tot | ||
| ) |
Return a KDTree_3d from the deformed object (in worldspace)
| ob | |
| r_tot |
Definition at line 5280 of file object.c.
References Freestyle::a, Nurb::bezt, BKE_nurbList_verts_count_without_handles(), Nurb::bp, CD_ORIGINDEX, MVert::co, CustomData_get_layer(), Object::data, Lattice::def, ListBase::first, Object_Runtime::mesh_deform_eval, mul_v3_m4v3(), Mesh::mvert, Nurb::next, NULL, Curve::nurb, OB_CURVE, OB_LATTICE, OB_MESH, OB_SURF, Object::obmat, ORIGINDEX_NONE, Nurb::pntsu, Lattice::pntsu, Nurb::pntsv, Lattice::pntsv, Lattice::pntsw, Object::runtime, Mesh::totvert, tree, Object::type, BezTriple::vec, and BPoint::vec.
Referenced by parent_set_vertex_parent().
| void BKE_object_batch_cache_dirty_tag | ( | struct Object * | ob | ) |
Definition at line 352 of file object_update.c.
References BKE_curve_batch_cache_dirty_tag(), BKE_CURVE_BATCH_DIRTY_ALL, BKE_gpencil_batch_cache_dirty_tag(), BKE_hair_batch_cache_dirty_tag(), BKE_HAIR_BATCH_DIRTY_ALL, BKE_lattice_batch_cache_dirty_tag(), BKE_LATTICE_BATCH_DIRTY_ALL, BKE_mball_batch_cache_dirty_tag(), BKE_MBALL_BATCH_DIRTY_ALL, BKE_mesh_batch_cache_dirty_tag(), BKE_MESH_BATCH_DIRTY_ALL, BKE_pointcloud_batch_cache_dirty_tag(), BKE_POINTCLOUD_BATCH_DIRTY_ALL, BKE_volume_batch_cache_dirty_tag(), BKE_VOLUME_BATCH_DIRTY_ALL, Object::data, OB_CURVE, OB_FONT, OB_GPENCIL, OB_HAIR, OB_LATTICE, OB_MBALL, OB_MESH, OB_POINTCLOUD, OB_SURF, OB_VOLUME, and Object::type.
Referenced by BKE_object_defgroup_new(), BKE_object_defgroup_remove(), BKE_object_eval_uber_data(), and object_origin_set_exec().
Definition at line 3873 of file object.c.
References Object_Runtime::bb, BKE_boundbox_init_from_minmax(), BKE_mesh_wrapper_minmax(), BOUNDBOX_DIRTY, BoundBox::flag, INIT_MINMAX, max, MEM_callocN, min, NULL, Object::runtime, and zero_v3().
Referenced by boundbox_displist_object(), editbmesh_build_data(), and mesh_build_data().
| void BKE_object_boundbox_flag | ( | Object * | ob, |
| int | flag, | ||
| const bool | set | ||
| ) |
Use this to temporally disable/enable bound-box.
Definition at line 3860 of file object.c.
References BKE_object_boundbox_get(), Lattice::flag, and BoundBox::flag.
Definition at line 3817 of file object.c.
References BKE_armature_boundbox_get(), BKE_curve_boundbox_get(), BKE_gpencil_boundbox_get(), BKE_hair_boundbox_get(), BKE_lattice_boundbox_get(), BKE_mball_boundbox_get(), BKE_mesh_boundbox_get(), BKE_pointcloud_boundbox_get(), BKE_volume_boundbox_get(), NULL, OB_ARMATURE, OB_CURVE, OB_FONT, OB_GPENCIL, OB_HAIR, OB_LATTICE, OB_MBALL, OB_MESH, OB_POINTCLOUD, OB_SURF, OB_VOLUME, and Object::type.
Referenced by BKE_object_boundbox_flag(), BKE_object_dimensions_get(), BKE_object_dimensions_set_ex(), BKE_object_minmax_dupli(), BKE_pose_minmax(), cursor_draw_tiling_preview(), do_tiled(), drw_call_culling_init(), ED_transform_calc_gizmo_stats(), EEVEE_shadows_caster_register(), gpencil_depth_plane(), gpencil_object_cache_add(), object_sync_boundbox_to_original(), OVERLAY_bounds(), RE_point_density_minmax(), select_id_object_min_max(), TargetSnapClosest(), blender::io::alembic::ABCAbstractWriter::update_bounding_box(), and workbench_shadow_object_shadow_bbox_get().
| void BKE_object_check_uuids_unique_and_report | ( | const struct Object * | object | ) |
| bool BKE_object_copy_gpencil_modifier | ( | struct Object * | ob_dst, |
| GpencilModifierData * | gmd_src | ||
| ) |
Copy a single GPencil modifier.
BKE_object_modifier_stack_copy instead. Definition at line 1512 of file object.c.
References BKE_gpencil_modifier_get_info(), BKE_gpencil_modifier_new(), BKE_gpencil_modifier_unique_name(), BLI_addtail(), BLI_assert, BLI_strncpy(), GpencilModifierTypeInfo::copyData, Object::greasepencil_modifiers, GpencilModifierData::name, OB_GPENCIL, GpencilModifierData::type, and Object::type.
Referenced by ED_object_gpencil_modifier_copy_to_object(), and gpencil_modifier_copy_to_selected_exec().
| bool BKE_object_copy_modifier | ( | struct Main * | bmain, |
| struct Scene * | scene, | ||
| struct Object * | ob_dst, | ||
| const struct Object * | ob_src, | ||
| struct ModifierData * | md | ||
| ) |
Referenced by ED_object_modifier_copy_to_object(), and modifier_copy_to_selected_exec().
| struct ParticleSystem* BKE_object_copy_particlesystem | ( | struct ParticleSystem * | psys, |
| const int | flag | ||
| ) |
Definition at line 2349 of file object.c.
References ParticleSystem::batch_cache, BKE_modifier_copydata_ex(), BKE_modifier_new(), BKE_ptcache_copy_list(), BLI_assert, BLI_duplicatelist(), BLI_listbase_clear(), ParticleSystem::bvhtree, ParticleSystem::childcache, ParticleSystem::childcachebufs, ParticleSystem::clmd, ParticleSystem::edit, ParticleSystem::effectors, eModifierType_Cloth, ParticleSystem::flag, ParticleSystem::hair_in_mesh, ParticleSystem::hair_out_mesh, id_us_plus(), LIB_ID_CREATE_NO_MAIN, LIB_ID_CREATE_NO_USER_REFCOUNT, MEM_dupallocN, NULL, ParticleSystem::part, ParticleSystem::pathcache, ParticleSystem::pathcachebufs, ParticleSystem::pdd, ClothModifierData::point_cache, ParticleSystem::pointcache, psys_copy_particles(), PSYS_SHARED_CACHES, ParticleSystem::ptcaches, ParticleSystem::targets, and ParticleSystem::tree.
Referenced by BKE_object_copy_particlesystems(), and copy_particle_systems_to_object().
| void BKE_object_copy_particlesystems | ( | struct Object * | ob_dst, |
| const struct Object * | ob_src, | ||
| const int | flag | ||
| ) |
Definition at line 2838 of file object.c.
References Object::adt, BKE_animdata_add_id(), BKE_fcurves_copy(), BKE_fcurves_free(), FCurve::driver, DRIVER_TARGETS_LOOPER_BEGIN, DRIVER_TARGETS_LOOPER_END, AnimData::drivers, ListBase::first, Object::id, ID_IS_LINKED, id_lib_extern(), DriverVar::next, FCurve::next, and ChannelDriver::variables.
Referenced by BKE_object_make_proxy(), and BKE_pose_rebuild().
| void BKE_object_copy_softbody | ( | struct Object * | ob_dst, |
| const struct Object * | ob_src, | ||
| const int | flag | ||
| ) |
| char* BKE_object_data_editmode_flush_ptr_get | ( | struct ID * | id | ) |
Definition at line 1893 of file object.c.
References BLI_assert_unreachable, GS, id, ID_AR, ID_CU, ID_LT, ID_MB, ID_ME, ID::name, BMEditMesh::needs_flush_to_id, EditFont::needs_flush_to_id, bArmature::needs_flush_to_id, EditNurb::needs_flush_to_id, EditLatt::needs_flush_to_id, MetaBall::needs_flush_to_id, NULL, and type.
Referenced by ED_editors_flush_edits_for_object_ex(), and ED_object_editmode_load_free_ex().
| bool BKE_object_data_is_in_editmode | ( | const struct ID * | id | ) |
Referenced by is_object_data_in_editmode().
Definition at line 412 of file object_update.c.
References BKE_curve_batch_cache_dirty_tag(), BKE_CURVE_BATCH_DIRTY_SELECT, BKE_lattice_batch_cache_dirty_tag(), BKE_LATTICE_BATCH_DIRTY_SELECT, BKE_mesh_batch_cache_dirty_tag(), BKE_MESH_BATCH_DIRTY_SELECT, DEG_debug_print_eval(), depsgraph, GS, ID_CU, ID_LT, ID_ME, and ID::name.
Referenced by BKE_object_select_update(), and blender::deg::DepsgraphNodeBuilder::build_object_data_geometry_datablock().
| void BKE_object_delete_ptcache | ( | struct Object * | ob, |
| int | index | ||
| ) |
Definition at line 4598 of file object.c.
References BLI_findlink(), BLI_freelinkN(), pc_findindex(), and Object::pc_ids.
Referenced by BKE_ptcache_toggle_disk_cache().
Definition at line 3901 of file object.c.
References BKE_object_boundbox_get(), fabsf, mat4_to_size(), Object::obmat, BoundBox::vec, and zero_v3().
Referenced by DRW_object_is_flat(), v3d_object_dimension_buts(), workbench_volume_modifier_cache_populate(), and workbench_volume_object_cache_populate().
Definition at line 3959 of file object.c.
References BKE_object_dimensions_set_ex(), and NULL.
| void BKE_object_dimensions_set_ex | ( | Object * | ob, |
| const float | value[3], | ||
| int | axis_mask, | ||
| const float | ob_scale_orig[3], | ||
| const float | ob_obmat_orig[4][4] | ||
| ) |
The original scale and object matrix can be passed in so any difference of the objects matrix and the final matrix can be accounted for, typically this caused by parenting, constraints or delta-scale.
Re-using these values from the object causes a feedback loop when multiple values are modified at once in some situations. see: T69536.
Definition at line 3926 of file object.c.
References BKE_object_boundbox_get(), copysignf, CCL_NAMESPACE_BEGIN::isfinite(), len, len_v3(), NULL, Object::scale, and BoundBox::vec.
Referenced by BKE_object_dimensions_set(), and v3d_object_dimension_buts().
Definition at line 1024 of file object.c.
References EFF_PARTICLE, PartEff::next, NULL, and PartEff::type.
Referenced by blo_do_versions_pre250(), and object_blend_read_expand().
| struct Object* BKE_object_duplicate | ( | struct Main * | bmain, |
| struct Object * | ob, | ||
| uint | dupflag, | ||
| const uint | duplicate_options | ||
| ) |
Referenced by collection_duplicate_recursive(), and object_add_duplicate_internal().
| void BKE_object_empty_draw_type_set | ( | struct Object * | ob, |
| const int | value | ||
| ) |
Definition at line 4061 of file object.c.
References Object::empty_drawtype, ImageUser::flag, ImageUser::frames, IMA_ANIM_ALWAYS, Object::iuser, MEM_callocN, MEM_freeN, NULL, OB_EMPTY, OB_EMPTY_IMAGE, ImageUser::ok, ImageUser::sfra, and Object::type.
Referenced by empty_drop_named_image_invoke(), object_blend_read_data(), and object_empty_add_exec().
| bool BKE_object_empty_image_data_is_visible_in_view3d | ( | const struct Object * | ob, |
| const struct RegionView3D * | rv3d | ||
| ) |
Referenced by OVERLAY_image_empty_cache_populate().
| bool BKE_object_empty_image_frame_is_visible_in_view3d | ( | const struct Object * | ob, |
| const struct RegionView3D * | rv3d | ||
| ) |
Assign Object.data after modifier stack evaluation.
Definition at line 1687 of file object.c.
References BLI_assert, data, Object::data, Object_Runtime::data_eval, Object_Runtime::geometry_set_eval, GS, Object::id, Object_Runtime::is_data_eval_owned, LIB_TAG_COPIED_ON_WRITE, LIB_TAG_COPIED_ON_WRITE_EVAL_RESULT, LIB_TAG_NO_MAIN, ID::name, NULL, Object::runtime, and ID::tag.
Referenced by BKE_displist_make_curveTypes(), BKE_hair_data_update(), BKE_lattice_modifiers_calc(), BKE_pointcloud_data_update(), BKE_volume_data_update(), and mesh_build_data().
| void BKE_object_eval_constraints | ( | struct Depsgraph * | depsgraph, |
| struct Scene * | scene, | ||
| struct Object * | ob | ||
| ) |
Definition at line 123 of file object_update.c.
References BKE_constraints_clear_evalob(), BKE_constraints_make_evalob(), BKE_constraints_solve(), BKE_scene_frame_get(), CONSTRAINT_OBTYPE_OBJECT, Object::constraints, DEG_debug_print_eval(), depsgraph, Object::id, ID::name, NULL, and scene.
Referenced by BKE_object_eval_transform_all(), and force_evaluation_if_constraint_disabled().
| void BKE_object_eval_eval_base_flags | ( | struct Depsgraph * | depsgraph, |
| struct Scene * | scene, | ||
| const int | view_layer_index, | ||
| struct Object * | object, | ||
| int | base_index, | ||
| const bool | is_from_set | ||
| ) |
Definition at line 446 of file object_update.c.
References BASE_ENABLED_RENDER, BASE_FROM_SET, Base::base_orig, BASE_SELECTABLE, BASE_SELECTED, BASE_VISIBLE_DEPSGRAPH, BKE_base_eval_flags(), BKE_particle_batch_cache_dirty_tag(), BKE_PARTICLE_BATCH_DIRTY_ALL, BLI_assert, BLI_findlink(), DAG_EVAL_RENDER, DEG_debug_print_eval(), DEG_get_evaluated_view_layer(), DEG_get_mode(), DEG_is_active(), depsgraph, ListBase::first, Base::flag, Object::id, Base::local_collections_bits, Base::local_view_bits, MEM_allocN_len, Object::mode, ID::name, NULL, OB_MODE_PARTICLE_EDIT, Base::object, ViewLayer::object_bases_array, Object::particlesystem, scene, and Scene::view_layers.
Definition at line 83 of file object_update.c.
References BKE_object_to_mat4(), DEG_debug_print_eval(), depsgraph, Object::id, ID::name, and Object::obmat.
Referenced by BKE_object_eval_transform_all().
Definition at line 93 of file object_update.c.
References BKE_object_get_parent_matrix(), copy_m4_m4(), copy_v3_v3(), DEG_debug_print_eval(), depsgraph, Object::id, mul_m4_m4m4(), ID::name, Object::obmat, Object::parent, Object_Runtime::parent_display_origin, Object::parentinv, PARSKEL, Object::partype, PARTYPE, and Object::runtime.
Referenced by BKE_object_eval_transform_all().
Definition at line 323 of file object_update.c.
References add_v3_v3(), copy_m4_m4(), DEG_debug_print_eval(), depsgraph, Object::id, ID_IS_LINKED, Object::instance_collection, Collection::instance_offset, invert_m4_m4(), mul_m4_m4m4(), ID::name, Object::obmat, Object::proxy_from, and Object::proxy_group.
Referenced by BKE_object_eval_uber_transform(), and BKE_object_handle_update_ex().
| void BKE_object_eval_ptcache_reset | ( | struct Depsgraph * | depsgraph, |
| struct Scene * | scene, | ||
| struct Object * | object | ||
| ) |
Definition at line 392 of file object_update.c.
References BKE_ptcache_object_reset(), DEG_debug_print_eval(), depsgraph, Object::id, ID::name, PTCACHE_RESET_DEPSGRAPH, and scene.
| void BKE_object_eval_reset | ( | Object * | ob_eval | ) |
Restore the object->data to a non-modifier evaluated state.
Some changes done directly in evaluated object require them to be reset before being re-evaluated. For example, we need to call this before BKE_mesh_new_from_object(), in case we removed/added modifiers in the evaluated object.
Definition at line 78 of file object_update.c.
References BKE_object_free_derived_caches().
Referenced by bake(), and object_force_modifier_update_for_bind().
| void BKE_object_eval_transform_all | ( | struct Depsgraph * | depsgraph, |
| struct Scene * | scene, | ||
| struct Object * | object | ||
| ) |
Definition at line 398 of file object_update.c.
References BKE_object_eval_constraints(), BKE_object_eval_local_transform(), BKE_object_eval_parent(), BKE_object_eval_transform_final(), BKE_object_eval_uber_transform(), BLI_listbase_is_empty(), Object::constraints, depsgraph, NULL, Object::parent, and scene.
Referenced by applyGridAbsolute(), applyProject(), and ignore_parent_tx().
Definition at line 144 of file object_update.c.
References Object::data, DEG_debug_print_eval(), depsgraph, Object_Runtime::gpd_eval, Object::id, Object::imat, invert_m4_m4_safe(), is_negative_m4(), ID::name, NULL, OB_GPENCIL, OB_NEG_SCALE, Object::obmat, Object::runtime, Object::transflag, and Object::type.
Referenced by BKE_object_eval_transform_all().
| void BKE_object_eval_uber_data | ( | struct Depsgraph * | depsgraph, |
| struct Scene * | scene, | ||
| struct Object * | ob | ||
| ) |
Definition at line 384 of file object_update.c.
References BKE_object_batch_cache_dirty_tag(), BKE_object_handle_data_update(), BLI_assert, DEG_debug_print_eval(), depsgraph, Object::id, ID::name, OB_ARMATURE, scene, and Object::type.
Definition at line 347 of file object_update.c.
References BKE_object_eval_proxy_copy(), and depsgraph.
Referenced by BKE_object_eval_transform_all().
Referenced by test_constraint().
| bool BKE_object_flag_test_recursive | ( | const struct Object * | ob, |
| short | flag | ||
| ) |
Referenced by snap_selected_to_location().
| void BKE_object_foreach_display_point | ( | struct Object * | ob, |
| const float | obmat[4][4], | ||
| void(*)(const float[3], void *) | func_cb, | ||
| void * | user_data | ||
| ) |
Definition at line 4176 of file object.c.
References BKE_object_get_evaluated_mesh(), Object_Runtime::curve_cache, CurveCache::disp, ListBase::first, mul_v3_m4v3(), Mesh::mvert, DispList::next, DispList::nr, NULL, Object::runtime, Mesh::totvert, user_data, and DispList::verts.
Referenced by BKE_scene_foreach_display_point().
| void BKE_object_free_caches | ( | struct Object * | object | ) |
Definition at line 1770 of file object.c.
References Object::base_flag, BASE_FROM_DUPLI, BKE_id_free(), BKE_object_free_derived_caches(), DEG_id_tag_update(), ParticleSystem::edit, eModifierType_ParticleSystem, eParticleSystemFlag_file_loaded, ListBase::first, ParticleSystemModifierData::flag, Object::id, ID_RECALC_GEOMETRY, ID_RECALC_PSYS_REDO, LISTBASE_FOREACH, ParticleSystemModifierData::mesh_final, ParticleSystemModifierData::mesh_original, Object::modifiers, ParticleSystem::next, NULL, Object::particlesystem, and psys_free_path_cache().
| void BKE_object_free_curve_cache | ( | struct Object * | ob | ) |
Definition at line 1186 of file object.c.
References CurveCache::anim_path_accum_length, CurveCache::bev, BKE_curve_bevelList_free(), BKE_displist_free(), BKE_nurbList_free(), Object_Runtime::curve_cache, CurveCache::deformed_nurbs, CurveCache::disp, MEM_freeN, NULL, and Object::runtime.
Referenced by BKE_object_free_derived_caches(), and object_convert_exec().
| void BKE_object_free_derived_caches | ( | Object * | ob | ) |
Free data derived from mesh, called when mesh changes or is freed.
Definition at line 1719 of file object.c.
References Object_Runtime::bb, BKE_geometry_set_free(), BKE_gpencil_eval_delete(), BKE_libblock_free_datablock(), BKE_mesh_eval_delete(), BKE_object_free_curve_cache(), BKE_object_to_curve_clear(), BKE_object_to_mesh_clear(), BLI_ghash_free(), Object::data, Object_Runtime::data_eval, Object_Runtime::data_orig, Object_Runtime::geometry_set_eval, Object_Runtime::geometry_set_previews, Object_Runtime::gpd_eval, GS, ID_ME, Object_Runtime::is_data_eval_owned, MEM_freeN, MEM_SAFE_FREE, Object_Runtime::mesh_deform_eval, ID::name, NULL, object_update_from_subsurf_ccg(), and Object::runtime.
Referenced by BKE_displist_make_curveTypes(), BKE_hair_data_update(), BKE_lattice_modifiers_calc(), BKE_mesh_to_curve(), BKE_mesh_to_pointcloud(), BKE_object_eval_reset(), BKE_object_free_caches(), BKE_object_free_modifiers(), BKE_pointcloud_data_update(), BKE_pointcloud_to_mesh(), BKE_sculptsession_bm_to_me_for_render(), BKE_volume_data_update(), clean_viewport_memory_base(), ED_mesh_join_objects_exec(), ED_object_modifier_apply(), ED_object_sculptmode_exit_ex(), ed_vwpaintmode_enter_generic(), ed_vwpaintmode_exit_generic(), EDBM_mesh_load_ex(), editbmesh_build_data(), gpencil_object_modifier_remove(), mesh_build_data(), object_modifier_remove(), object_shaderfx_remove(), blender::deg::ObjectRuntimeBackup::restore_to_object(), and SCULPT_pbvh_clear().
| void BKE_object_free_modifiers | ( | struct Object * | ob, |
| const int | flag | ||
| ) |
Definition at line 1200 of file object.c.
References BKE_gpencil_modifier_free_ex(), BKE_modifier_free_ex(), BKE_object_free_derived_caches(), BKE_object_free_particlesystems(), BKE_object_free_softbody(), BLI_pophead(), Object::greasepencil_modifiers, and Object::modifiers.
Referenced by BKE_object_link_modifiers(), object_convert_exec(), object_data_convert_curve_to_mesh(), object_for_curve_to_mesh_create(), and object_free_data().
| void BKE_object_free_particlesystems | ( | struct Object * | ob | ) |
Definition at line 1172 of file object.c.
References BLI_pophead(), Object::particlesystem, and psys_free().
Referenced by BKE_object_free_modifiers(), and remove_particle_systems_from_object().
| void BKE_object_free_shaderfx | ( | struct Object * | ob, |
| const int | flag | ||
| ) |
Definition at line 1222 of file object.c.
References BKE_shaderfx_free_ex(), BLI_pophead(), and Object::shader_fx.
Referenced by object_convert_exec(), and object_free_data().
| void BKE_object_free_softbody | ( | struct Object * | ob | ) |
Definition at line 1181 of file object.c.
References sbFree().
Referenced by BKE_object_free_modifiers().
Referenced by BKE_lattice_modifiers_calc().
Get evaluated mesh for given object.
Definition at line 4459 of file object.c.
References GS, ID_ME, ID::name, and NULL.
Referenced by BKE_effectors_create(), BKE_gpencil_convert_mesh(), BKE_modifier_get_evaluated_mesh_from_evaluated_object(), BKE_object_foreach_display_point(), BKE_sculpt_update_object_after_eval(), BKE_sculpt_update_object_for_edit(), boundbox_displist_object(), contarget_get_mesh_mat(), DRW_batch_cache_free_old(), drw_batch_cache_generate_requested(), drw_batch_cache_validate(), DRW_cache_curve_edge_detection_get(), DRW_cache_curve_edge_wire_get(), DRW_cache_curve_face_wireframe_get(), DRW_cache_curve_loose_edges_get(), DRW_cache_curve_surface_get(), DRW_cache_curve_surface_shaded_get(), DRW_cache_object_material_count_get(), DRW_cache_object_pos_vertbuf_get(), DRW_cache_surf_edge_detection_get(), DRW_cache_surf_edge_wire_get(), DRW_cache_surf_face_wireframe_get(), DRW_cache_surf_loose_edges_get(), DRW_cache_surf_surface_get(), DRW_cache_surf_surface_shaded_get(), DRW_cache_text_edge_detection_get(), DRW_cache_text_edge_wire_get(), DRW_cache_text_face_wireframe_get(), DRW_cache_text_loose_edges_get(), DRW_cache_text_surface_get(), DRW_cache_text_surface_shaded_get(), ED_draw_object_facemap(), followtrack_project_to_depth_object_if_needed(), get_effector_data(), get_effector_tot(), blender::io::alembic::ABCCurveMeshWriter::get_export_mesh(), blender::io::alembic::ABCMetaballWriter::get_export_mesh(), blender::io::alembic::ABCMeshWriter::get_export_mesh(), blender::io::usd::USDMeshWriter::get_export_mesh(), blender::io::usd::USDMetaballWriter::get_export_mesh(), give_parvert(), knifeproject_poly_from_object(), mesh_data_from_duplicator_object(), mesh_get_eval_final(), object_update_from_subsurf_ccg(), paintvert_flush_flags(), PE_create_shape_tree(), raycast_obj_fn(), shrinkwrap_get_tarmat(), snap_obj_fn(), stats_object(), and vertex_paint_use_fast_update_check().
Referenced by BKE_lattice_deform_data_create(), BKE_lattice_deform_verts_get(), and BKE_lattice_modifiers_calc().
Get a mesh which corresponds to very very original mesh from Main.
Definition at line 4493 of file object.c.
References BLI_assert, Object::id, LIB_TAG_COPIED_ON_WRITE, LIB_TAG_COPIED_ON_WRITE_EVAL_RESULT, NULL, ID::orig_id, result, and ID::tag.
Referenced by BKE_sculpt_color_layer_create_if_needed(), build_pbvh_from_regular_mesh(), SCULPT_geodesic_fallback_create(), SCULPT_geodesic_mesh_create(), sculpt_undo_face_sets_push(), sculpt_undo_restore_face_sets(), sculpt_update_object(), and SCULPT_visibility_sync_all_face_sets_to_vertices().
| void BKE_object_get_parent_matrix | ( | struct Object * | ob, |
| struct Object * | par, | ||
| float | r_parentmat[4][4] | ||
| ) |
Definition at line 3494 of file object.c.
References copy_m4_m4(), CU_PATH, Object::data, give_parvert(), mul_m4_m4m4(), mul_v3_m4v3(), OB_CURVE, ob_parbone(), ob_parcurve(), ob_parvert3(), Object::obmat, Object::par1, PARBONE, PAROBJECT, PARSKEL, Object::partype, PARTYPE, PARVERT1, PARVERT3, Object::type, and unit_m4().
Referenced by ABC_get_transform(), BKE_object_apply_mat4_ex(), BKE_object_eval_parent(), BKE_object_matrix_local_get(), snap_selected_to_location(), and solve_parenting().
Get mesh which is not affected by modifiers:
object->data, and it is a mesh which is in the corresponding Main.Definition at line 4472 of file object.c.
References BLI_assert, Object_Runtime::data_orig, Object::id, LIB_TAG_COPIED_ON_WRITE, LIB_TAG_COPIED_ON_WRITE_EVAL_RESULT, NULL, OB_MESH, ID::orig_id, result, Object::runtime, ID::tag, and Object::type.
Referenced by MOD_deform_mesh_eval_get().
return all groups this object is a part of, caller must free.
Definition at line 5251 of file object.c.
References BKE_collection_object_find(), BLI_linklist_prepend(), NULL, and scene.
Referenced by make_links_data_exec().
Definition at line 5262 of file object.c.
References BKE_collection_object_find(), BKE_collection_object_remove(), DEG_id_tag_update(), Collection::id, ID_RECALC_COPY_ON_WRITE, NULL, and scene.
Referenced by collection_objects_remove_all_exec(), and make_links_data_exec().
| void BKE_object_handle_data_update | ( | struct Depsgraph * | depsgraph, |
| struct Scene * | scene, | ||
| struct Object * | ob | ||
| ) |
Definition at line 164 of file object_update.c.
References BKE_displist_make_curveTypes(), BKE_displist_make_mball(), BKE_editmesh_from_object(), BKE_gpencil_modifiers_calc(), BKE_gpencil_prepare_eval_data(), BKE_gpencil_update_layer_transforms(), BKE_hair_data_update(), BKE_lattice_modifiers_calc(), BKE_pointcloud_data_update(), BKE_pose_copy_result(), BKE_pose_where_is(), BKE_volume_data_update(), BLI_remlink(), CD_MASK_BAREMESH, CD_MASK_FREESTYLE_EDGE, CD_MASK_FREESTYLE_FACE, CD_MASK_MDEFORMVERT, CD_MASK_MLOOPCOL, CD_MASK_MLOOPUV, CD_MASK_ORCO, CD_MASK_PROP_ALL, CD_MASK_PROP_COLOR, Scene::customdata_mask, CustomData_MeshMasks_update(), DAG_EVAL_RENDER, Object::data, DEG_debug_print_eval(), DEG_get_mode(), depsgraph, ParticleSettings::draw_as, CustomData_MeshMasks::emask, ListBase::first, ParticleSystem::flag, CustomData_MeshMasks::fmask, Object::id, ID_IS_LINKED, ParticleSettings::instance_collection, ParticleSettings::instance_object, CustomData_MeshMasks::lmask, makeDerivedMesh(), Object::mode, ID::name, ParticleSystem::next, NULL, OB_ARMATURE, OB_CURVE, OB_DUPLIPARTS, OB_FONT, OB_GPENCIL, OB_HAIR, OB_LATTICE, OB_MBALL, OB_MESH, OB_MODE_EDIT, OB_POINTCLOUD, OB_SURF, OB_VOLUME, ParticleSystem::part, PART_DRAW_GR, PART_DRAW_OB, PART_DRAW_REND, particle_system_update(), Object::particlesystem, CustomData_MeshMasks::pmask, Object::pose, Object::proxy_from, psys_check_enabled(), PSYS_DELETE, psys_free(), ParticleSettings::ren_as, scene, Object::transflag, Object::type, and CustomData_MeshMasks::vmask.
Referenced by bake(), BKE_object_eval_uber_data(), and BKE_object_handle_update_ex().
Definition at line 4401 of file object.c.
References BKE_object_handle_update_ex(), depsgraph, NULL, and scene.
Referenced by BKE_object_modifier_update_subframe(), and object_handle_update_proxy().
| void BKE_object_handle_update_ex | ( | Depsgraph * | depsgraph, |
| Scene * | scene, | ||
| Object * | ob, | ||
| RigidBodyWorld * | rbw, | ||
| const bool | do_proxy_update | ||
| ) |
Proxy rule:
Function below is polluted with proxy exceptions, cleanup will follow!
The main object update call, for object matrix, constraints, keys and displist (modifiers) requires flags to be set!
Ideally we shouldn't have to pass the rigid body world, but need bigger restructuring to avoid id.
Definition at line 4341 of file object.c.
References BKE_object_eval_proxy_copy(), BKE_object_handle_data_update(), BKE_object_where_is_calc_ex(), BKE_pose_channels_hash_make(), BKE_pose_rebuild(), BKE_pose_update_constraint_flags(), Object::data, depsgraph, bPose::flag, G, G_DEBUG_DEPSGRAPH_EVAL, Object::id, ID_RECALC_ALL, ID::name, NULL, OB_ARMATURE, object_handle_update_proxy(), Object::pose, POSE_CONSTRAINTS_NEED_UPDATE_FLAGS, POSE_RECALC, ID::recalc, scene, and Object::type.
Referenced by BKE_object_handle_update().
| bool BKE_object_has_mode_data | ( | const struct Object * | ob, |
| eObjectMode | object_mode | ||
| ) |
Definition at line 1952 of file object.c.
References BKE_object_is_in_editmode(), SculptSession::mode_type, NULL, OB_MODE_EDIT, OB_MODE_POSE, OB_MODE_SCULPT, OB_MODE_VERTEX_PAINT, OB_MODE_WEIGHT_PAINT, Object::pose, and Object::sculpt.
Referenced by ED_editors_init().
| int BKE_object_insert_ptcache | ( | struct Object * | ob | ) |
Definition at line 4555 of file object.c.
References BLI_addtail(), BLI_listbase_sort(), LinkData::data, ListBase::first, MEM_callocN, LinkData::next, NULL, pc_cmp(), Object::pc_ids, POINTER_AS_INT, and POINTER_FROM_INT.
Referenced by ptcache_filename_ext_append().
Test if object is affected by deforming modifiers (for motion blur). again most important is to avoid false positives, this is to skip computations and we can still if there was actual deformation afterwards.
Definition at line 5018 of file object.c.
References BKE_key_from_object(), BKE_modifier_get_info(), BKE_modifier_is_enabled(), BKE_modifiers_get_virtual_modifierlist(), constructive_modifier_is_deform_modified(), Object::data, DEG_get_original_object(), eModifierMode_Realtime, eModifierMode_Render, eModifierTypeType_OnlyDeform, if(), modifiers_has_animation_check(), ModifierData::next, NULL, OB_CURVE, object_deforms_in_time(), scene, Curve::taperobj, ModifierTypeInfo::type, ModifierData::type, and Object::type.
Referenced by EEVEE_motion_blur_cache_populate().
| bool BKE_object_is_in_editmode | ( | const struct Object * | ob | ) |
Referenced by armature_undosys_step_decode(), BKE_object_facemap_remove(), createTransObject(), curve_undosys_step_decode(), do_outliner_item_editmode_toggle(), DRW_object_is_in_edit_mode(), ED_armature_edit_select_pick_bone(), ED_armature_origin_set(), ED_object_editmode_enter_ex(), ed_object_mode_generic_exit_ex(), ED_object_modifier_apply(), ED_view3d_viewcontext_init_object(), ED_wpaint_ensure_data(), foreach_libblock_remap_callback(), knifeproject_exec(), lattice_undosys_step_decode(), material_slot_remove_unused_exec(), mball_undosys_step_decode(), mesh_undosys_step_decode(), object_array_for_shading_edit_mode_disabled_filter(), object_array_for_shading_edit_mode_enabled_filter(), object_convert_poll(), object_facemap_remap(), object_remesh_poll(), outliner_object_delete_fn(), raycast_obj_fn(), snap_obj_fn(), snapArmature(), and snapCurve().
| bool BKE_object_is_in_editmode_vgroup | ( | const struct Object * | ob | ) |
| bool BKE_object_is_in_wpaint_select_vert | ( | const struct Object * | ob | ) |
| bool BKE_object_is_libdata | ( | const struct Object * | ob | ) |
| bool BKE_object_is_mode_compat | ( | const struct Object * | ob, |
| eObjectMode | object_mode | ||
| ) |
Definition at line 1982 of file object.c.
References Object::mode.
Referenced by drw_select_filter_object_mode_lock(), ed_object_select_pick(), and tree_element_object_activate().
Most important if this is modified it should always return true, in certain cases false positives are hard to avoid (shape keys for example).
Definition at line 4869 of file object.c.
References BKE_key_from_object(), BKE_modifier_is_enabled(), BKE_modifiers_get_virtual_modifierlist(), DEG_get_original_object(), eModifierMode_Realtime, eModifierMode_Render, ModifierData::next, and scene.
Referenced by motion_blur_deform_data_get().
Referenced by ED_object_modifier_link(), and make_links_data_exec().
Proxy rule:
Definition at line 2885 of file object.c.
References Object::actcol, armature_set_id_extern(), BKE_defgroup_copy_list(), BKE_object_apply_mat4(), BKE_object_copy_proxy_drivers(), BKE_object_transform_copy(), BKE_pose_rebuild(), BKE_pose_rest(), CLOG_ERROR, copy_m4_m4(), copy_object_pose(), Object::data, Object::defbase, DEG_id_tag_update(), Object::dt, Object::empty_drawsize, Object::empty_drawtype, Object::id, ID_IS_LINKED, ID_RECALC_ANIMATION, ID_RECALC_GEOMETRY, ID_RECALC_TRANSFORM, id_us_plus(), IDP_CopyProperty(), IDP_FreeProperty(), Object::instance_collection, Collection::instance_offset, LOG, Object::mat, Object::matbits, MEM_dupallocN, MEM_freeN, mul_m4_m4m4(), mul_v3_mat3_m4v3(), NULL, OB_ARMATURE, OB_EMPTY, OB_TYPE_SUPPORT_MATERIAL, Object::obmat, Object::parent, Object::parentinv, Object::pose, ID::properties, Object::proxy, Object::proxy_group, Object::rotmode, sub_v3_v3(), Object::totcol, and Object::type.
Referenced by make_proxy_exec().
Definition at line 3085 of file object.c.
References axis_angle_to_quat(), BLI_ASSERT_UNIT_M3, Object::dquat, Object::drot, Object::drotAngle, Object::drotAxis, eulO_to_quat(), invert_qt_normalized(), mat3_normalized_to_quat(), mul_qt_qtqt(), normalize_qt_qt(), Object::quat, quat_to_axis_angle(), quat_to_compatible_eulO(), quat_to_eulO(), Object::rot, ROT_MODE_AXISANGLE, ROT_MODE_QUAT, Object::rotAngle, Object::rotAxis, and Object::rotmode.
Referenced by BKE_object_apply_mat4_ex(), and ObjectToTransData().
Definition at line 3245 of file object.c.
References BKE_object_get_parent_matrix(), copy_m4_m4(), invert_m4(), mul_m4_m4m4(), Object::obmat, and Object::parent.
Referenced by TransformWriter::add_node_transform_ob(), and BCMatrix::set_transform().
| void BKE_object_minmax | ( | struct Object * | ob, |
| float | r_min[3], | ||
| float | r_max[3], | ||
| const bool | use_hidden | ||
| ) |
Definition at line 3964 of file object.c.
References add_v3_v3(), BKE_boundbox_minmax(), BKE_curve_boundbox_get(), BKE_gpencil_boundbox_get(), BKE_hair_boundbox_get(), BKE_mball_minmax_ex(), BKE_mesh_boundbox_get(), BKE_pointcloud_boundbox_get(), BKE_pose_minmax(), BKE_volume_boundbox_get(), copy_v3_v3(), Object::data, Lattice::def, Object::empty_drawsize, minmax_v3v3_v3(), mul_v3_fl(), mul_v3_m4v3(), OB_ARMATURE, OB_CURVE, OB_EMPTY, OB_FONT, OB_GPENCIL, OB_HAIR, OB_LATTICE, OB_MBALL, OB_MESH, OB_POINTCLOUD, OB_SURF, OB_VOLUME, Object::obmat, Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, Object::scale, size(), sub_v3_v3(), Object::type, v, BPoint::vec, and w().
Referenced by clampto_evaluate(), PE_minmax(), view3d_localview_init(), and view3d_object_calc_minmax().
| bool BKE_object_minmax_dupli | ( | struct Depsgraph * | depsgraph, |
| struct Scene * | scene, | ||
| struct Object * | ob, | ||
| float | r_min[3], | ||
| float | r_max[3], | ||
| const bool | use_hidden | ||
| ) |
Definition at line 4138 of file object.c.
References BKE_object_boundbox_get(), depsgraph, ListBase::first, free_object_duplilist(), Object_Runtime::geometry_set_eval, DupliObject::mat, minmax_v3v3_v3(), mul_v3_m4v3(), DupliObject::next, DupliObject::no_draw, NULL, DupliObject::ob, OB_DUPLI, object_duplilist(), Object::runtime, scene, Object::transflag, and BoundBox::vec.
Referenced by object_origin_set_exec(), and view3d_object_calc_minmax().
| void BKE_object_modifier_gpencil_hook_reset | ( | struct Object * | ob, |
| struct HookGpencilModifierData * | hmd | ||
| ) |
Definition at line 1254 of file object.c.
References BKE_pose_channel_find_name(), Object::imat, invert_m4_m4(), mul_m4_m4m4(), NULL, HookGpencilModifierData::object, Object::obmat, HookGpencilModifierData::parentinv, Object::pose, bPoseChannel::pose_mat, and HookGpencilModifierData::subtarget.
| bool BKE_object_modifier_gpencil_use_time | ( | struct Object * | ob, |
| struct GpencilModifierData * | md | ||
| ) |
Definition at line 5443 of file object.c.
References AnimData::action, Object::adt, BKE_gpencil_modifier_depends_ontime(), BLI_snprintf(), BLI_str_escape(), bAction::curves, AnimData::drivers, ListBase::first, GpencilModifierData::name, FCurve::next, NULL, and FCurve::rna_path.
Referenced by blender::deg::DepsgraphRelationBuilder::build_object_data_geometry().
| void BKE_object_modifier_hook_reset | ( | struct Object * | ob, |
| struct HookModifierData * | hmd | ||
| ) |
Definition at line 1231 of file object.c.
References BKE_pose_channel_find_name(), Object::imat, invert_m4_m4(), mul_m4_m4m4(), HookModifierData::object, Object::obmat, HookModifierData::parentinv, Object::pose, bPoseChannel::pose_mat, and HookModifierData::subtarget.
Referenced by object_hook_reset_exec().
| void BKE_object_modifier_set_active | ( | Object * | ob, |
| ModifierData * | md | ||
| ) |
Set the object's active modifier.
| md | If NULL, only clear the active modifier, otherwise it must be in the Object.modifiers list. |
Definition at line 1284 of file object.c.
References BLI_assert, BLI_findindex(), eModifierFlag_Active, ModifierData::flag, LISTBASE_FOREACH, Object::modifiers, and NULL.
Referenced by BKE_modifier_remove_from_list(), BKE_object_copy_modifier(), ED_object_modifier_add(), ED_object_modifier_copy(), modifier_set_active_exec(), object_add_or_copy_particle_system(), and tree_element_modifier_activate().
| bool BKE_object_modifier_stack_copy | ( | struct Object * | ob_dst, |
| const struct Object * | ob_src, | ||
| const bool | do_copy_all, | ||
| const int | flag_subdata | ||
| ) |
| bool BKE_object_modifier_update_subframe | ( | Depsgraph * | depsgraph, |
| Scene * | scene, | ||
| Object * | ob, | ||
| bool | update_mesh, | ||
| int | parent_recursion, | ||
| float | frame, | ||
| int | type | ||
| ) |
Definition at line 5546 of file object.c.
References bArmature::adt, Curve::adt, Object::adt, ADT_RECALC_ANIM, BKE_animsys_eval_context_construct(), BKE_animsys_evaluate_animdata(), BKE_constraint_typeinfo_get(), BKE_modifiers_findby_type(), BKE_object_handle_update(), BKE_object_modifier_update_subframe(), BKE_object_where_is_calc_time(), BKE_pose_where_is(), DynamicPaintModifierData::canvas, Object::constraints, Object::data, DEG_is_active(), depsgraph, eModifierType_DynamicPaint, eModifierType_Fluid, ListBase::first, bConstraintTypeInfo::flush_constraint_targets, bConstraintTypeInfo::get_constraint_targets, bArmature::id, Curve::id, Object::id, ID_RECALC_ALL, MOD_FLUID_TYPE_DOMAIN, bConstraint::next, bConstraintTarget::next, NULL, OB_ARMATURE, OB_CURVE, object_cacheIgnoreClear(), Object::parent, Object::partype, PARVERT1, PARVERT3, ID::recalc, scene, bConstraintTarget::tar, Object::track, type, FluidModifierData::type, and Object::type.
Referenced by BKE_object_modifier_update_subframe(), dynamicPaint_brushMeshCalculateVelocity(), dynamicPaint_brushObjectCalculateVelocity(), and dynamicPaint_doStep().
| bool BKE_object_modifier_use_time | ( | struct Object * | ob, |
| struct ModifierData * | md | ||
| ) |
Definition at line 5397 of file object.c.
References AnimData::action, Object::adt, BKE_modifier_depends_ontime(), BLI_snprintf(), BLI_str_escape(), bAction::curves, AnimData::drivers, ListBase::first, ModifierData::name, FCurve::next, NULL, and FCurve::rna_path.
Referenced by blender::deg::DepsgraphRelationBuilder::build_object_data_geometry().
| void BKE_object_modifiers_lib_link_common | ( | void * | userData, |
| struct Object * | ob, | ||
| struct ID ** | idpoin, | ||
| int | cb_flag | ||
| ) |
Definition at line 5706 of file object.c.
References BLO_read_id_address, Object::id, id_us_plus_no_lib(), IDWALK_CB_USER, ID::lib, and NULL.
Referenced by BKE_gpencil_modifier_blend_read_lib(), BKE_modifier_blend_read_lib(), and BKE_shaderfx_blend_read_lib().
| bool BKE_object_moves_in_time | ( | const struct Object * | object, |
| bool | recurse_parent | ||
| ) |
| struct MovieClip* BKE_object_movieclip_get | ( | struct Scene * | scene, |
| struct Object * | ob, | ||
| bool | use_default | ||
| ) |
Definition at line 5079 of file object.c.
References CAMERASOLVER_ACTIVECLIP, bCameraSolverConstraint::clip, Scene::clip, CONSTRAINT_OFF, CONSTRAINT_TYPE_CAMERASOLVER, Object::constraints, ListBase::first, bCameraSolverConstraint::flag, bConstraint::next, NULL, scene, and bConstraint::type.
Referenced by apply_objects_internal(), bundle_midpoint(), camera_view3d_reconstruction(), ed_object_select_pick(), get_camera_with_movieclip(), image_camera_background_texture_get(), and snapCamera().
| void* BKE_object_obdata_add_from_type | ( | struct Main * | bmain, |
| int | type, | ||
| const char * | name | ||
| ) |
Definition at line 2107 of file object.c.
References BKE_armature_add(), BKE_camera_add(), BKE_curve_add(), BKE_gpencil_data_addnew(), BKE_hair_add(), BKE_lattice_add(), BKE_light_add(), BKE_lightprobe_add(), BKE_mball_add(), BKE_mesh_add(), BKE_pointcloud_add_default(), BKE_speaker_add(), BKE_volume_add(), CLOG_ERROR, get_obdata_defname(), LOG, NULL, OB_ARMATURE, OB_CAMERA, OB_CURVE, OB_EMPTY, OB_FONT, OB_GPENCIL, OB_HAIR, OB_LAMP, OB_LATTICE, OB_LIGHTPROBE, OB_MBALL, OB_MESH, OB_POINTCLOUD, OB_SPEAKER, OB_SURF, OB_VOLUME, and type.
Referenced by bc_add_object(), and object_add_common().
| bool BKE_object_obdata_is_libdata | ( | const struct Object * | ob | ) |
Use with newly created objects to set their size (used to apply scene-scale).
Definition at line 2991 of file object.c.
References Light::area_size, Light::area_sizey, Light::area_sizez, BKE_lattice_transform(), Object::data, Light::dist, Camera::drawsize, Object::empty_drawsize, Curve::fsize, lamp, OB_CAMERA, OB_EMPTY, OB_FONT, OB_LAMP, OB_LATTICE, scale_m4_fl(), size(), Object::type, and unit_m4().
Referenced by effector_add_exec(), object_add_exec(), object_add_text_exec(), object_empty_add_exec(), and object_light_add_exec().
| bool BKE_object_obdata_texspace_get | ( | struct Object * | ob, |
| short ** | r_texflag, | ||
| float ** | r_loc, | ||
| float ** | r_size | ||
| ) |
Definition at line 4413 of file object.c.
References BKE_curve_texspace_ensure(), BKE_mesh_texspace_get_reference(), Object::data, GS, ID_CU, ID_MB, ID_ME, Curve::loc, MetaBall::loc, NULL, Curve::size, MetaBall::size, Curve::texflag, and MetaBall::texflag.
Referenced by BKE_mesh_texspace_copy_from_object(), and createTransTexspace().
| int BKE_object_obdata_to_type | ( | const struct ID * | id | ) |
Referenced by ED_object_parent(), ED_object_parent_set(), parent_noinv_set_exec(), and vertex_parent_set_exec().
Definition at line 2487 of file object.c.
References BKE_modifiers_is_deformed_by_armature(), BKE_object_pose_context_check(), and NULL.
Referenced by apply_armature_pose2bones_exec(), armature_layers_get_data(), BKE_object_defgroup_selected_get(), BKE_object_pose_armature_get_visible(), BKE_object_pose_array_get_ex(), BKE_object_pose_base_array_get_ex(), draw_selected_name(), drw_context_state_init(), dt_layers_select_src_itemf(), ED_object_vgroup_selection_itemf_helper(), ED_operator_posemode(), ED_operator_posemode_exclusive(), ED_operator_posemode_local(), ED_pose_object_from_context(), ED_vgroup_sync_from_pose(), ED_view3d_select_filter_from_mode(), get_poselib_object(), is_cursor_visible(), outliner_viewcontext_init(), pose_calculate_paths_exec(), pose_calculate_paths_invoke(), pose_clear_paths_exec(), pose_constraint_add_exec(), pose_copy_exec(), pose_ik_add_invoke(), pose_paste_exec(), pose_select_grouped_exec(), pose_select_hierarchy_exec(), pose_select_parent_exec(), pose_select_same_group(), pose_select_same_keyingset(), pose_update_paths_exec(), pose_update_paths_range_exec(), poseAnim_object_get(), poselib_rename_exec(), screen_ctx_active_pose_bone(), screen_ctx_pose_object(), screen_ctx_selected_pose_bones(), screen_ctx_selected_pose_bones_from_active_object(), screen_ctx_visible_pose_bones(), toggle_xray_exec(), tree_element_posechannel_activate(), view3d_orbit_calc_center(), view3d_select_exec(), WIDGETGROUP_armature_spline_poll(), WIDGETGROUP_armature_spline_refresh(), and WIDGETGROUP_armature_spline_setup().
| struct Object* BKE_object_pose_armature_get_visible | ( | struct Object * | ob, |
| struct ViewLayer * | view_layer, | ||
| struct View3D * | v3d | ||
| ) |
Definition at line 2507 of file object.c.
References BASE_VISIBLE, BKE_object_pose_armature_get(), BKE_view_layer_base_find(), and NULL.
| struct Object** BKE_object_pose_array_get | ( | struct ViewLayer * | view_layer, |
| struct View3D * | v3d, | ||
| unsigned int * | r_objects_len | ||
| ) |
Definition at line 2556 of file object.c.
References BKE_object_pose_array_get_ex().
Referenced by ED_transform_calc_gizmo_stats(), snap_sel_to_grid_exec(), and snap_selected_to_location().
| struct Object** BKE_object_pose_array_get_ex | ( | ViewLayer * | view_layer, |
| View3D * | v3d, | ||
| uint * | r_objects_len, | ||
| bool | unique | ||
| ) |
Access pose array with special check to get pose object when in weight paint mode.
Definition at line 2524 of file object.c.
References BKE_object_pose_armature_get(), BKE_view_layer_array_from_objects_in_mode, MEM_mallocN, NULL, OB_MODE_POSE, and OBACT.
Referenced by BKE_object_pose_array_get(), and BKE_object_pose_array_get_unique().
| struct Object** BKE_object_pose_array_get_unique | ( | struct ViewLayer * | view_layer, |
| struct View3D * | v3d, | ||
| unsigned int * | r_objects_len | ||
| ) |
Definition at line 2552 of file object.c.
References BKE_object_pose_array_get_ex().
Referenced by pose_hide_exec(), pose_reveal_exec(), pose_select_mirror_exec(), pose_select_same_group(), pose_select_same_keyingset(), pose_select_same_layer(), and tree_element_posechannel_activate().
| struct Base** BKE_object_pose_base_array_get | ( | struct ViewLayer * | view_layer, |
| struct View3D * | v3d, | ||
| unsigned int * | r_bases_len | ||
| ) |
Definition at line 2604 of file object.c.
References BKE_object_pose_base_array_get_ex().
Referenced by ed_armature_pick_bone_impl().
| struct Base** BKE_object_pose_base_array_get_ex | ( | struct ViewLayer * | view_layer, |
| struct View3D * | v3d, | ||
| unsigned int * | r_bases_len, | ||
| bool | unique | ||
| ) |
Definition at line 2561 of file object.c.
References BASACT, BKE_object_pose_armature_get(), BKE_view_layer_array_from_bases_in_mode, BKE_view_layer_base_find(), MEM_mallocN, NULL, OB_MODE_POSE, and Base::object.
Referenced by BKE_object_pose_base_array_get(), and BKE_object_pose_base_array_get_unique().
| struct Base** BKE_object_pose_base_array_get_unique | ( | struct ViewLayer * | view_layer, |
| struct View3D * | v3d, | ||
| unsigned int * | r_bases_len | ||
| ) |
Definition at line 2600 of file object.c.
References BKE_object_pose_base_array_get_ex().
Referenced by ED_pose_deselect_all_multi().
| bool BKE_object_pose_context_check | ( | const struct Object * | ob | ) |
Referenced by ED_operator_posemode_context().
| void BKE_object_preview_geometry_set_add | ( | struct Object * | ob, |
| const uint64_t | key, | ||
| struct GeometrySet * | geometry_set | ||
| ) |
Definition at line 1819 of file object.c.
References BKE_geometry_set_free(), BLI_ghash_int_new(), BLI_ghash_reinsert(), BLI_MUTEX_INITIALIZER, BLI_mutex_lock(), BLI_mutex_unlock(), Object_Runtime::geometry_set_previews, mutex, NULL, POINTER_FROM_UINT, and Object::runtime.
Referenced by log_preview_socket_value().
| struct LinkNode* BKE_object_relational_superset | ( | struct ViewLayer * | view_layer, |
| eObjectSet | objectSet, | ||
| eObRelationTypes | includeFilter | ||
| ) |
Iterates over all objects of the given scene layer. Depending on the eObjectSet flag: collect either OB_SET_ALL, OB_SET_VISIBLE or OB_SET_SELECTED objects. If OB_SET_VISIBLE or::OB_SET_SELECTED are collected, then also add related objects according to the given includeFilter.
Definition at line 5167 of file object.c.
References BASE_EDITABLE, BASE_SELECTED_EDITABLE, BKE_object_is_child_recursive(), ListBase::first, Object::id, LIB_TAG_DOIT, Base::next, NULL, OB_REL_CHILDREN, OB_REL_CHILDREN_RECURSIVE, OB_REL_MOD_ARMATURE, OB_REL_PARENT, OB_REL_PARENT_RECURSIVE, OB_SET_ALL, OB_SET_SELECTED, OB_SET_VISIBLE, Base::object, ViewLayer::object_bases, obrel_armature_find(), obrel_list_add(), obrel_list_test(), Object::parent, and ID::tag.
Referenced by collada_export().
| void BKE_object_runtime_reset | ( | struct Object * | object | ) |
Definition at line 5107 of file object.c.
References Object::runtime.
Referenced by blender::deg::ObjectRuntimeBackup::init_from_object(), object_blend_read_data(), and object_blend_write().
| void BKE_object_runtime_reset_on_copy | ( | struct Object * | object, |
| const int | flag | ||
| ) |
Definition at line 3038 of file object.c.
References Object::dscale, mul_v3_v3v3(), Object::scale, and size_to_mat3().
Referenced by apply_objects_internal(), BKE_object_to_mat3(), mball_select_similar_type(), mball_select_similar_type_get(), multiresModifier_prepare_join(), and multiresModifier_scale_disp().
Return the number of scenes using (instantiating) that object in their collections.
Definition at line 5068 of file object.c.
References BKE_collection_has_object_recursive(), ListBase::first, Scene::id, Scene::master_collection, ID::next, NULL, scene, and Main::scenes.
Referenced by single_object_users_collection().
| void BKE_object_sculpt_data_create | ( | struct Object * | ob | ) |
Definition at line 4406 of file object.c.
References BLI_assert, MEM_callocN, Object::mode, SculptSession::mode_type, NULL, OB_MODE_ALL_SCULPT, and Object::sculpt.
Referenced by ED_editors_init(), and object_blend_read_data().
Definition at line 431 of file object_update.c.
References BKE_object_data_select_update(), BLI_mutex_lock(), BLI_mutex_unlock(), Object::data, Object_Runtime::data_orig, DEG_debug_print_eval(), depsgraph, Object::id, Object_Runtime::is_data_eval_owned, ID::name, OB_MESH, Mesh::runtime, Object::runtime, and Object::type.
| bool BKE_object_shaderfx_use_time | ( | struct Object * | ob, |
| struct ShaderFxData * | md | ||
| ) |
Definition at line 5481 of file object.c.
References AnimData::action, Object::adt, BKE_shaderfx_depends_ontime(), BLI_snprintf(), BLI_str_escape(), bAction::curves, AnimData::drivers, ListBase::first, ShaderFxData::name, FCurve::next, NULL, and FCurve::rna_path.
Referenced by blender::deg::DepsgraphRelationBuilder::build_object_data_geometry().
Definition at line 4758 of file object.c.
References BKE_id_free_us(), BKE_key_from_object_p(), ELEM, and NULL.
Referenced by BKE_object_shapekey_remove(), and shape_key_remove_exec().
| struct KeyBlock* BKE_object_shapekey_insert | ( | struct Main * | bmain, |
| struct Object * | ob, | ||
| const char * | name, | ||
| const bool | from_mix | ||
| ) |
Definition at line 4726 of file object.c.
References insert_curvekey(), insert_lattkey(), insert_meshkey(), NULL, OB_CURVE, OB_LATTICE, OB_MESH, OB_SURF, Object::shapenr, and Object::type.
Referenced by ED_object_shape_key_add().
Definition at line 4775 of file object.c.
References BKE_curve_nurbs_get(), BKE_key_from_object(), BKE_keyblock_convert_to_curve(), BKE_keyblock_convert_to_lattice(), BKE_keyblock_convert_to_mesh(), BKE_object_shapekey_free(), BLI_assert, BLI_findindex(), BLI_listbase_is_empty(), BLI_remlink(), Key::block, KeyBlock::data, Object::data, ListBase::first, MEM_freeN, KeyBlock::next, NULL, OB_CURVE, OB_LATTICE, OB_MESH, OB_SURF, Key::refkey, KeyBlock::relative, Object::shapenr, Key::totkey, and Object::type.
Referenced by object_shapekey_remove().
| bool BKE_object_support_modifier_type_check | ( | const struct Object * | ob, |
| int | modifier_type | ||
| ) |
| bool BKE_object_supports_modifiers | ( | const struct Object * | ob | ) |
Referenced by modifier_copy_to_selected_poll().
Definition at line 294 of file object_update.c.
References Object::base_flag, BLI_assert, BLI_strdup(), Object::constinv, copy_m4_m4(), DEG_get_original_object(), DEG_is_active(), depsgraph, ListBase::first, Object::flag, Object::imat, MEM_SAFE_FREE, Object::modifiers, NULL, object_sync_boundbox_to_original(), Object::obmat, STREQ, and Object::transflag.
| void* BKE_object_tfm_backup | ( | struct Object * | ob | ) |
Definition at line 4250 of file object.c.
References ObTfmBack::constinv, Object::constinv, copy_m4_m4(), copy_qt_qt(), copy_v3_v3(), ObTfmBack::dloc, Object::dloc, ObTfmBack::dquat, Object::dquat, ObTfmBack::drot, Object::drot, ObTfmBack::drotAngle, Object::drotAngle, ObTfmBack::drotAxis, Object::drotAxis, ObTfmBack::dscale, Object::dscale, ObTfmBack::imat, Object::imat, ObTfmBack::loc, Object::loc, MEM_mallocN, ObTfmBack::obmat, Object::obmat, ObTfmBack::parentinv, Object::parentinv, ObTfmBack::quat, Object::quat, ObTfmBack::rot, Object::rot, ObTfmBack::rotAngle, Object::rotAngle, ObTfmBack::rotAxis, Object::rotAxis, ObTfmBack::scale, and Object::scale.
Referenced by ED_view3d_cameracontrol_acquire(), and object_transform_axis_target_invoke().
Referenced by ObjectToTransData().
| void BKE_object_tfm_protected_backup | ( | const struct Object * | ob, |
| ObjectTfmProtectedChannels * | obtfm | ||
| ) |
| void BKE_object_tfm_protected_restore | ( | struct Object * | ob, |
| const ObjectTfmProtectedChannels * | obtfm, | ||
| const short | protectflag | ||
| ) |
Definition at line 3158 of file object.c.
References ObjectTfmProtectedChannels::dloc, Object::dloc, ObjectTfmProtectedChannels::dquat, Object::dquat, ObjectTfmProtectedChannels::drot, Object::drot, ObjectTfmProtectedChannels::drotAngle, Object::drotAngle, ObjectTfmProtectedChannels::drotAxis, Object::drotAxis, ObjectTfmProtectedChannels::dscale, Object::dscale, ObjectTfmProtectedChannels::loc, Object::loc, OB_LOCK_LOCX, OB_LOCK_ROT4D, OB_LOCK_ROTW, OB_LOCK_ROTX, OB_LOCK_SCALEX, ObjectTfmProtectedChannels::quat, Object::quat, ObjectTfmProtectedChannels::rot, Object::rot, ObjectTfmProtectedChannels::rotAngle, Object::rotAngle, ObjectTfmProtectedChannels::rotAxis, Object::rotAxis, ObjectTfmProtectedChannels::scale, and Object::scale.
Referenced by ED_view3d_camera_lock_sync(), ED_view3d_camera_to_view_selected(), object_apply_mat4_with_protect(), and view3d_camera_to_view_exec().
| void BKE_object_tfm_restore | ( | struct Object * | ob, |
| void * | obtfm_pt | ||
| ) |
Definition at line 4273 of file object.c.
References ObTfmBack::constinv, Object::constinv, copy_m4_m4(), copy_qt_qt(), copy_v3_v3(), ObTfmBack::dloc, Object::dloc, ObTfmBack::dquat, Object::dquat, ObTfmBack::drot, Object::drot, ObTfmBack::drotAngle, Object::drotAngle, ObTfmBack::drotAxis, Object::drotAxis, ObTfmBack::dscale, Object::dscale, ObTfmBack::imat, Object::imat, ObTfmBack::loc, Object::loc, ObTfmBack::obmat, Object::obmat, ObTfmBack::parentinv, Object::parentinv, ObTfmBack::quat, Object::quat, ObTfmBack::rot, Object::rot, ObTfmBack::rotAngle, Object::rotAngle, ObTfmBack::rotAxis, Object::rotAxis, ObTfmBack::scale, and Object::scale.
Referenced by ED_view3d_cameracontrol_release(), and object_transform_axis_target_cancel().
| struct Curve* BKE_object_to_curve | ( | struct Object * | object, |
| struct Depsgraph * | depsgraph, | ||
| bool | apply_modifiers | ||
| ) |
Definition at line 5682 of file object.c.
References BKE_curve_new_from_object(), BKE_object_to_curve_clear(), curve, and depsgraph.
| void BKE_object_to_curve_clear | ( | struct Object * | object | ) |
Definition at line 5691 of file object.c.
References BKE_id_free(), NULL, Object_Runtime::object_as_temp_curve, and Object::runtime.
Referenced by BKE_object_free_derived_caches(), and BKE_object_to_curve().
Definition at line 3220 of file object.c.
References BKE_object_rot_to_mat3(), BKE_object_scale_to_mat3(), and mul_m3_m3m3().
Referenced by apply_objects_internal(), BKE_object_to_mat4(), object_transform_axis_target_invoke(), and ObjectToTransData().
Definition at line 3234 of file object.c.
References add_v3_v3v3(), BKE_object_to_mat3(), copy_m4_m3(), Object::dloc, and Object::loc.
Referenced by actcon_get_tarmat(), BKE_constraint_mat_convertspace(), BKE_object_eval_local_transform(), BKE_object_where_is_calc_mat4(), dvar_eval_transChan(), ED_object_base_init_transform_on_add(), object_apply_mat4_with_protect(), object_origin_set_exec(), object_where_is_calc_ex(), set_axis(), set_plane_exec(), blender::io::alembic::AbcObjectReader::setupObjectTransform(), and solve_parenting().
| struct Mesh* BKE_object_to_mesh | ( | struct Depsgraph * | depsgraph, |
| struct Object * | object, | ||
| bool | preserve_all_data_layers | ||
| ) |
Definition at line 5664 of file object.c.
References BKE_mesh_new_from_object(), BKE_object_to_mesh_clear(), depsgraph, and mesh.
Referenced by Freestyle::BlenderFileLoader::Load().
| void BKE_object_to_mesh_clear | ( | struct Object * | object | ) |
Definition at line 5673 of file object.c.
References BKE_id_free(), NULL, Object_Runtime::object_as_temp_mesh, and Object::runtime.
Referenced by BKE_object_free_derived_caches(), BKE_object_to_mesh(), and Freestyle::BlenderFileLoader::Load().
| void BKE_object_update_select_id | ( | struct Main * | bmain | ) |
Updates select_id of all objects in the given bmain.
Definition at line 5654 of file object.c.
References ListBase::first, Object::id, ID::next, Main::objects, Object::runtime, and Object_Runtime::select_id.
Referenced by armature_select_linked_pick_invoke(), armature_shortest_path_pick_invoke(), ED_view3d_give_base_under_cursor(), view3d_box_select_exec(), view3d_circle_select_exec(), view3d_lasso_select_exec(), and view3d_select_exec().
| int BKE_object_visibility | ( | const struct Object * | ob, |
| const int | dag_eval_mode | ||
| ) |
| void BKE_object_where_is_calc | ( | struct Depsgraph * | depsgraph, |
| struct Scene * | scene, | ||
| struct Object * | ob | ||
| ) |
Definition at line 3653 of file object.c.
References DEG_get_ctime(), depsgraph, NULL, object_where_is_calc_ex(), and scene.
Referenced by add_hook_object(), apply_objects_internal(), BKE_object_workob_calc_parent(), ED_view3d_cameracontrol_acquire(), object_origin_set_exec(), ObjectToTransData(), set_plane_exec(), txt_add_object(), and visual_transform_apply_exec().
| void BKE_object_where_is_calc_ex | ( | struct Depsgraph * | depsgraph, |
| struct Scene * | scene, | ||
| struct RigidBodyWorld * | rbw, | ||
| struct Object * | ob, | ||
| float | r_originmat[3][3] | ||
| ) |
Definition at line 3647 of file object.c.
References DEG_get_ctime(), depsgraph, object_where_is_calc_ex(), and scene.
Referenced by BKE_object_handle_update_ex(), and snap_sel_to_grid_exec().
Calculate object transformation matrix without recalculating dependencies and constraints – assume dependencies are already solved by depsgraph. No changes to object and its parent would be done. Used for bundles orientation in 3d space relative to parented blender camera.
Definition at line 3636 of file object.c.
References BKE_object_to_mat4(), NULL, Object::parent, and solve_parenting().
Referenced by BKE_tracking_get_camera_object_matrix(), followtrack_distance_from_viewplane_get(), and object_solver_inverted_matrix().
| void BKE_object_where_is_calc_time | ( | struct Depsgraph * | depsgraph, |
| struct Scene * | scene, | ||
| struct Object * | ob, | ||
| float | ctime | ||
| ) |
Definition at line 3619 of file object.c.
References Object::adt, ADT_RECALC_ALL, BKE_animsys_eval_context_construct(), BKE_animsys_evaluate_animdata(), DEG_is_active(), depsgraph, Object::id, NULL, object_where_is_calc_ex(), and scene.
Referenced by BKE_object_modifier_update_subframe(), and evaluate_emitter_anim().
| void BKE_object_workob_calc_parent | ( | Depsgraph * | depsgraph, |
| Scene * | scene, | ||
| Object * | ob, | ||
| Object * | workob | ||
| ) |
For calculation of the inverse parent transform, only used for editor.
It assumes the object parent is already in the depsgraph. Otherwise, after changing ob->parent you need to call:
Definition at line 3667 of file object.c.
References BKE_object_where_is_calc(), BKE_object_workob_clear(), BLI_strncpy(), Object::constinv, DEG_get_evaluated_object(), depsgraph, Object::obmat, Object::par1, Object::par2, Object::par3, Object::parent, Object::parentinv, Object::parsubstr, Object::partype, scene, Object::trackflag, unit_m4(), and Object::upflag.
Referenced by applyarmature_fix_boneparents(), ED_object_parent_set(), ignore_parent_tx(), SkinInfo::link_armature(), and vertex_parent_set_exec().
| void BKE_object_workob_clear | ( | struct Object * | workob | ) |
Definition at line 1163 of file object.c.
References Object::dscale, ROT_MODE_EUL, Object::rotmode, and Object::scale.
Referenced by BKE_object_workob_calc_parent(), and what_does_obaction().
| void BKE_scene_foreach_display_point | ( | struct Depsgraph * | depsgraph, |
| void(*)(const float[3], void *) | func_cb, | ||
| void * | user_data | ||
| ) |
Definition at line 4209 of file object.c.
References Object::base_flag, BASE_SELECTED, BKE_object_foreach_display_point(), DEG_ITER_OBJECT_FLAG_DUPLI, DEG_ITER_OBJECT_FLAG_LINKED_DIRECTLY, DEG_ITER_OBJECT_FLAG_VISIBLE, DEG_OBJECT_ITER_BEGIN, DEG_OBJECT_ITER_END, depsgraph, Object::obmat, and user_data.
Referenced by BKE_camera_view_frame_fit_to_scene().
| struct Object ATTR_RETURNS_NONNULL |
Definition at line 138 of file BKE_object.h.