75 copy_m4_m4(locmat, ob->object_to_world().ptr());
86 copy_v3_v3(ob->
runtime->parent_display_origin, par->object_to_world().location());
238 object_orig->
base_flag =
object->base_flag;
240 copy_m4_m4(object_orig->
runtime->object_to_world.ptr(), object->object_to_world().ptr());
241 copy_m4_m4(object_orig->
runtime->world_to_object.ptr(), object->world_to_object().ptr());
243 object_orig->
transflag =
object->transflag;
244 object_orig->
flag =
object->flag;
249 md !=
nullptr && md_orig !=
nullptr;
250 md = md->next, md_orig = md_orig->next)
252 BLI_assert(md->type == md_orig->type &&
STREQ(md->name, md_orig->name));
254 if (md->error !=
nullptr) {
323 if (object->parent !=
nullptr) {
336 switch (
GS(object_data->
name)) {
354 if (object->type ==
OB_MESH && !object->runtime->is_data_eval_owned) {
356 std::lock_guard
lock{mesh_input->
runtime->eval_mutex};
366 const int view_layer_index,
369 const bool is_from_set)
394 base->
flag &= ~BASE_ENABLED_AND_MAYBE_VISIBLE_IN_VIEWPORT;
399 object->base_flag = base->
flag;
428 deg::light_linking::eval_runtime_data(
depsgraph, *
object);
void BKE_pose_where_is(Depsgraph *depsgraph, Scene *scene, Object *ob)
void BKE_constraints_solve(struct Depsgraph *depsgraph, struct ListBase *conlist, struct bConstraintOb *cob, float ctime)
void BKE_constraints_clear_evalob(struct bConstraintOb *cob)
struct bConstraintOb * BKE_constraints_make_evalob(struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob, void *subdata, short datatype)
void BKE_curve_batch_cache_dirty_tag(Curve *cu, int mode)
@ BKE_CURVE_BATCH_DIRTY_SELECT
@ BKE_CURVE_BATCH_DIRTY_ALL
Low-level operations for curves that cannot be defined in the C++ header yet.
void BKE_curves_data_update(struct Depsgraph *depsgraph, struct Scene *scene, struct Object *object)
void BKE_curves_batch_cache_dirty_tag(struct Curves *curves, int mode)
@ BKE_CURVES_BATCH_DIRTY_ALL
void CustomData_MeshMasks_update(CustomData_MeshMasks *mask_dst, const CustomData_MeshMasks *mask_src)
const CustomData_MeshMasks CD_MASK_BAREMESH
display list (or rather multi purpose list) stuff.
void BKE_displist_make_curveTypes(struct Depsgraph *depsgraph, const struct Scene *scene, struct Object *ob, bool for_render)
Low-level operations for grease pencil that cannot be defined in the C++ header yet.
void BKE_grease_pencil_batch_cache_dirty_tag(GreasePencil *grease_pencil, int mode)
@ BKE_GREASEPENCIL_BATCH_DIRTY_ALL
Low-level operations for grease pencil.
void BKE_grease_pencil_data_update(Depsgraph *depsgraph, Scene *scene, Object *object)
void BKE_lattice_batch_cache_dirty_tag(Lattice *lt, int mode)
@ BKE_LATTICE_BATCH_DIRTY_SELECT
@ BKE_LATTICE_BATCH_DIRTY_ALL
void BKE_lattice_modifiers_calc(Depsgraph *depsgraph, Scene *scene, Object *ob)
void BKE_base_eval_flags(Base *base)
void BKE_mball_data_update(Depsgraph *depsgraph, Scene *scene, Object *ob)
void BKE_mesh_batch_cache_dirty_tag(Mesh *mesh, eMeshBatchDirtyMode mode)
@ BKE_MESH_BATCH_DIRTY_ALL
@ BKE_MESH_BATCH_DIRTY_SELECT
General operations, lookup, etc. for blender objects.
Mesh * BKE_object_get_evaluated_mesh_no_subsurf(const Object *object_eval)
void BKE_object_get_parent_matrix(const Object *ob, Object *par, float r_parentmat[4][4])
std::optional< blender::Bounds< blender::float3 > > BKE_object_evaluated_geometry_bounds(const Object *ob)
void BKE_object_to_mat4(const Object *ob, float r_mat[4][4])
void BKE_object_free_derived_caches(Object *ob)
bool psys_check_enabled(struct Object *ob, struct ParticleSystem *psys, bool use_render_params)
void particle_system_update(struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob, struct ParticleSystem *psys, bool use_render_params)
void BKE_particle_batch_cache_dirty_tag(struct ParticleSystem *psys, int mode)
void psys_free(struct Object *ob, struct ParticleSystem *psys)
@ BKE_PARTICLE_BATCH_DIRTY_ALL
int BKE_ptcache_object_reset(struct Scene *scene, struct Object *ob, int mode)
#define PTCACHE_RESET_DEPSGRAPH
General operations for point clouds.
void BKE_pointcloud_batch_cache_dirty_tag(PointCloud *pointcloud, int mode)
@ BKE_POINTCLOUD_BATCH_DIRTY_ALL
void BKE_pointcloud_data_update(Depsgraph *depsgraph, Scene *scene, Object *object)
float BKE_scene_ctime_get(const Scene *scene)
void BKE_volume_batch_cache_dirty_tag(Volume *volume, int mode)
@ BKE_VOLUME_BATCH_DIRTY_ALL
void BKE_volume_data_update(Depsgraph *depsgraph, Scene *scene, Object *object)
BLI_INLINE bool BLI_listbase_is_empty(const struct ListBase *lb)
void * BLI_findlink(const struct ListBase *listbase, int number) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void BLI_remlink(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void mul_m4_m4m4(float R[4][4], const float A[4][4], const float B[4][4])
void invert_m4_m4_safe(float inverse[4][4], const float mat[4][4])
void copy_m4_m4(float m1[4][4], const float m2[4][4])
bool is_negative_m4(const float mat[4][4])
MINLINE void copy_v3_v3(float r[3], const float a[3])
char * BLI_strdup(const char *str) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1) ATTR_MALLOC
uint64_t DEG_get_update_count(const Depsgraph *depsgraph)
bool DEG_is_active(const Depsgraph *depsgraph)
void DEG_debug_print_eval(Depsgraph *depsgraph, const char *function_name, const char *object_name, const void *object_address)
eEvaluationMode DEG_get_mode(const Depsgraph *graph)
ViewLayer * DEG_get_evaluated_view_layer(const Depsgraph *graph)
Object * DEG_get_original_object(Object *object)
@ CONSTRAINT_OBTYPE_OBJECT
#define CD_MASK_MDEFORMVERT
#define CD_MASK_FREESTYLE_FACE
#define CD_MASK_FREESTYLE_EDGE
@ BASE_ENABLED_AND_MAYBE_VISIBLE_IN_VIEWPORT
#define BASE_SELECTED(v3d, base)
#define BASE_SELECTABLE(v3d, base)
Read Guarded memory(de)allocation.
const Depsgraph * depsgraph
size_t(* MEM_allocN_len)(const void *vmemh)
void mesh_data_update(Depsgraph &depsgraph, const Scene &scene, Object &ob, const CustomData_MeshMasks &dataMask)
void BKE_object_select_update(Depsgraph *depsgraph, Object *object)
void BKE_object_eval_reset(Object *ob_eval)
void BKE_object_eval_parent(Depsgraph *depsgraph, Object *ob)
void BKE_object_eval_local_transform(Depsgraph *depsgraph, Object *ob)
void BKE_object_eval_uber_transform(Depsgraph *, Object *)
void BKE_object_batch_cache_dirty_tag(Object *ob)
void BKE_object_sync_to_original(Depsgraph *depsgraph, Object *object)
void BKE_object_eval_constraints(Depsgraph *depsgraph, Scene *scene, Object *ob)
void BKE_object_eval_shading(Depsgraph *depsgraph, Object *object)
void BKE_object_eval_uber_data(Depsgraph *depsgraph, Scene *scene, Object *ob)
void BKE_object_data_select_update(Depsgraph *depsgraph, ID *object_data)
void BKE_object_eval_light_linking(Depsgraph *depsgraph, Object *object)
void BKE_object_eval_eval_base_flags(Depsgraph *depsgraph, Scene *scene, const int view_layer_index, Object *object, int base_index, const bool is_from_set)
void BKE_object_eval_transform_all(Depsgraph *depsgraph, Scene *scene, Object *object)
void BKE_object_eval_transform_final(Depsgraph *depsgraph, Object *ob)
void BKE_object_handle_data_update(Depsgraph *depsgraph, Scene *scene, Object *ob)
void BKE_object_eval_ptcache_reset(Depsgraph *depsgraph, Scene *scene, Object *object)
unsigned short local_view_bits
unsigned short local_collections_bits
MeshRuntimeHandle * runtime
ObjectRuntimeHandle * runtime
struct Collection * instance_collection
struct Object * instance_object
struct ParticleSystem * next
struct Base ** object_bases_array