Blender
V3.3
|
#include "DNA_anim_types.h"
#include "DNA_collection_types.h"
#include "DNA_constraint_types.h"
#include "DNA_gpencil_types.h"
#include "DNA_key_types.h"
#include "DNA_material_types.h"
#include "DNA_mesh_types.h"
#include "DNA_modifier_types.h"
#include "DNA_scene_types.h"
#include "BLI_blenlib.h"
#include "BLI_math.h"
#include "BLI_threads.h"
#include "BLI_utildefines.h"
#include "BKE_DerivedMesh.h"
#include "BKE_action.h"
#include "BKE_armature.h"
#include "BKE_constraint.h"
#include "BKE_curve.h"
#include "BKE_curves.h"
#include "BKE_displist.h"
#include "BKE_editmesh.h"
#include "BKE_effect.h"
#include "BKE_gpencil.h"
#include "BKE_gpencil_modifier.h"
#include "BKE_image.h"
#include "BKE_key.h"
#include "BKE_lattice.h"
#include "BKE_layer.h"
#include "BKE_light.h"
#include "BKE_material.h"
#include "BKE_mball.h"
#include "BKE_mesh.h"
#include "BKE_object.h"
#include "BKE_particle.h"
#include "BKE_pointcache.h"
#include "BKE_pointcloud.h"
#include "BKE_scene.h"
#include "BKE_volume.h"
#include "MEM_guardedalloc.h"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_query.h"
Go to the source code of this file.
Definition at line 322 of file object_update.c.
References BKE_object_data_batch_cache_dirty_tag(), and Object::data.
Referenced by BKE_object_defgroup_new(), BKE_object_defgroup_remove(), BKE_object_eval_uber_data(), and object_origin_set_exec().
Definition at line 288 of file object_update.c.
References BKE_curve_batch_cache_dirty_tag(), BKE_CURVE_BATCH_DIRTY_ALL, BKE_curves_batch_cache_dirty_tag(), BKE_CURVES_BATCH_DIRTY_ALL, BKE_gpencil_batch_cache_dirty_tag(), 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, GS, ID_CU_LEGACY, ID_CV, ID_GD, ID_LT, ID_MB, ID_ME, ID_PT, ID_VO, and ID::name.
Referenced by BKE_object_batch_cache_dirty_tag().
Definition at line 355 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_LEGACY, ID_LT, ID_ME, and ID::name.
Referenced by BKE_object_select_update(), and blender::deg::DepsgraphNodeBuilder::build_object_data_geometry_datablock().
Definition at line 99 of file object_update.c.
References BKE_constraints_clear_evalob(), BKE_constraints_make_evalob(), BKE_constraints_solve(), BKE_scene_ctime_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 | ( | Depsgraph * | depsgraph, |
Scene * | scene, | ||
const int | view_layer_index, | ||
Object * | object, | ||
int | base_index, | ||
const bool | is_from_set | ||
) |
Definition at line 389 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 59 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 67 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 335 of file object_update.c.
References BKE_ptcache_object_reset(), DEG_debug_print_eval(), depsgraph, Object::id, ID::name, PTCACHE_RESET_DEPSGRAPH, and scene.
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 54 of file object_update.c.
References BKE_object_free_derived_caches().
Referenced by bake(), and object_force_modifier_update_for_bind().
Definition at line 341 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 applyFaceNearest(), applyFaceProject(), applyGridAbsolute(), and ignore_parent_tx().
Definition at line 120 of file object_update.c.
References DEG_debug_print_eval(), depsgraph, Object::id, Object::imat, invert_m4_m4_safe(), is_negative_m4(), ID::name, OB_NEG_SCALE, Object::obmat, and Object::transflag.
Referenced by BKE_object_eval_transform_all().
Definition at line 327 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 284 of file object_update.c.
Referenced by BKE_object_eval_transform_all().
Definition at line 135 of file object_update.c.
References BKE_curves_data_update(), BKE_displist_make_curveTypes(), BKE_displist_make_mball(), BKE_gpencil_modifiers_calc(), BKE_gpencil_prepare_eval_data(), BKE_gpencil_update_layer_transforms(), BKE_lattice_modifiers_calc(), BKE_pointcloud_data_update(), 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_MLOOPUV, CD_MASK_NORMAL, CD_MASK_ORCO, CD_MASK_PROP_ALL, CD_MASK_PROP_BYTE_COLOR, CD_MASK_PROP_COLOR, Scene::customdata_mask, CustomData_MeshMasks_update(), DAG_EVAL_RENDER, DEG_debug_print_eval(), DEG_get_mode(), depsgraph, ParticleSettings::draw_as, CustomData_MeshMasks::emask, ListBase::first, ParticleSystem::flag, CustomData_MeshMasks::fmask, Object::id, ParticleSettings::instance_collection, ParticleSettings::instance_object, CustomData_MeshMasks::lmask, makeDerivedMesh(), Object::mode, ID::name, ParticleSystem::next, OB_ARMATURE, OB_CURVES, OB_CURVES_LEGACY, OB_DUPLIPARTS, OB_FONT, OB_GPENCIL, 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, 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 374 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.
Definition at line 255 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.
Bounding box from evaluated geometry.
Definition at line 239 of file object_update.c.
References Object_Runtime::bb, BKE_object_boundbox_calc_from_evaluated_geometry(), BKE_object_boundbox_get(), BOUNDBOX_DIRTY, BoundBox::flag, MEM_mallocN, NULL, and Object::runtime.
Referenced by BKE_object_sync_to_original().