Blender
V3.3
|
#include <cmath>
#include <cstdio>
#include <cstring>
#include "CLG_log.h"
#include "MEM_guardedalloc.h"
#include "DNA_anim_types.h"
#include "DNA_armature_types.h"
#include "DNA_camera_types.h"
#include "DNA_collection_types.h"
#include "DNA_constraint_types.h"
#include "DNA_defaults.h"
#include "DNA_dynamicpaint_types.h"
#include "DNA_effect_types.h"
#include "DNA_fluid_types.h"
#include "DNA_gpencil_modifier_types.h"
#include "DNA_gpencil_types.h"
#include "DNA_key_types.h"
#include "DNA_lattice_types.h"
#include "DNA_light_types.h"
#include "DNA_lightprobe_types.h"
#include "DNA_material_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_meta_types.h"
#include "DNA_movieclip_types.h"
#include "DNA_nla_types.h"
#include "DNA_object_fluidsim_types.h"
#include "DNA_object_types.h"
#include "DNA_pointcloud_types.h"
#include "DNA_rigidbody_types.h"
#include "DNA_scene_types.h"
#include "DNA_screen_types.h"
#include "DNA_sequence_types.h"
#include "DNA_shader_fx_types.h"
#include "DNA_space_types.h"
#include "DNA_view3d_types.h"
#include "DNA_world_types.h"
#include "BLI_blenlib.h"
#include "BLI_kdtree.h"
#include "BLI_linklist.h"
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "BLI_math_vec_types.hh"
#include "BLI_threads.h"
#include "BLI_utildefines.h"
#include "BLT_translation.h"
#include "BKE_DerivedMesh.h"
#include "BKE_action.h"
#include "BKE_anim_data.h"
#include "BKE_anim_path.h"
#include "BKE_anim_visualization.h"
#include "BKE_animsys.h"
#include "BKE_armature.h"
#include "BKE_asset.h"
#include "BKE_bpath.h"
#include "BKE_camera.h"
#include "BKE_collection.h"
#include "BKE_constraint.h"
#include "BKE_crazyspace.h"
#include "BKE_curve.h"
#include "BKE_curves.hh"
#include "BKE_deform.h"
#include "BKE_displist.h"
#include "BKE_duplilist.h"
#include "BKE_editmesh.h"
#include "BKE_editmesh_cache.h"
#include "BKE_effect.h"
#include "BKE_fcurve.h"
#include "BKE_fcurve_driver.h"
#include "BKE_geometry_set.h"
#include "BKE_geometry_set.hh"
#include "BKE_global.h"
#include "BKE_gpencil.h"
#include "BKE_gpencil_geom.h"
#include "BKE_gpencil_modifier.h"
#include "BKE_icons.h"
#include "BKE_idprop.h"
#include "BKE_idtype.h"
#include "BKE_image.h"
#include "BKE_key.h"
#include "BKE_lattice.h"
#include "BKE_layer.h"
#include "BKE_lib_id.h"
#include "BKE_lib_query.h"
#include "BKE_lib_remap.h"
#include "BKE_light.h"
#include "BKE_lightprobe.h"
#include "BKE_linestyle.h"
#include "BKE_main.h"
#include "BKE_material.h"
#include "BKE_mball.h"
#include "BKE_mesh.h"
#include "BKE_mesh_wrapper.h"
#include "BKE_modifier.h"
#include "BKE_multires.h"
#include "BKE_node.h"
#include "BKE_object.h"
#include "BKE_object_facemap.h"
#include "BKE_paint.h"
#include "BKE_particle.h"
#include "BKE_pbvh.h"
#include "BKE_pointcache.h"
#include "BKE_pointcloud.h"
#include "BKE_rigidbody.h"
#include "BKE_scene.h"
#include "BKE_shader_fx.h"
#include "BKE_softbody.h"
#include "BKE_speaker.h"
#include "BKE_subdiv_ccg.h"
#include "BKE_subsurf.h"
#include "BKE_vfont.h"
#include "BKE_volume.h"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_query.h"
#include "DRW_engine.h"
#include "BLO_read_write.h"
#include "BLO_readfile.h"
#include "SEQ_sequencer.h"
#include "CCGSubSurf.h"
#include "atomic_ops.h"
Go to the source code of this file.
Classes | |
struct | GPencilStrokePointIterData |
struct | ObTfmBack |
Macros | |
#define | DNA_DEPRECATED_ALLOW |
#define | VPARENT_THREADING_HACK |
#define | TFMCPY(_v) (obtfm->_v = ob->_v) |
#define | TFMCPY3D(_v) copy_v3_v3(obtfm->_v, ob->_v) |
#define | TFMCPY4D(_v) copy_v4_v4(obtfm->_v, ob->_v) |
#define | TFMCPY(_v) (object_dst->_v = object_src->_v) |
#define | TFMCPY3D(_v) copy_v3_v3(object_dst->_v, object_src->_v) |
#define | TFMCPY4D(_v) copy_v4_v4(object_dst->_v, object_src->_v) |
Variables | |
static CLG_LogRef | LOG = {"bke.object"} |
static ThreadMutex | vparent_lock = BLI_MUTEX_INITIALIZER |
static AssetTypeInfo | AssetType_OB |
IDTypeInfo | IDType_ID_OB |
#define TFMCPY | ( | _v | ) | (obtfm->_v = ob->_v) |
#define TFMCPY | ( | _v | ) | (object_dst->_v = object_src->_v) |
#define TFMCPY3D | ( | _v | ) | copy_v3_v3(obtfm->_v, ob->_v) |
#define TFMCPY3D | ( | _v | ) | copy_v3_v3(object_dst->_v, object_src->_v) |
#define TFMCPY4D | ( | _v | ) | copy_v4_v4(obtfm->_v, ob->_v) |
#define TFMCPY4D | ( | _v | ) | copy_v4_v4(object_dst->_v, object_src->_v) |
#define VPARENT_THREADING_HACK |
Definition at line 3638 of file object.cc.
References BKE_boundbox_init_from_minmax().
Definition at line 3657 of file object.cc.
References BoundBox::vec.
Definition at line 3664 of file object.cc.
References fabsf, and BoundBox::vec.
Definition at line 3645 of file object.cc.
References max, min, and BoundBox::vec.
Referenced by BKE_boundbox_alloc_unit(), BKE_curve_boundbox_get(), BKE_curves_boundbox_get(), BKE_editmesh_cage_boundbox_get(), BKE_mball_texspace_calc(), BKE_mesh_boundbox_get(), BKE_object_boundbox_calc_from_evaluated_geometry(), BKE_object_boundbox_calc_from_mesh(), BKE_pchan_minmax(), BKE_pointcloud_boundbox_get(), BKE_volume_boundbox_get(), boundbox_armature(), boundbox_gpencil(), boundbox_lattice(), draw_frustum_boundbox_calc(), DRW_debug_m4_as_bbox(), ED_gpencil_projected_2d_bound_box(), eevee_lightprobes_culling_test(), lineart_geometry_check_visible(), OVERLAY_bounds(), sculpt_debug_cb(), SCULPT_update_object_bounding_box(), and workbench_shadow_object_shadow_bbox_get().
void BKE_boundbox_minmax | ( | const BoundBox * | bb, |
const float | obmat[4][4], | ||
float | r_min[3], | ||
float | r_max[3] | ||
) |
Definition at line 3671 of file object.cc.
References minmax_v3v3_v3(), mul_v3_m4v3(), and BoundBox::vec.
Referenced by BKE_object_minmax().
ModifierData* BKE_object_active_modifier | ( | const Object * | ob | ) |
Definition at line 1379 of file object.cc.
References BLI_assert, ELEM, eModifierFlag_Active, LISTBASE_FOREACH, and Object::modifiers.
Definition at line 2270 of file object.cc.
References BKE_collection_viewlayer_object_add(), BKE_layer_collection_get_active(), BKE_view_layer_base_find(), BKE_view_layer_base_select_and_set_active(), LayerCollection::collection, object_add_common(), and type.
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 | ||
) |
Add a new object, but assign the given data-block as the ob->data
for the newly created object.
data | The data-block 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 2299 of file object.cc.
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().
Object* BKE_object_add_from | ( | Main * | bmain, |
Scene * | scene, | ||
ViewLayer * | view_layer, | ||
int | type, | ||
const char * | name, | ||
Object * | ob_src | ||
) |
Definition at line 2287 of file object.cc.
References BKE_collection_object_add_from(), BKE_view_layer_base_find(), BKE_view_layer_base_select_and_set_active(), object_add_common(), scene, and type.
More general add: creates minimum required data, but without vertices etc.
bmain | The main to add the object to. May be null for LIB_ID_CREATE_NO_MAIN behavior. |
Definition at line 2241 of file object.cc.
References BKE_libblock_alloc(), get_obdata_defname(), Object::id, ID_OB, id_us_min(), LIB_ID_CREATE_NO_MAIN, object_init(), and type.
Referenced by bc_add_object(), BKE_object_add_for_data(), blender::io::obj::CurveFromGeometry::create_curve(), blender::io::obj::MeshFromGeometry::create_mesh(), blender::io::usd::USDCameraReader::create_object(), blender::io::usd::USDCurvesReader::create_object(), blender::io::usd::USDLightReader::create_object(), blender::io::usd::USDMeshReader::create_object(), blender::io::usd::USDNurbsReader::create_object(), blender::io::usd::USDVolumeReader::create_object(), blender::io::usd::USDXformReader::create_object(), duplicate_ids(), gpencil_layer_to_curve(), blender::io::stl::importer_main(), loose_data_instantiate_collection_process(), loose_data_instantiate_obdata_process(), Freestyle::BlenderStrokeRenderer::NewMesh(), object_add_common(), blender::io::alembic::AbcCameraReader::readObjectData(), blender::io::alembic::AbcCurveReader::readObjectData(), blender::io::alembic::AbcMeshReader::readObjectData(), blender::io::alembic::AbcSubDReader::readObjectData(), blender::io::alembic::AbcNurbsReader::readObjectData(), blender::io::alembic::AbcPointsReader::readObjectData(), blender::io::alembic::AbcEmptyReader::readObjectData(), and blender::bke::tests::MeshObjectTestData::setup().
void BKE_object_apply_mat4 | ( | struct Object * | ob, |
const float | mat[4][4], | ||
bool | use_compat, | ||
bool | use_parent | ||
) |
Definition at line 3575 of file object.cc.
References BKE_object_apply_mat4_ex(), Object::parent, and Object::parentinv.
Referenced by apply_objects_internal(), applyarmature_fix_boneparents(), bc_match_scale(), BKE_constraint_apply_for_object(), BKE_object_apply_parent_inverse(), DocumentImporter::create_instance_node(), blender::ed::curves::convert_from_particle_system::curves_convert_from_particle_system_exec(), ED_object_parent_clear(), ED_object_parent_set(), ED_object_xform_array_m4(), ED_view3d_camera_lock_sync(), ignore_parent_tx(), blender::io::stl::importer_main(), SkinInfo::link_armature(), make_object_duplilist_real(), object_add_named_exec(), object_apply_location(), object_apply_mat4_with_protect(), object_apply_rotation(), object_curves_empty_hair_add_exec(), object_track_clear_exec(), AnimationImporter::read_node_transform(), blender::io::usd::USDXformReader::read_object_data(), set_axis(), set_plane_exec(), blender::io::alembic::AbcObjectReader::setupObjectTransform(), blender::io::obj::transform_object(), view3d_camera_to_view_selected_impl(), and visual_transform_apply_exec().
void BKE_object_apply_mat4_ex | ( | struct Object * | ob, |
const float | mat[4][4], | ||
struct Object * | parent, | ||
const float | parentinv[4][4], | ||
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 3532 of file object.cc.
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(), rot, Object::scale, and sub_v3_v3().
Referenced by BKE_object_apply_mat4(), ED_mesh_join_objects_exec(), and ED_view3d_to_object().
Use parent's world location and rotation as the child's origin. The parent inverse will become identity when the parent has no shearing. Otherwise, it is non-identity and contains the object's local matrix data that cannot be decomposed into location, rotation and scale.
Assumes the object's world matrix has no shear. Assumes parent exists.
Definition at line 3583 of file object.cc.
References BKE_object_apply_mat4(), BKE_object_get_parent_matrix(), copy_m4_m4(), invert_m4(), invert_m4_m4(), mul_m4_m4_post(), mul_m4_m4m4(), Object::obmat, orthogonalize_m4_stable(), Object::parent, and Object::parentinv.
Referenced by object_parent_inverse_apply_exec(), and parent_noinv_set_exec().
KDTree_3d* BKE_object_as_kdtree | ( | struct Object * | ob, |
int * | r_tot | ||
) |
Return a KDTree_3d from the deformed object (in world-space).
ob | |
r_tot |
Definition at line 5260 of file object.cc.
References Freestyle::a, BKE_nurbList_verts_count_without_handles(), BKE_object_get_evaluated_mesh(), CD_ORIGINDEX, MVert::co, CustomData_get_layer(), Object::data, Lattice::def, ListBase::first, Object_Runtime::mesh_deform_eval, mul_v3_m4v3(), Mesh::mvert, Curve::nurb, OB_CURVES_LEGACY, OB_LATTICE, OB_MESH, OB_SURF, Object::obmat, ORIGINDEX_NONE, Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, Object::runtime, Mesh::totvert, tree, Object::type, BezTriple::vec, and BPoint::vec.
Referenced by parent_set_vertex_parent().
Definition at line 3743 of file object.cc.
References Object_Runtime::bb, BKE_boundbox_init_from_minmax(), BKE_displist_minmax(), BKE_mesh_wrapper_minmax(), BKE_object_get_evaluated_mesh(), BOUNDBOX_DIRTY, GeometrySet::compute_boundbox_without_instances(), Object_Runtime::curve_cache, CurveCache::disp, BoundBox::flag, Object_Runtime::geometry_set_eval, max, min, and Object::runtime.
Referenced by BKE_displist_make_curveTypes(), and object_sync_boundbox_to_original().
Definition at line 3724 of file object.cc.
References Object_Runtime::bb, BKE_boundbox_init_from_minmax(), BKE_mesh_wrapper_minmax(), BOUNDBOX_DIRTY, BoundBox::flag, max, min, and Object::runtime.
Definition at line 3684 of file object.cc.
References BKE_armature_boundbox_get(), BKE_curve_boundbox_get(), BKE_curves_boundbox_get(), BKE_gpencil_boundbox_get(), BKE_lattice_boundbox_get(), BKE_mball_boundbox_get(), BKE_mesh_boundbox_get(), BKE_pointcloud_boundbox_get(), BKE_volume_boundbox_get(), OB_ARMATURE, OB_CURVES, OB_CURVES_LEGACY, OB_FONT, OB_GPENCIL, OB_LATTICE, OB_MBALL, OB_MESH, OB_POINTCLOUD, OB_SURF, OB_VOLUME, and Object::type.
Referenced by BKE_object_dimensions_get(), BKE_object_dimensions_set_ex(), BKE_object_minmax_dupli(), BKE_pchan_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(), mesh_to_volume(), object_sync_boundbox_to_original(), OVERLAY_bounds(), raycastMesh(), RE_point_density_minmax(), select_id_object_min_max(), snapMesh(), TargetSnapClosest(), blender::io::alembic::ABCAbstractWriter::update_bounding_box(), view3d_ob_drop_matrix_from_snap(), and workbench_shadow_object_shadow_bbox_get().
Definition at line 5556 of file object.cc.
References BKE_modifier_check_uuids_unique_and_report(), BKE_pose_check_uuids_unique_and_report(), and Object::pose.
bool BKE_object_copy_gpencil_modifier | ( | struct Object * | ob_dst, |
struct GpencilModifierData * | gmd_src | ||
) |
Copy a single GPencil modifier.
BKE_object_modifier_stack_copy
instead. Definition at line 1581 of file object.cc.
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 | ( | Main * | bmain, |
Scene * | scene, | ||
Object * | ob_dst, | ||
const Object * | ob_src, | ||
ModifierData * | md_src | ||
) |
Definition at line 1482 of file object.cc.
References BKE_mesh_ensure_skin_customdata(), BKE_modifier_copydata(), BKE_modifier_get_info(), BKE_modifier_new(), BKE_modifier_unique_name(), BKE_modifiers_findby_type(), BKE_object_copy_softbody(), BKE_object_modifier_set_active(), BKE_object_support_modifier_type_check(), BLI_addtail(), BLI_assert, BLI_strncpy(), DynamicPaintModifierData::brush, Object::data, eModifierType_DynamicPaint, eModifierType_Fluid, eModifierType_Multires, eModifierType_ParticleSystem, eModifierType_Skin, eModifierType_Softbody, eModifierTypeFlag_Single, ModifierTypeInfo::flags, FluidModifierData::flow, MOD_FLUID_TYPE_FLOW, Object::modifiers, multiresModifier_sync_levels_ex(), ModifierData::name, OB_GPENCIL, object_copy_modifier_particle_system_ensure(), object_copy_particle_system(), object_modifier_type_copy_check(), DynamicPaintBrushSettings::psys, FluidFlowSettings::psys, scene, ModifierData::type, FluidModifierData::type, and Object::type.
ParticleSystem* BKE_object_copy_particlesystem | ( | ParticleSystem * | psys, |
const int | flag | ||
) |
Definition at line 2379 of file object.cc.
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, BodySpring::flag, ParticleSystem::flag, ParticleSystem::hair_in_mesh, ParticleSystem::hair_out_mesh, id_us_plus(), LIB_ID_COPY_SET_COPIED_ON_WRITE, LIB_ID_CREATE_NO_USER_REFCOUNT, MEM_dupallocN, 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().
Definition at line 2429 of file object.cc.
References BKE_object_copy_particlesystem(), BLI_addtail(), BLI_listbase_clear(), DynamicPaintModifierData::brush, eModifierType_DynamicPaint, eModifierType_Fluid, eModifierType_ParticleSystem, BodySpring::flag, FluidModifierData::flow, LISTBASE_FOREACH, MOD_FLUID_TYPE_FLOW, Object::modifiers, OB_MESH, Object::particlesystem, DynamicPaintBrushSettings::psys, FluidFlowSettings::psys, ParticleSystemModifierData::psys, FluidModifierData::type, and Object::type.
Referenced by BKE_object_modifier_stack_copy().
Definition at line 2322 of file object.cc.
References BKE_ptcache_copy_list(), SoftBody::bpoint, SoftBody::bspring, SoftBody::effector_weights, BodySpring::flag, SoftBody::keys, LIB_ID_COPY_CACHES, LIB_ID_COPY_SET_COPIED_ON_WRITE, MEM_dupallocN, SoftBody_Shared::pointcache, SoftBody_Shared::ptcaches, SoftBody::scratch, SoftBody::shared, Object::soft, Object::softflag, BodyPoint::springs, SoftBody::totkey, SoftBody::totpoint, SoftBody::totpointkey, and SoftBody::totspring.
Referenced by BKE_object_copy_modifier(), and BKE_object_modifier_stack_copy().
char* BKE_object_data_editmode_flush_ptr_get | ( | struct ID * | id | ) |
Definition at line 1941 of file object.cc.
References BLI_assert_unreachable, GS, id, ID_AR, ID_CU_LEGACY, ID_CV, 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, and type.
Referenced by ED_editors_flush_edits_for_object_ex(), and ED_object_editmode_load_free_ex().
Definition at line 1914 of file object.cc.
References BKE_object_is_in_editmode(), BLI_assert, BLI_assert_unreachable, GS, id, ID_AR, ID_CU_LEGACY, ID_CV, ID_LT, ID_MB, ID_ME, ID::name, OB_DATA_SUPPORT_EDITMODE, and type.
Definition at line 4567 of file object.cc.
References BLI_findlink(), BLI_freelinkN(), pc_findindex(), and Object::pc_ids.
Referenced by BKE_ptcache_toggle_disk_cache().
Definition at line 3786 of file object.cc.
References BKE_object_boundbox_get(), fabsf, mat4_to_size(), Object::obmat, BoundBox::vec, and zero_v3().
Referenced by DRW_object_is_flat(), object_asset_dimensions_property(), v3d_object_dimension_buts(), view3d_ob_drop_draw_activate(), workbench_volume_modifier_cache_populate(), and workbench_volume_object_cache_populate().
Definition at line 3834 of file object.cc.
References BKE_object_dimensions_set_ex().
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] | ||
) |
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 3802 of file object.cc.
References BKE_object_boundbox_get(), copysignf, CCL_NAMESPACE_BEGIN::isfinite(), len, len_v3(), Object::scale, and BoundBox::vec.
Referenced by BKE_object_dimensions_set(), and v3d_object_dimension_buts().
Definition at line 1026 of file object.cc.
References EFF_PARTICLE, PartEff::next, and PartEff::type.
Referenced by blo_do_versions_pre250(), and object_blend_read_expand().
Object* BKE_object_duplicate | ( | struct Main * | bmain, |
struct Object * | ob, | ||
uint | dupflag, | ||
uint | duplicate_options | ||
) |
Perform deep-copy of object and its 'children' data-blocks (obdata, materials, actions, etc.).
dupflag | Controls which sub-data are also duplicated (see eDupli_ID_Flags in DNA_userdef_types.h). |
Definition at line 2661 of file object.cc.
References BKE_id_copy_for_duplicate(), BKE_libblock_relink_to_newid(), BKE_main_id_newptr_and_tag_clear(), BKE_object_material_array_p(), BKE_pose_tag_recalc(), BLI_assert, Object::data, DEG_id_tag_update(), DEG_id_tag_update_ex(), ELEM, FOREACH_MAIN_ID_BEGIN, FOREACH_MAIN_ID_END, Object::id, ID_IS_LINKED, ID_RECALC_EDITORS, ID_RECALC_GEOMETRY, LIB_ID_COPY_DEFAULT, LIB_ID_COPY_RIGID_BODY_NO_COLLECTION_HANDLING, LIB_ID_DUPLICATE_IS_ROOT_ID, LIB_ID_DUPLICATE_IS_SUBPROCESS, LIB_TAG_NEW, LISTBASE_FOREACH, Object::mat, ID::newid, OB_ARMATURE, OB_CAMERA, OB_CURVES, OB_CURVES_LEGACY, OB_FONT, OB_GPENCIL, OB_LAMP, OB_LATTICE, OB_LIGHTPROBE, OB_MBALL, OB_MESH, OB_POINTCLOUD, OB_SPEAKER, OB_SURF, OB_VOLUME, Object::particlesystem, Object::pose, ID::tag, Object::totcol, Object::type, USER_DUP_ARM, USER_DUP_CAMERA, USER_DUP_CURVE, USER_DUP_CURVES, USER_DUP_FONT, USER_DUP_GPENCIL, USER_DUP_LAMP, USER_DUP_LATTICE, USER_DUP_LIGHTPROBE, USER_DUP_LINKED_ID, USER_DUP_MAT, USER_DUP_MBALL, USER_DUP_MESH, USER_DUP_POINTCLOUD, USER_DUP_PSYS, USER_DUP_SPEAKER, USER_DUP_SURF, and USER_DUP_VOLUME.
Referenced by collection_duplicate_recursive(), and object_add_duplicate_internal().
Definition at line 3937 of file object.cc.
References Object::empty_drawtype, ImageUser::flag, ImageUser::frames, IMA_ANIM_ALWAYS, Object::iuser, MEM_SAFE_FREE, OB_EMPTY, OB_EMPTY_IMAGE, 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 Object * | ob, |
const RegionView3D * | rv3d | ||
) |
Definition at line 3964 of file object.cc.
References BKE_object_empty_image_frame_is_visible_in_view3d(), BLI_assert, blender::math::dot(), dot_v3v3(), Object::empty_image_visibility_flag, eps, RegionView3D::is_persp, len_squared_v3(), normalize_v3_v3(), OB_EMPTY_IMAGE_HIDE_BACK, OB_EMPTY_IMAGE_HIDE_FRONT, OB_EMPTY_IMAGE_HIDE_NON_AXIS_ALIGNED, Object::obmat, project_plane_v3_v3v3(), sub_v3_v3v3(), and RegionView3D::viewinv.
bool BKE_object_empty_image_frame_is_visible_in_view3d | ( | const Object * | ob, |
const RegionView3D * | rv3d | ||
) |
Definition at line 3954 of file object.cc.
References Object::empty_image_visibility_flag, RegionView3D::is_persp, OB_EMPTY_IMAGE_HIDE_ORTHOGRAPHIC, and OB_EMPTY_IMAGE_HIDE_PERSPECTIVE.
Referenced by BKE_object_empty_image_data_is_visible_in_view3d().
Assign Object.data after modifier stack evaluation.
Definition at line 1745 of file object.cc.
References BLI_assert, data, Object::data, Object_Runtime::data_eval, Object_Runtime::geometry_set_eval, GS, Object::id, if(), Object_Runtime::is_data_eval_owned, LIB_TAG_COPIED_ON_WRITE, LIB_TAG_COPIED_ON_WRITE_EVAL_RESULT, LIB_TAG_NO_MAIN, ID::name, Object::runtime, and ID::tag.
Referenced by BKE_curves_data_update(), BKE_displist_make_curveTypes(), BKE_lattice_modifiers_calc(), BKE_pointcloud_data_update(), BKE_volume_data_update(), editbmesh_build_data(), and mesh_build_data().
Definition at line 2077 of file object.cc.
References LISTBASE_FOREACH, and Main::objects.
Definition at line 4832 of file object.cc.
References Object::flag, and Object::parent.
void BKE_object_foreach_display_point | ( | struct Object * | ob, |
const float | obmat[4][4], | ||
void(*)(const float[3], void *) | func_cb, | ||
void * | user_data | ||
) |
Sometimes min-max isn't enough, we need to loop over each point.
Definition at line 4142 of file object.cc.
References BKE_gpencil_visible_stroke_iter(), BKE_object_get_evaluated_mesh(), Object_Runtime::curve_cache, Object::data, CurveCache::disp, ListBase::first, foreach_display_point_gpencil_stroke_fn(), LISTBASE_FOREACH, mul_v3_m4v3(), Mesh::mvert, OB_GPENCIL, GPencilStrokePointIterData::obmat, Object::runtime, Mesh::totvert, Object::type, and user_data.
Referenced by BKE_scene_foreach_display_point().
Definition at line 1832 of file object.cc.
References Object::base_flag, BASE_FROM_DUPLI, BKE_id_free(), BKE_object_free_derived_caches(), DEG_id_tag_update(), 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, Object::particlesystem, and psys_free_path_cache().
Definition at line 1275 of file object.cc.
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, and Object::runtime.
Referenced by BKE_object_free_derived_caches(), and object_convert_exec().
Free data derived from mesh, called when mesh changes or is freed.
Definition at line 1774 of file object.cc.
References Object_Runtime::bb, BKE_crazyspace_api_eval_clear(), BKE_geometry_set_free(), BKE_gpencil_eval_delete(), BKE_libblock_free_data(), BKE_libblock_free_datablock(), BKE_mesh_eval_delete(), BKE_object_free_curve_cache(), BKE_object_to_curve_clear(), BKE_object_to_mesh_clear(), Object::data, Object_Runtime::data_eval, Object_Runtime::data_orig, Object_Runtime::editmesh_bb_cage, Object_Runtime::editmesh_eval_cage, Object_Runtime::geometry_set_eval, 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, object_update_from_subsurf_ccg(), and Object::runtime.
Referenced by BKE_curves_data_update(), BKE_displist_make_curveTypes(), 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_object_runtime_free_data(), 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(), gpencil_object_modifier_remove(), makeDerivedMesh(), object_convert_exec(), object_modifier_remove(), object_shaderfx_remove(), blender::deg::ObjectRuntimeBackup::restore_to_object(), and SCULPT_pbvh_clear().
Definition at line 1289 of file object.cc.
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().
Definition at line 1261 of file object.cc.
References BLI_pophead(), Object::particlesystem, and psys_free().
Referenced by BKE_object_free_modifiers(), and remove_particle_systems_from_object().
Definition at line 1311 of file object.cc.
References BKE_shaderfx_free_ex(), BLI_pophead(), and Object::shader_fx.
Referenced by object_convert_exec(), and object_free_data().
Definition at line 1270 of file object.cc.
References sbFree().
Referenced by BKE_object_free_modifiers().
Definition at line 4461 of file object.cc.
References BLI_assert, DEG_is_original_id(), Mesh::edit_mesh, Object::id, mesh, OB_MESH, Object::type, and UNUSED_VARS_NDEBUG.
Definition at line 4446 of file object.cc.
References BLI_assert, DEG_is_original_id(), Mesh::edit_mesh, Object::id, mesh, OB_MESH, and Object::type.
Referenced by give_parvert().
Definition at line 4488 of file object.cc.
References Lattice::editlatt, GS, ID_LT, EditLatt::latt, ID::name, and ID::runtime.
Definition at line 4400 of file object.cc.
References BKE_mesh_wrapper_ensure_subdivision(), BKE_object_get_evaluated_mesh_no_subsurf(), Object::data, GS, ID_ME, and mesh.
Referenced by BKE_object_as_kdtree(), BKE_object_boundbox_calc_from_evaluated_geometry(), BKE_object_foreach_display_point(), and give_parvert().
Definition at line 4373 of file object.cc.
References GeometrySet::get_mesh_for_read(), GS, ID_ME, mesh, ID::name, and ID::runtime.
Referenced by BKE_object_get_evaluated_mesh(), and object_update_from_subsurf_ccg().
SubsurfModifierData* BKE_object_get_last_subsurf_modifier | ( | const Object * | ob | ) |
Definition at line 5575 of file object.cc.
References eModifierType_Subsurf, ListBase::last, Object::modifiers, ModifierData::prev, and ModifierData::type.
Definition at line 4473 of file object.cc.
References data, Object::data, Lattice::editlatt, GS, ID_LT, if(), and EditLatt::latt.
Definition at line 4429 of file object.cc.
References BLI_assert, data, Object::data, Object::id, LIB_TAG_COPIED_ON_WRITE, LIB_TAG_COPIED_ON_WRITE_EVAL_RESULT, ID::orig_id, result, and ID::tag.
Definition at line 3342 of file object.cc.
References copy_m4_m4(), CU_PATH, Object::data, give_parvert(), mul_m4_m4m4(), mul_v3_m4v3(), OB_CURVES_LEGACY, 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_apply_parent_inverse(), BKE_object_eval_parent(), BKE_object_matrix_local_get(), snap_selected_to_location(), solve_parenting(), and USD_get_transform().
Definition at line 4414 of file object.cc.
References BLI_assert, Object_Runtime::data_orig, Object::id, LIB_TAG_COPIED_ON_WRITE, LIB_TAG_COPIED_ON_WRITE_EVAL_RESULT, OB_MESH, ID::orig_id, result, Object::runtime, ID::tag, and Object::type.
struct LinkNode* BKE_object_groups | ( | struct Main * | bmain, |
struct Scene * | scene, | ||
struct Object * | ob | ||
) |
Definition at line 5234 of file object.cc.
References BKE_collection_object_find(), BLI_linklist_prepend(), and scene.
Referenced by make_links_data_exec().
Definition at line 5245 of file object.cc.
References BKE_collection_object_find(), BKE_collection_object_remove(), DEG_id_tag_update(), Collection::id, ID_RECALC_COPY_ON_WRITE, and scene.
Referenced by collection_objects_remove_all_exec(), and make_links_data_exec().
void BKE_object_handle_update | ( | struct Depsgraph * | depsgraph, |
struct Scene * | scene, | ||
struct Object * | ob | ||
) |
Definition at line 4316 of file object.cc.
References BKE_object_handle_update_ex(), depsgraph, and scene.
Referenced by BKE_object_modifier_update_subframe().
void BKE_object_handle_update_ex | ( | struct Depsgraph * | depsgraph, |
struct Scene * | scene, | ||
struct Object * | ob, | ||
struct RigidBodyWorld * | rbw | ||
) |
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 4269 of file object.cc.
References BKE_object_handle_data_update(), BKE_object_where_is_calc_ex(), BKE_pose_channels_hash_ensure(), 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, OB_ARMATURE, 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 2004 of file object.cc.
References BKE_object_is_in_editmode(), SculptSession::mode_type, 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 | ( | Object * | ob | ) |
Definition at line 4524 of file object.cc.
References BLI_addtail(), BLI_listbase_sort(), LinkData::data, ListBase::first, LinkData::next, pc_cmp(), Object::pc_ids, POINTER_AS_INT, and POINTER_FROM_INT.
Referenced by ptcache_filename_ext_append().
Definition at line 4844 of file object.cc.
References Object::parent.
Referenced by BKE_object_relational_superset().
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 4982 of file object.cc.
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, OB_CURVES_LEGACY, object_deforms_in_time(), scene, Curve::taperobj, ModifierTypeInfo::type, ModifierData::type, and Object::type.
Referenced by EEVEE_motion_blur_cache_populate().
Definition at line 1879 of file object.cc.
References Object::data, GPENCIL_EDIT_MODE, Object::mode, OB_ARMATURE, OB_CURVES, OB_CURVES_LEGACY, OB_FONT, OB_GPENCIL, OB_LATTICE, OB_MBALL, OB_MESH, OB_MODE_EDIT, OB_SURF, and Object::type.
Referenced by BKE_object_data_is_in_editmode(), BKE_object_has_mode_data(), and BKE_object_is_in_editmode_vgroup().
Definition at line 1909 of file object.cc.
References BKE_object_is_in_editmode(), OB_TYPE_SUPPORT_VGROUP, and Object::type.
Definition at line 1993 of file object.cc.
References Object::data, Mesh::edit_mesh, ME_EDIT_PAINT_SEL_MODE, Object::mode, OB_MESH, OB_MODE_WEIGHT_PAINT, return(), SCE_SELECT_VERTEX, and Object::type.
Definition at line 2830 of file object.cc.
References ID_IS_LINKED.
bool BKE_object_is_mode_compat | ( | const struct Object * | ob, |
eObjectMode | object_mode | ||
) |
Definition at line 2034 of file object.cc.
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 4854 of file object.cc.
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.
Definition at line 1646 of file object.cc.
References BKE_object_free_modifiers(), and BKE_object_modifier_stack_copy().
Definition at line 2934 of file object.cc.
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 3093 of file object.cc.
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().
Definition at line 3839 of file object.cc.
References add_v3_v3(), BKE_boundbox_minmax(), BKE_curve_boundbox_get(), BKE_curves_boundbox_get(), BKE_gpencil_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_m4v3(), OB_ARMATURE, OB_CURVES, OB_CURVES_LEGACY, OB_EMPTY, OB_FONT, OB_GPENCIL, 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, and w().
Referenced by clampto_evaluate(), PE_minmax(), view3d_localview_init(), and view3d_object_calc_minmax().
bool BKE_object_minmax_dupli | ( | Depsgraph * | depsgraph, |
Scene * | scene, | ||
Object * | ob, | ||
float | r_min[3], | ||
float | r_max[3], | ||
const bool | use_hidden | ||
) |
Definition at line 4075 of file object.cc.
References Object_Runtime::bb, BKE_object_boundbox_get(), BKE_object_replace_data_on_shallow_copy(), depsgraph, free_object_duplilist(), Object_Runtime::geometry_set_eval, LISTBASE_FOREACH, MEM_SAFE_FREE, minmax_v3v3_v3(), mul_v3_m4v3(), OB_DUPLI, object_duplilist(), Object::runtime, scene, Object::transflag, and BoundBox::vec.
Referenced by object_origin_set_exec(), and view3d_object_calc_minmax().
Calculate visual bounds from an empty objects draw-type.
Definition at line 4011 of file object.cc.
References BLI_assert, CLAMP_MAX, CLAMP_MIN, copy_v3_v3(), Object::empty_drawsize, Object::empty_drawtype, Object::ima_ofs, max, min, OB_ARROWS, OB_CIRCLE, OB_CUBE, OB_EMPTY, OB_EMPTY_CONE, OB_EMPTY_IMAGE, OB_EMPTY_SPHERE, OB_PLAINAXES, OB_SINGLE_ARROW, and Object::type.
Referenced by BKE_pchan_minmax().
void BKE_object_modifier_gpencil_hook_reset | ( | Object * | ob, |
HookGpencilModifierData * | hmd | ||
) |
Definition at line 1343 of file object.cc.
References BKE_pose_channel_find_name(), Object::imat, invert_m4_m4(), mul_m4_m4m4(), HookGpencilModifierData::object, Object::obmat, HookGpencilModifierData::parentinv, Object::pose, bPoseChannel::pose_mat, and HookGpencilModifierData::subtarget.
void BKE_object_modifier_hook_reset | ( | Object * | ob, |
HookModifierData * | hmd | ||
) |
Definition at line 1320 of file object.cc.
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 | ( | struct Object * | ob, |
struct ModifierData * | md | ||
) |
Set the object's active modifier.
md | If nullptr, only clear the active modifier, otherwise it must be in the Object.modifiers list. |
Definition at line 1367 of file object.cc.
References BLI_assert, BLI_findindex(), eModifierFlag_Active, ModifierData::flag, LISTBASE_FOREACH, and Object::modifiers.
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 | ( | Object * | ob_dst, |
const Object * | ob_src, | ||
const bool | do_copy_all, | ||
const int | flag_subdata | ||
) |
Definition at line 1598 of file object.cc.
References BKE_gpencil_modifier_copydata_ex(), BKE_gpencil_modifier_new(), BKE_modifier_copy_ex(), BKE_object_copy_particlesystems(), BKE_object_copy_softbody(), BKE_object_support_modifier_type_check(), BLI_addtail(), BLI_assert, BLI_assert_msg, BLI_listbase_is_empty(), BLI_strncpy(), Object::greasepencil_modifiers, LISTBASE_FOREACH, Object::modifiers, GpencilModifierData::name, OB_GPENCIL, object_modifier_type_copy_check(), and Object::type.
Referenced by BKE_object_link_modifiers(), and object_copy_data().
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 | ||
) |
Definition at line 5405 of file object.cc.
References bArmature::adt, Curve::adt, Object::adt, ADT_RECALC_ANIM, BKE_animsys_eval_context_construct(), BKE_animsys_evaluate_animdata(), BKE_constraint_targets_flush(), BKE_constraint_targets_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, ELEM, eModifierType_DynamicPaint, eModifierType_Fluid, bArmature::id, Curve::id, Object::id, ID_RECALC_ALL, LISTBASE_FOREACH, MOD_FLUID_TYPE_DOMAIN, OB_ARMATURE, OB_CURVES_LEGACY, object_cacheIgnoreClear(), Object::parent, Object::partype, PARVERT1, PARVERT3, ID::recalc, scene, Object::track, type, FluidModifierData::type, and Object::type.
Referenced by BKE_object_modifier_update_subframe(), dynamicPaint_brushMeshCalculateVelocity(), dynamicPaint_brushObjectCalculateVelocity(), and dynamicPaint_doStep().
void BKE_object_modifiers_lib_link_common | ( | void * | userData, |
struct Object * | ob, | ||
struct ID ** | idpoin, | ||
int | cb_flag | ||
) |
Definition at line 5562 of file object.cc.
References BLO_read_id_address, Object::id, id_us_plus_no_lib(), IDWALK_CB_USER, and ID::lib.
Referenced by BKE_gpencil_modifier_blend_read_lib(), BKE_modifier_blend_read_lib(), and BKE_shaderfx_blend_read_lib().
Definition at line 4887 of file object.cc.
References BKE_animdata_id_is_animated(), BLI_listbase_is_empty(), Object::constraints, Object::id, and Object::parent.
Referenced by object_moves_in_time().
Definition at line 5042 of file object.cc.
References CAMERASOLVER_ACTIVECLIP, bCameraSolverConstraint::clip, Scene::clip, CONSTRAINT_OFF, CONSTRAINT_TYPE_CAMERASOLVER, Object::constraints, ListBase::first, bCameraSolverConstraint::flag, if(), bConstraint::next, 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().
Definition at line 2161 of file object.cc.
References BKE_armature_add(), BKE_camera_add(), BKE_curve_add(), BKE_curves_add(), BKE_gpencil_data_addnew(), 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, OB_ARMATURE, OB_CAMERA, OB_CURVES, OB_CURVES_LEGACY, OB_EMPTY, OB_FONT, OB_GPENCIL, 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(), blender::io::obj::MeshFromGeometry::create_mesh(), and object_add_common().
Definition at line 2835 of file object.cc.
References BLI_assert, Object::data, and ID_IS_LINKED.
Use with newly created objects to set their size (used to apply scene-scale).
Definition at line 2842 of file object.cc.
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 | ( | Object * | ob, |
char ** | r_texflag, | ||
float ** | r_loc, | ||
float ** | r_size | ||
) |
Definition at line 4328 of file object.cc.
References BKE_curve_texspace_ensure(), BKE_mesh_texspace_get_reference(), Object::data, GS, ID_CU_LEGACY, ID_MB, ID_ME, if(), Curve::loc, MetaBall::loc, 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 ID * | id | ) |
Definition at line 2206 of file object.cc.
References BKE_curve_type_get(), GS, id, ID_AR, ID_CA, ID_CU_LEGACY, ID_CV, ID_GD, ID_LA, ID_LP, ID_LT, ID_MB, ID_ME, ID_PT, ID_SPK, ID_VO, ID::name, OB_ARMATURE, OB_CAMERA, OB_CURVES, OB_GPENCIL, OB_LAMP, OB_LATTICE, OB_LIGHTPROBE, OB_MBALL, OB_MESH, OB_POINTCLOUD, OB_SPEAKER, and OB_VOLUME.
Referenced by BKE_object_replace_data_on_shallow_copy().
Definition at line 4820 of file object.cc.
References Object::parent.
Definition at line 2511 of file object.cc.
References BKE_modifiers_is_deformed_by_armature(), and BKE_object_pose_context_check().
Referenced by apply_armature_pose2bones_exec(), armature_layers_get_data(), BKE_object_defgroup_selected_get(), BKE_object_pose_armature_get_visible(), BKE_object_pose_armature_get_with_wpaint_check(), 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_ex(), ED_operator_posemode_local(), ED_pose_object_from_context(), ED_transform_calc_gizmo_stats(), ED_vgroup_sync_from_pose(), ED_view3d_select_filter_from_mode(), get_poselib_object(), is_cursor_visible(), outliner_show_active_get_element(), 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().
Definition at line 2553 of file object.cc.
References BASE_VISIBLE, BKE_object_pose_armature_get(), and BKE_view_layer_base_find().
A version of BKE_object_pose_armature_get with an additional check. When ob
isn't an armature: only return the referenced pose object when the active object is in weight paint mode.
Definition at line 2531 of file object.cc.
References BKE_object_pose_armature_get(), Object::mode, OB_GPENCIL, OB_MESH, OB_MODE_WEIGHT_GPENCIL, OB_MODE_WEIGHT_PAINT, and Object::type.
Referenced by view3d_select_exec().
Definition at line 2598 of file object.cc.
References BKE_object_pose_array_get_ex().
Referenced by ED_transform_calc_gizmo_stats(), snap_sel_to_grid_exec(), and snap_selected_to_location().
Object** BKE_object_pose_array_get_ex | ( | struct ViewLayer * | view_layer, |
struct View3D * | v3d, | ||
unsigned int * | r_objects_len, | ||
bool | unique | ||
) |
Access pose array with special check to get pose object when in weight paint mode.
Definition at line 2567 of file object.cc.
References BKE_object_pose_armature_get(), BKE_view_layer_array_from_objects_in_mode_params(), MEM_mallocN, OB_MODE_POSE, OBACT, and ObjectsInModeParams::object_mode.
Referenced by BKE_object_pose_array_get(), and BKE_object_pose_array_get_unique().
Object** BKE_object_pose_array_get_unique | ( | ViewLayer * | view_layer, |
View3D * | v3d, | ||
uint * | r_objects_len | ||
) |
Definition at line 2594 of file object.cc.
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().
Definition at line 2645 of file object.cc.
References BKE_object_pose_base_array_get_ex().
Referenced by ed_armature_pick_bone_impl().
Base** BKE_object_pose_base_array_get_ex | ( | ViewLayer * | view_layer, |
View3D * | v3d, | ||
uint * | r_bases_len, | ||
bool | unique | ||
) |
Definition at line 2603 of file object.cc.
References BASACT, BKE_object_pose_armature_get(), BKE_view_layer_array_from_bases_in_mode_params(), BKE_view_layer_base_find(), MEM_mallocN, OB_MODE_POSE, Base::object, and ObjectsInModeParams::object_mode.
Referenced by BKE_object_pose_base_array_get(), and BKE_object_pose_base_array_get_unique().
Base** BKE_object_pose_base_array_get_unique | ( | ViewLayer * | view_layer, |
View3D * | v3d, | ||
uint * | r_bases_len | ||
) |
Definition at line 2641 of file object.cc.
References BKE_object_pose_base_array_get_ex().
Referenced by ED_pose_deselect_all_multi().
Definition at line 2502 of file object.cc.
References Object::mode, OB_ARMATURE, OB_MODE_POSE, Object::pose, and Object::type.
Referenced by BKE_object_pose_armature_get().
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 5157 of file object.cc.
References BASE_EDITABLE, BASE_SELECTED_EDITABLE, BKE_object_is_child_recursive(), LIB_TAG_DOIT, LISTBASE_FOREACH, 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, ViewLayer::object_bases, obrel_armature_find(), obrel_list_add(), obrel_list_test(), and Object::parent.
Referenced by collada_export().
Definition at line 5590 of file object.cc.
References Object_Runtime::bb, BKE_object_obdata_to_type(), BOUNDBOX_DIRTY, Object::data, Object_Runtime::data_eval, BoundBox::flag, Object_Runtime::geometry_set_eval, Object::id, ID::py_instance, Object::runtime, and Object::type.
Referenced by BKE_object_minmax_dupli(), and duplidata_key_free().
Definition at line 2894 of file object.cc.
References axis_angle_to_mat3(), copy_m3_m3(), Object::dquat, Object::drot, Object::drotAngle, Object::drotAxis, eulO_to_mat3(), mul_m3_m3m3(), normalize_qt_qt(), Object::quat, quat_to_mat3(), Object::rot, ROT_MODE_AXISANGLE, Object::rotAngle, Object::rotAxis, and Object::rotmode.
Referenced by BKE_object_to_mat3().
The function frees memory used by the runtime data, but not the runtime field itself.
All runtime data is cleared to ensure it's not used again, in keeping with other _free_data(..)
functions.
Definition at line 5110 of file object.cc.
References BKE_object_free_derived_caches(), and BKE_object_runtime_reset().
Referenced by curve_to_mesh_eval_ensure().
Definition at line 5090 of file object.cc.
References Object::runtime.
Referenced by BKE_object_runtime_free_data(), curve_to_mesh_eval_ensure(), blender::deg::ObjectRuntimeBackup::init_from_object(), object_blend_read_data(), and object_blend_write().
Definition at line 5095 of file object.cc.
References Object_Runtime::crazyspace_deform_cos, Object_Runtime::crazyspace_deform_imats, Object_Runtime::curve_cache, Object_Runtime::data_eval, Object_Runtime::geometry_set_eval, Object_Runtime::gpd_eval, Object_Runtime::mesh_deform_eval, Object_Runtime::object_as_temp_curve, and Object_Runtime::object_as_temp_mesh.
Referenced by object_copy_data().
Definition at line 2887 of file object.cc.
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 5031 of file object.cc.
References BKE_collection_has_object_recursive(), LISTBASE_FOREACH, Scene::master_collection, scene, and Main::scenes.
Referenced by single_object_users_collection().
Definition at line 4321 of file object.cc.
References BLI_assert, Object::mode, SculptSession::mode_type, OB_MODE_ALL_SCULPT, and Object::sculpt.
Referenced by ED_editors_init(), and object_blend_read_data().
Definition at line 4729 of file object.cc.
References BKE_id_free_us(), BKE_key_from_object_p(), and ELEM.
Referenced by BKE_object_shapekey_remove(), and shape_key_remove_exec().
KeyBlock* BKE_object_shapekey_insert | ( | Main * | bmain, |
Object * | ob, | ||
const char * | name, | ||
const bool | from_mix | ||
) |
Definition at line 4697 of file object.cc.
References insert_curvekey(), insert_lattkey(), insert_meshkey(), OB_CURVES_LEGACY, OB_LATTICE, OB_MESH, OB_SURF, Object::shapenr, and Object::type.
Referenced by ED_object_shape_key_add().
Definition at line 4746 of file object.cc.
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, if(), LISTBASE_FOREACH, MEM_freeN, mesh, Mesh::mvert, OB_CURVES_LEGACY, OB_LATTICE, OB_MESH, OB_SURF, Key::refkey, Object::shapenr, Key::totkey, Mesh::totvert, and Object::type.
Referenced by object_shapekey_remove().
Definition at line 1414 of file object.cc.
References BKE_modifier_get_info(), ELEM, eModifierTypeFlag_AcceptsCVs, eModifierTypeFlag_AcceptsMesh, eModifierTypeFlag_AcceptsVertexCosOnly, ModifierTypeInfo::flags, ModifierTypeInfo::modifyGeometrySet, OB_CURVES, OB_CURVES_LEGACY, OB_FONT, OB_LATTICE, OB_MESH, OB_POINTCLOUD, OB_SURF, OB_VOLUME, and Object::type.
Referenced by BKE_object_copy_modifier(), and BKE_object_modifier_stack_copy().
Definition at line 5070 of file object.cc.
References ELEM, OB_CURVES, OB_CURVES_LEGACY, OB_FONT, OB_GPENCIL, OB_MBALL, OB_MESH, OB_POINTCLOUD, OB_SURF, OB_VOLUME, and Object::type.
Referenced by basic_cache_populate(), and BKE_object_material_slot_used().
Definition at line 1401 of file object.cc.
References ELEM, OB_CURVES, OB_CURVES_LEGACY, OB_FONT, OB_LATTICE, OB_MESH, OB_POINTCLOUD, OB_SURF, OB_VOLUME, and Object::type.
Definition at line 4219 of file object.cc.
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().
void BKE_object_tfm_protected_backup | ( | const Object * | ob, |
ObjectTfmProtectedChannels * | obtfm | ||
) |
void BKE_object_tfm_protected_restore | ( | Object * | ob, |
const ObjectTfmProtectedChannels * | obtfm, | ||
const short | protectflag | ||
) |
Definition at line 3007 of file object.cc.
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(), object_apply_mat4_with_protect(), view3d_camera_to_view_exec(), and view3d_camera_to_view_selected_impl().
Definition at line 4242 of file object.cc.
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().
Curve* BKE_object_to_curve | ( | struct Object * | object, |
struct Depsgraph * | depsgraph, | ||
bool | apply_modifiers | ||
) |
This is an utility function for Python's object.to_curve()
. The result is owned by the object.
The curve will be freed when object is re-evaluated or is destroyed. It is possible to force clear memory used by this curve by calling BKE_object_to_curve_clear().
If apply_modifiers is true and the object is a curve one, then spline deform modifiers are applied on the curve control points.
Definition at line 5538 of file object.cc.
References BKE_curve_new_from_object(), BKE_object_to_curve_clear(), curve, and depsgraph.
Definition at line 5547 of file object.cc.
References BKE_id_free(), Object_Runtime::object_as_temp_curve, and Object::runtime.
Referenced by BKE_object_free_derived_caches(), and BKE_object_to_curve().
Definition at line 3069 of file object.cc.
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 3082 of file object.cc.
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(), ED_object_base_init_transform_on_add(), ED_object_xform_array_m4(), 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().
Mesh* BKE_object_to_mesh | ( | struct Depsgraph * | depsgraph, |
struct Object * | object, | ||
bool | preserve_all_data_layers | ||
) |
This is an utility function for Python's object.to_mesh() (the naming is not very clear though). The result is owned by the object.
The mesh will be freed when object is re-evaluated or is destroyed. It is possible to force to clear memory used by this mesh by calling BKE_object_to_mesh_clear().
If preserve_all_data_layers is truth then the modifier stack is re-evaluated to ensure it preserves all possible custom data layers.
NOTE: Dependency graph argument is required when preserve_all_data_layers is truth, and is ignored otherwise.
Definition at line 5520 of file object.cc.
References BKE_mesh_new_from_object(), BKE_object_to_mesh_clear(), depsgraph, and mesh.
Referenced by Freestyle::BlenderFileLoader::Load().
Definition at line 5529 of file object.cc.
References BKE_id_free(), Object_Runtime::object_as_temp_mesh, and Object::runtime.
Referenced by BKE_object_free_derived_caches(), BKE_object_to_mesh(), and Freestyle::BlenderFileLoader::Load().
Definition at line 2650 of file object.cc.
References copy_v3_v3(), copy_v4_v4(), Object::loc, Object::quat, Object::rot, Object::rotAngle, Object::rotAxis, Object::rotmode, and Object::scale.
Updates select_id of all objects in the given bmain.
Definition at line 5504 of file object.cc.
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_ex(), view3d_box_select_exec(), view3d_circle_select_exec(), view3d_lasso_select_exec(), and view3d_select_exec().
int BKE_object_visibility | ( | const Object * | ob, |
const int | dag_eval_mode | ||
) |
Definition at line 2039 of file object.cc.
References Object::base_flag, BASE_VISIBLE_DEPSGRAPH, BKE_object_has_geometry_set_instances(), DAG_EVAL_RENDER, DAG_EVAL_VIEWPORT, Object::duplicator_visibility_flag, ListBase::first, OB_DUPLI, OB_DUPLI_FLAG_RENDER, OB_DUPLI_FLAG_VIEWPORT, OB_VISIBLE_INSTANCES, OB_VISIBLE_PARTICLES, OB_VISIBLE_SELF, Object::particlesystem, and Object::transflag.
void BKE_object_where_is_calc | ( | struct Depsgraph * | depsgraph, |
struct Scene * | scene, | ||
struct Object * | ob | ||
) |
Compute object world transform and store it in ob->obmat
.
Definition at line 3495 of file object.cc.
References DEG_get_ctime(), depsgraph, 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 | ( | Depsgraph * | depsgraph, |
Scene * | scene, | ||
RigidBodyWorld * | rbw, | ||
Object * | ob, | ||
float | r_originmat[3][3] | ||
) |
Definition at line 3489 of file object.cc.
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 3478 of file object.cc.
References BKE_object_to_mat4(), 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 | ( | Depsgraph * | depsgraph, |
Scene * | scene, | ||
Object * | ob, | ||
float | ctime | ||
) |
Definition at line 3467 of file object.cc.
References Object::adt, ADT_RECALC_ALL, BKE_animsys_eval_context_construct(), BKE_animsys_evaluate_animdata(), DEG_is_active(), depsgraph, Object::id, object_where_is_calc_ex(), and scene.
Referenced by BKE_object_modifier_update_subframe(), and evaluate_emitter_anim().
void BKE_object_workob_calc_parent | ( | struct Depsgraph * | depsgraph, |
struct Scene * | scene, | ||
struct Object * | ob, | ||
struct 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 3501 of file object.cc.
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 apply_objects_internal(), applyarmature_fix_boneparents(), ED_object_parent_set(), ignore_parent_tx(), SkinInfo::link_armature(), and vertex_parent_set_exec().
Definition at line 1252 of file object.cc.
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 | ( | Depsgraph * | depsgraph, |
void(*)(const float[3], void *) | func_cb, | ||
void * | user_data | ||
) |
Definition at line 4182 of file object.cc.
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().
|
static |
Definition at line 4918 of file object.cc.
References ArrayModifierData::curve_ob, eModifierType_Array, eModifierType_MeshSequenceCache, eModifierType_Mirror, eModifierType_Nodes, eModifierType_Screw, ArrayModifierData::end_cap, MirrorModifierData::mirror_ob, ScrewModifierData::ob_axis, object_moves_in_time(), ArrayModifierData::offset_ob, ArrayModifierData::start_cap, and ModifierData::type.
Referenced by BKE_object_is_deform_modified().
Copy CCG related data. Used to sync copy of mesh with reshaped original mesh.
Definition at line 1656 of file object.cc.
References BLI_assert, CD_CALLOC, CustomData_add_layer(), CustomData_copy_layer_type_data(), CustomData_free_layer(), CustomData_get_layer_index(), CustomData_has_layer(), Mesh::ldata, and Mesh::totloop.
Referenced by object_update_from_subsurf_ccg().
Definition at line 2473 of file object.cc.
References BKE_constraint_targets_flush(), BKE_constraint_targets_get(), BKE_pose_copy_data_ex(), bPose::chanbase, BodySpring::flag, LISTBASE_FOREACH, Object::pose, POSE_LOC, POSE_ROT, and POSE_SIZE.
Referenced by object_copy_data().
|
static |
Definition at line 600 of file object.cc.
References BLO_read_list(), and LISTBASE_FOREACH.
Referenced by object_blend_read_data().
|
static |
Definition at line 1010 of file object.cc.
References BLO_expand, and LISTBASE_FOREACH.
Referenced by object_blend_read_expand().
|
static |
Definition at line 1017 of file object.cc.
References BLO_expand.
Referenced by object_blend_read_expand().
|
static |
Definition at line 4125 of file object.cc.
References mul_v3_m4v3(), GPencilStrokePointIterData::obmat, GPencilStrokePointIterData::point_func_cb, bGPDstroke::points, GPencilStrokePointIterData::user_data, and bGPDspoint::x.
Referenced by BKE_object_foreach_display_point().
|
static |
Definition at line 2094 of file object.cc.
References BLT_I18NCONTEXT_ID_LIGHT, CLOG_ERROR, CTX_DATA_, DATA_, LOG, OB_ARMATURE, OB_CAMERA, OB_CURVES, OB_CURVES_LEGACY, OB_EMPTY, OB_FONT, OB_GPENCIL, OB_LAMP, OB_LATTICE, OB_LIGHTPROBE, OB_MBALL, OB_MESH, OB_POINTCLOUD, OB_SPEAKER, OB_SURF, OB_VOLUME, and type.
Referenced by BKE_object_add_only_object(), and BKE_object_obdata_add_from_type().
Definition at line 3203 of file object.cc.
References add_v3_v3(), BKE_curve_nurbs_get(), BKE_displist_find(), BKE_nurbList_index_get_co(), BKE_object_get_editmesh_eval_final(), BKE_object_get_evaluated_mesh(), BLI_assert, BLI_assert_msg, BLI_mutex_lock(), BLI_mutex_unlock(), BM_mesh_elem_table_ensure(), BM_VERT, BM_vert_at_index(), CD_ORIGINDEX, CLOG_ERROR, BMVert::co, copy_v3_v3(), count, Object_Runtime::curve_cache, CustomData_get_layer(), CustomData_has_layer(), Object::data, Lattice::def, CurveCache::deformed_nurbs, CurveCache::disp, DL_VERTS, Mesh::edit_mesh, Lattice::editlatt, ELEM, ListBase::first, float(), if(), EditLatt::latt, LOG, ME_WRAPPER_TYPE_BMESH, mul_v3_fl(), OB_CURVES_LEGACY, OB_LATTICE, OB_MESH, OB_SURF, Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, Object::runtime, Object::type, v, BPoint::vec, vparent_lock, and zero_v3().
Referenced by BKE_object_get_parent_matrix(), and ob_parvert3().
|
static |
Definition at line 4651 of file object.cc.
References BKE_curve_nurbs_get(), BKE_key_add(), BKE_key_evaluate_object(), BKE_keyblock_add_ctime(), BKE_keyblock_convert_from_curve(), data, KeyBlock::data, Object::data, Curve::key, KEY_RELATIVE, MEM_dupallocN, and KeyBlock::totelem.
Referenced by BKE_object_shapekey_insert().
|
static |
Definition at line 4613 of file object.cc.
References BKE_key_add(), BKE_key_evaluate_object(), BKE_keyblock_add_ctime(), BKE_keyblock_convert_from_lattice(), data, KeyBlock::data, Object::data, if(), Lattice::key, KEY_RELATIVE, MEM_dupallocN, and KeyBlock::totelem.
Referenced by BKE_object_shapekey_insert().
|
static |
Definition at line 4581 of file object.cc.
References BKE_key_add(), BKE_key_evaluate_object(), BKE_keyblock_add_ctime(), BKE_keyblock_convert_from_mesh(), data, Object::data, if(), Mesh::key, and KEY_RELATIVE.
Referenced by BKE_object_shapekey_insert().
|
static |
Definition at line 831 of file object.cc.
References BLO_read_id_address, id, ID::lib, and LISTBASE_FOREACH.
Referenced by object_blend_read_lib().
|
static |
Definition at line 818 of file object.cc.
References BLO_read_id_address, id, ID::lib, and LISTBASE_FOREACH.
Referenced by object_blend_read_lib().
|
static |
Definition at line 351 of file object.cc.
References BKE_LIB_FOREACHID_PROCESS_FUNCTION_CALL, BKE_lib_query_foreachid_process(), data, IDWALK_CB_NOP, IDWALK_CB_USER, and user_data.
Referenced by object_foreach_id().
|
static |
Definition at line 331 of file object.cc.
References BKE_LIB_FOREACHID_PROCESS_FUNCTION_CALL, BKE_lib_query_foreachid_process(), data, and user_data.
Referenced by object_foreach_id().
|
static |
Definition at line 321 of file object.cc.
References BKE_LIB_FOREACHID_PROCESS_FUNCTION_CALL, BKE_lib_query_foreachid_process(), data, and user_data.
Referenced by object_foreach_id().
|
static |
Definition at line 362 of file object.cc.
References BKE_LIB_FOREACHID_PROCESS_FUNCTION_CALL, BKE_lib_query_foreachid_process(), data, and user_data.
Referenced by object_foreach_id().
|
static |
Definition at line 341 of file object.cc.
References BKE_LIB_FOREACHID_PROCESS_FUNCTION_CALL, BKE_lib_query_foreachid_process(), data, and user_data.
Referenced by object_foreach_id().
Definition at line 4958 of file object.cc.
References AnimData::action, Object::adt, bAction::curves, AnimData::drivers, and LISTBASE_FOREACH.
Referenced by BKE_object_is_deform_modified().
Definition at line 3169 of file object.cc.
References add_v3_v3(), BKE_pose_channel_find_name(), bPoseChannel::bone, BONE_RELATIVE_PARENTING, bPoseChannel::chan_mat, CLOG_WARN, copy_m4_m4(), copy_v3_v3(), Bone::flag, Object::id, Bone::length, LOG, mul_v3_fl(), ID::name, OB_ARMATURE, Object::parsubstr, Object::pose, bPoseChannel::pose_mat, Object::type, and unit_m4().
Referenced by BKE_object_get_parent_matrix().
Definition at line 3110 of file object.cc.
References CurveCache::anim_path_accum_length, BKE_where_on_path(), CLAMP, copy_m4_m4(), copy_v3_v3(), Curve::ctime, CU_FOLLOW, CU_PATH_CLAMP, CU_PATH_RADIUS, Object_Runtime::curve_cache, Object::data, Curve::flag, if(), mul_m4_m4m4(), normalize_qt(), Curve::pathlen, quat_apply_track(), quat_to_mat4(), Object::runtime, scale_m4_fl(), Object::trackflag, unit_m4(), and Object::upflag.
Referenced by BKE_object_get_parent_matrix().
Definition at line 3321 of file object.cc.
References copy_m4_m3(), give_parvert(), mid_v3_v3v3v3(), OB_TYPE_SUPPORT_PARVERT, Object::par1, Object::par2, Object::par3, quat_to_mat3(), tri_to_quat(), Object::type, unit_m4(), v1, and v2.
Referenced by BKE_object_get_parent_matrix().
|
static |
Definition at line 2259 of file object.cc.
References BKE_object_add_only_object(), BKE_object_obdata_add_from_type(), BKE_view_layer_base_deselect_all(), Object::data, DEG_id_tag_update_ex(), Object::id, ID_RECALC_ANIMATION, ID_RECALC_GEOMETRY, ID_RECALC_TRANSFORM, and type.
Referenced by BKE_object_add(), and BKE_object_add_from().
|
static |
Definition at line 1188 of file object.cc.
References IDPropertyTemplate::array, ARRAY_SIZE, BKE_object_dimensions_get(), IDP_Array, IDP_ARRAY, IDP_FLOAT, IDP_New(), is_zero_v3(), and IDPropertyTemplate::len.
Referenced by object_asset_pre_save().
|
static |
Definition at line 1206 of file object.cc.
References BKE_asset_metadata_idprop_ensure(), BLI_assert, GS, Object::id, ID_OB, ID::name, and object_asset_dimensions_property().
|
static |
Definition at line 609 of file object.cc.
References Freestyle::a, Object::adt, animviz_motionpath_blend_read_data(), BKE_animdata_blend_read_data(), BKE_constraint_blend_read_data(), BKE_effector_add_weights(), BKE_gpencil_modifier_blend_read_data(), BKE_modifier_blend_read_data(), BKE_modifier_new(), BKE_modifier_unique_name(), BKE_object_empty_draw_type_set(), BKE_object_runtime_reset(), BKE_object_sculpt_data_create(), BKE_particle_partdeflect_blend_read_data(), BKE_particle_system_blend_read_data(), BKE_pose_blend_read_data(), BKE_previewimg_blend_read(), BKE_ptcache_blend_read_data(), BKE_shaderfx_blend_read_data(), BLI_addhead(), BLI_addtail(), BLI_remlink(), BLO_read_data_address, BLO_read_data_is_undo(), BLO_read_int32_array(), BLO_read_list(), BLO_read_pointer_array(), SoftBody::bpoint, SoftBody::bspring, ObHook::cent, CLAMP, Object::constraints, copy_v3_v3(), WaveEff::damp, WaveModifierData::damp, direct_link_nlastrips(), EFF_BUILD, EFF_PARTICLE, EFF_WAVE, SoftBody::effector_weights, eModifierType_Build, eModifierType_Hook, eModifierType_Wave, Object::empty_drawtype, ObHook::falloff, WaveEff::flag, WaveModifierData::flag, Object::fmaps, ObHook::force, Object::greasepencil_modifiers, WaveEff::height, WaveModifierData::height, Object::id, ObHook::indexar, Object::iuser, PartEff::keys, SoftBody::keys, BuildEff::len, BuildModifierData::length, LIB_TAG_EXTERN, LIB_TAG_INDIRECT, WaveEff::lifetime, WaveModifierData::lifetime, Object::lightgroup, Object::mat, Object::matbits, MEM_callocN, MEM_freeN, Object::mode, Object::modifiers, Object::mpath, WaveEff::narrow, WaveModifierData::narrow, PartEff::next, next, OB_EMPTY, OB_EMPTY_IMAGE, OB_MODE_ALL_MODE_DATA, OB_MODE_ALL_SCULPT, OB_MODE_EDIT, OB_MODE_PARTICLE_EDIT, ObHook::parent, ObHook::parentinv, Object::particlesystem, Object::pc_ids, Object::pd, RigidBodyCon::physics_constraint, SoftBody_Shared::pointcache, Object::pose, Object::preview, SoftBody_Shared::ptcaches, BuildModifierData::randomize, Object::rigidbody_constraint, Object::rigidbody_object, ROT_MODE_MAX, ROT_MODE_MIN, Object::rotmode, SoftBody::scratch, Object::sculpt, BuildModifierData::seed, BuildEff::sfra, Object::shader_fx, SoftBody::shared, RigidBodyOb::shared, Object::soft, WaveEff::speed, WaveModifierData::speed, BuildModifierData::start, WaveEff::startx, WaveModifierData::startx, WaveModifierData::starty, ID::tag, WaveEff::timeoffs, WaveModifierData::timeoffs, ObHook::totindex, SoftBody::totkey, PartEff::type, Object::type, WaveEff::width, and WaveModifierData::width.
|
static |
Definition at line 1040 of file object.cc.
References Freestyle::a, BKE_constraint_blend_read_expand(), BKE_gpencil_modifiers_foreach_ID_link(), BKE_modifiers_foreach_ID_link(), BKE_object_do_version_give_parteff_245(), BKE_pose_blend_read_expand(), BKE_shaderfx_foreach_ID_link(), BLO_expand, SoftBody::collision_group, Object::constraints, Object::data, SoftBody::effector_weights, expand_constraint_channels(), expand_object_expandModifiers(), PartDeflect::f_source, ListBase::first, Object::greasepencil_modifiers, PartEff::group, EffectorWeights::group, Object::instance_collection, LISTBASE_FOREACH, Object::mat, Object::modifiers, RigidBodyCon::ob1, RigidBodyCon::ob2, Object::parent, Object::particlesystem, Object::pd, Object::pose, Object::poselib, Object::rigidbody_constraint, Object::shader_fx, Object::soft, PartDeflect::tex, and Object::totcol.
|
static |
Definition at line 838 of file object.cc.
References Freestyle::a, BKE_constraint_blend_read_lib(), BKE_gpencil_modifier_blend_read_lib(), BKE_modifier_blend_read_lib(), BKE_modifiers_findby_type(), BKE_object_materials_test(), BKE_particle_partdeflect_blend_read_lib(), BKE_particle_system_blend_read_lib(), BKE_pose_blend_read_lib(), BKE_pose_free(), BKE_shaderfx_blend_read_lib(), BLO_read_get_new_id_address(), BLO_read_id_address, BLO_read_lib_get_main(), BLO_read_lib_reports(), BLO_reportf_wrap(), SoftBody::collision_group, Object::constraints, BlendFileReadReport::count, Object::data, FluidModifierData::domain, EFF_PARTICLE, FluidModifierData::effector, SoftBody::effector_weights, eModifierType_Fluid, eModifierType_Fluidsim, Library::filepath, FluidDomainSettings::flags, FluidFlowSettings::flags, FluidEffectorSettings::flags, FluidModifierData::flow, FLUID_DOMAIN_FILE_LOAD, FLUID_EFFECTOR_NEEDS_UPDATE, FLUID_FLOW_NEEDS_UPDATE, FluidsimModifierData::fss, EffectorWeights::group, Collection::id, Object::id, ID_IS_LINKED, Object::instance_collection, FluidsimSettings::ipo, ID::lib, lib_link_constraint_channels(), lib_link_nlastrips(), LISTBASE_FOREACH, Object::mat, MEM_freeN, BlendFileReadReport::missing_obdata, BlendFileReadReport::missing_obproxies, MOD_FLUID_TYPE_DOMAIN, MOD_FLUID_TYPE_EFFEC, MOD_FLUID_TYPE_FLOW, Object::mode, ID::name, RigidBodyCon::ob1, RigidBodyCon::ob2, OB_DUPLICOLLECTION, OB_EMPTY, OB_MODE_POSE, Object::parent, Object::particlesystem, Object::pd, Object::pose, Object::poselib, Object::rigidbody_constraint, RPT_INFO, Object::soft, TIP_, Object::totcol, Object::track, Object::transflag, FluidModifierData::type, and Object::type.
|
static |
Definition at line 525 of file object.cc.
References Object::adt, animviz_motionpath_blend_write(), BKE_animdata_blend_write(), BKE_constraint_blend_write(), BKE_gpencil_modifier_blend_write(), BKE_id_blend_write(), BKE_modifier_blend_write(), BKE_object_runtime_reset(), BKE_particle_system_blend_write(), BKE_pose_blend_write(), BKE_previewimg_blend_write(), BKE_ptcache_blend_write(), BKE_shaderfx_blend_write(), BLO_write_id_struct, BLO_write_is_undo(), BLO_write_pointer_array(), BLO_write_raw(), BLO_write_struct, BLO_write_struct_list, Object::constraints, Object::data, SoftBody::effector_weights, Object::empty_drawtype, Object::fmaps, Object::greasepencil_modifiers, Object::id, Object::iuser, Object::lightgroup, Object::mat, Object::matbits, Object::mode, Object::modifiers, Object::mpath, OB_ARMATURE, OB_EMPTY, OB_EMPTY_IMAGE, OB_MODE_EDIT, Object::particlesystem, Object::pc_ids, Object::pd, SoftBody_Shared::pointcache, Object::pose, Object::preview, SoftBody_Shared::ptcaches, Object::rigidbody_constraint, Object::rigidbody_object, Object::shader_fx, SoftBody::shared, Object::soft, Object::totcol, Object::type, and write_fmaps().
Set "ignore cache" flag for all caches on this object.
Definition at line 5386 of file object.cc.
References BKE_ptcache_ids_from_object(), BLI_freelistN(), LISTBASE_FOREACH, PTCACHE_IGNORE_CLEAR, and state.
Referenced by BKE_object_modifier_update_subframe().
|
static |
Definition at line 181 of file object.cc.
References animviz_copy_motionpath(), Object::avs, Object_Runtime::bb, BKE_constraints_copy_ex(), BKE_object_facemap_copy_list(), BKE_object_modifier_stack_copy(), BKE_object_runtime_reset_on_copy(), BKE_pose_rebuild(), BKE_previewimg_id_copy(), BKE_rigidbody_object_copy(), BKE_shaderfx_copydata_ex(), BKE_shaderfx_new(), BLI_addtail(), BLI_assert_msg, BLI_listbase_clear(), BLI_strncpy(), Object::constraints, copy_object_pose(), Object::data, Object::drawdata, Object::fmaps, Object::greasepencil_modifiers, Object::id, Object::iuser, LIB_ID_COPY_NO_PREVIEW, LIB_ID_CREATE_NO_USER_REFCOUNT, Object::lightgroup, LISTBASE_FOREACH, Object::mat, Object::matbits, MEM_dupallocN, Object::mode, Object::modifiers, Object::mpath, ShaderFxData::name, OB_ARMATURE, OB_GPENCIL, OB_MODE_OBJECT, Object::pc_ids, Object::pd, Object::pose, Object::preview, PartDeflect::rng, Object::runtime, Object::sculpt, Object::shader_fx, Object::totcol, and Object::type.
|
static |
Find a psys
matching given psys_src
in ob_dst
(i.e. sharing the same ParticleSettings ID), or add one, and return valid psys
from ob_dst
.
Definition at line 1457 of file object.cc.
References LISTBASE_FOREACH, object_copy_particle_system(), ParticleSystem::part, Object::particlesystem, and scene.
Referenced by BKE_object_copy_modifier().
Definition at line 4907 of file object.cc.
References BKE_key_from_object(), BLI_listbase_is_empty(), Object::modifiers, and object_moves_in_time().
Referenced by BKE_object_is_deform_modified().
|
static |
Definition at line 372 of file object.cc.
References BKE_constraints_id_loop(), BKE_gpencil_modifiers_foreach_ID_link(), BKE_LIB_FOREACHID_PROCESS_FUNCTION_CALL, BKE_LIB_FOREACHID_PROCESS_ID, BKE_LIB_FOREACHID_PROCESS_IDSUPER, BKE_lib_query_idpropertiesForeachIDLink_callback(), BKE_modifiers_foreach_ID_link(), BKE_particlesystem_id_loop(), BKE_shaderfx_foreach_ID_link(), bPose::chanbase, SoftBody::collision_group, Object::constraints, data, Object::data, SoftBody::effector_weights, PartDeflect::f_source, EffectorWeights::group, IDP_foreach_property(), IDP_TYPE_FILTER_ID, IDWALK_CB_NEVER_NULL, IDWALK_CB_NEVER_SELF, IDWALK_CB_NOP, IDWALK_CB_USER, Object::instance_collection, library_foreach_constraintObjectLooper(), library_foreach_gpencil_modifiersForeachIDLink(), library_foreach_modifiersForeachIDLink(), library_foreach_particlesystemsObjectLooper(), library_foreach_shaderfxForeachIDLink(), LISTBASE_FOREACH, Object::mat, RigidBodyCon::ob1, RigidBodyCon::ob2, OB_EMPTY, Object::parent, Object::particlesystem, Object::pd, Object::pose, Object::poselib, Object::rigidbody_constraint, Object::soft, PartDeflect::tex, Object::track, and Object::type.
|
static |
Definition at line 468 of file object.cc.
References BKE_bpath_foreach_path_fixed_process(), FluidDomainSettings::cache_directory, OceanModifierData::cachepath, FluidModifierData::domain, eModifierType_Cloth, eModifierType_Fluid, eModifierType_Fluidsim, eModifierType_MeshCache, eModifierType_Ocean, MeshCacheModifierData::filepath, FluidsimModifierData::fss, id, LISTBASE_FOREACH, MOD_FLUID_TYPE_DOMAIN, Object::modifiers, object_foreach_path_pointcache(), Object::particlesystem, ClothModifierData::ptcaches, SoftBody_Shared::ptcaches, SoftBody::shared, Object::soft, FluidsimSettings::surfdataPath, and FluidModifierData::type.
|
static |
Definition at line 457 of file object.cc.
References BKE_bpath_foreach_path_fixed_process(), ListBase::first, and PTCACHE_DISK_CACHE.
Referenced by object_foreach_path().
Definition at line 269 of file object.cc.
References CurveCache::anim_path_accum_length, animviz_free_motionpath(), Object_Runtime::bb, CurveCache::bev, BKE_constraints_free_ex(), BKE_curve_bevelList_free(), BKE_object_free_modifiers(), BKE_object_free_shaderfx(), BKE_partdeflect_free(), BKE_pose_free_ex(), BKE_previewimg_free(), BKE_rigidbody_free_constraint(), BKE_rigidbody_free_object(), BKE_sculptsession_free(), BLI_freelistN(), Object::constraints, Object_Runtime::curve_cache, DRW_drawdata_free(), Object::fmaps, Object::iuser, LIB_ID_CREATE_NO_USER_REFCOUNT, Object::lightgroup, Object::mat, Object::matbits, MEM_freeN, MEM_SAFE_FREE, Object::mpath, Object::pc_ids, Object::pd, Object::pose, Object::preview, Object::runtime, and sbFree().
Definition at line 2135 of file object.cc.
References Object::dtx, ELEM, Object::id, Object::ima_ofs, OB_CAMERA, OB_EMPTY, OB_GPENCIL, OB_HIDE_CAMERA, OB_LAMP, OB_NEGZ, OB_POSY, OB_SHADOW_CATCHER, OB_SPEAKER, OB_USE_GPENCIL_LIGHTS, object_init_data(), Object::trackflag, Object::type, Object::upflag, Object::visibility_flag, and zero_v2().
Referenced by BKE_object_add_only_object().
Definition at line 165 of file object.cc.
References animviz_settings_init(), Object::avs, BLI_assert, DNA_struct_default_get, MEMCMP_STRUCT_AFTER_IS_ZERO, MEMCPY_STRUCT_AFTER, OB_EMPTY, OB_POSY, OB_POSZ, Object::trackflag, Object::type, and Object::upflag.
Referenced by object_init().
Definition at line 1125 of file object.cc.
References BKE_ptcache_ids_from_object(), BLI_freelistN(), PTCacheID::data_types, PTCacheID::default_step, PTCacheID::file_type, ListBase::first, PointCache::flag, PTCacheID::info_types, LISTBASE_FOREACH, PTCacheID::max_step, PointCache::name, PTCacheID::next, PointCache::next, PTCACHE_BAKED, PTCACHE_FLAG_INFO_DIRTY, PTCACHE_OUTDATED, PTCacheID::ptcaches, STREQ, and PTCacheID::type.
|
static |
Definition at line 1443 of file object.cc.
References ELEM, eModifierType_Collision, and eModifierType_Hook.
Referenced by BKE_object_copy_modifier(), and BKE_object_modifier_stack_copy().
Definition at line 4902 of file object.cc.
References BKE_object_moves_in_time().
Referenced by constructive_modifier_is_deform_modified(), and object_deforms_in_time().
Definition at line 1673 of file object.cc.
References BKE_object_get_evaluated_mesh_no_subsurf(), CD_GRID_PAINT_MASK, CD_MDISPS, SubdivCCG::coords, copy_ccg_data(), Object::data, Object_Runtime::data_orig, DEG_get_original_object(), SubdivCCG::dirty, SubdivCCG::hidden, Object_Runtime::is_data_eval_owned, multiresModifier_reshapeFromCCG(), OB_MESH, Mesh::runtime, Object::runtime, Mesh_Runtime::subdiv_ccg, Mesh_Runtime::subdiv_ccg_tot_level, and Object::type.
Referenced by BKE_object_free_derived_caches().
|
static |
Definition at line 3428 of file object.cc.
References BKE_constraints_clear_evalob(), BKE_constraints_make_evalob(), BKE_constraints_solve(), BKE_object_to_mat4(), BKE_rigidbody_sync_transforms(), CONSTRAINT_OBTYPE_OBJECT, Object::constraints, depsgraph, ListBase::first, is_negative_m4(), OB_NEG_SCALE, OB_NO_CONSTRAINTS, Object::obmat, Object::parent, Scene::rigidbody_world, scene, solve_parenting(), and Object::transflag.
Referenced by BKE_object_where_is_calc(), BKE_object_where_is_calc_ex(), and BKE_object_where_is_calc_time().
Find an associated armature object.
Definition at line 5127 of file object.cc.
References eModifierType_Armature, ListBase::first, mod(), Object::modifiers, OB_ARMATURE, Object::parent, PARSKEL, Object::partype, and Object::type.
Referenced by BKE_object_relational_superset().
Definition at line 5151 of file object.cc.
References BLI_linklist_prepend(), Object::id, LIB_TAG_DOIT, and ID::tag.
Referenced by BKE_object_relational_superset().
Definition at line 5146 of file object.cc.
References Object::id, LIB_TAG_DOIT, and ID::tag.
Referenced by BKE_object_relational_superset().
Definition at line 4510 of file object.cc.
References Freestyle::a, usdtokens::b(), LinkData::data, and POINTER_AS_INT.
Referenced by BKE_object_insert_ptcache().
|
static |
Definition at line 4546 of file object.cc.
References LinkData::data, ListBase::first, LinkData::next, and POINTER_AS_INT.
Referenced by BKE_object_delete_ptcache().
|
static |
r_originmat | Optional matrix that stores the space the object is in (without its own matrix applied) |
Definition at line 3397 of file object.cc.
References BKE_object_get_parent_matrix(), BKE_object_to_mat4(), copy_m3_m4(), copy_v3_v3(), mul_m4_m4m4(), Object::obmat, Object_Runtime::parent_display_origin, Object::parentinv, PARSKEL, Object::partype, PARTYPE, and Object::runtime.
Referenced by BKE_object_where_is_calc_mat4(), and object_where_is_calc_ex().
|
static |
Definition at line 518 of file object.cc.
References BLO_write_struct, and LISTBASE_FOREACH.
Referenced by object_blend_write().
|
static |
IDTypeInfo IDType_ID_OB |
Definition at line 1222 of file object.cc.
Referenced by blender::bke::tests::test_lattice_deform_free(), and blender::bke::tests::test_lattice_deform_init().
|
static |
Definition at line 149 of file object.cc.
Referenced by BKE_object_obdata_add_from_type(), get_obdata_defname(), give_parvert(), and ob_parbone().
|
static |
Definition at line 160 of file object.cc.
Referenced by give_parvert().