|
Blender V4.3
|
#include "BKE_light_linking.h"#include <string>#include "MEM_guardedalloc.h"#include "DNA_ID.h"#include "DNA_collection_types.h"#include "DNA_object_types.h"#include "DNA_scene_types.h"#include "BLI_assert.h"#include "BLI_string.h"#include "BKE_collection.hh"#include "BKE_layer.hh"#include "BKE_lib_id.hh"#include "BKE_report.hh"#include "BLT_translation.hh"#include "DEG_depsgraph.hh"#include "DEG_depsgraph_build.hh"Go to the source code of this file.
| void BKE_light_linking_add_receiver_to_collection | ( | Main * | bmain, |
| Collection * | collection, | ||
| ID * | receiver, | ||
| const eCollectionLightLinkingState | link_state ) |
Definition at line 201 of file light_linking.cc.
References DEG_id_tag_update(), DEG_relations_tag_update(), GS, ID_GR, ID_OB, ID_RECALC_HIERARCHY, ID_RECALC_SHADING, light_linking_collection_add_collection(), light_linking_collection_add_object(), CollectionLightLinking::link_state, ID::name, and OB_TYPE_IS_GEOMETRY.
Referenced by BKE_light_linking_add_receiver_to_collection_after(), BKE_light_linking_add_receiver_to_collection_before(), and BKE_light_linking_link_receiver_to_emitter().
| void BKE_light_linking_add_receiver_to_collection_after | ( | Main * | bmain, |
| Collection * | collection, | ||
| ID * | receiver, | ||
| const ID * | after, | ||
| const eCollectionLightLinkingState | link_state ) |
Definition at line 389 of file light_linking.cc.
References BKE_light_linking_add_receiver_to_collection(), BLI_assert, GS, ID_GR, ID_OB, ID::name, order_collection_receiver_after(), and order_object_receiver_after().
| void BKE_light_linking_add_receiver_to_collection_before | ( | Main * | bmain, |
| Collection * | collection, | ||
| ID * | receiver, | ||
| const ID * | before, | ||
| const eCollectionLightLinkingState | link_state ) |
Definition at line 365 of file light_linking.cc.
References BKE_light_linking_add_receiver_to_collection(), BLI_assert, GS, ID_GR, ID_OB, ID::name, order_collection_receiver_before(), and order_object_receiver_before().
| void BKE_light_linking_collection_assign | ( | Main * | bmain, |
| Object * | object, | ||
| Collection * | new_collection, | ||
| const LightLinkingType | link_type ) |
Definition at line 125 of file light_linking.cc.
References BKE_light_linking_collection_assign_only(), DEG_id_tag_update(), DEG_relations_tag_update(), ID_RECALC_SHADING, and ID_RECALC_SYNC_TO_EVAL.
Referenced by BKE_light_linking_collection_new().
| void BKE_light_linking_collection_assign_only | ( | Object * | object, |
| Collection * | new_collection, | ||
| const LightLinkingType | link_type ) |
Definition at line 88 of file light_linking.cc.
References BKE_light_linking_collection_get(), BKE_light_linking_free_if_empty(), BLI_assert_unreachable, Collection::id, id_us_min(), id_us_plus(), LIGHT_LINKING_BLOCKER, and LIGHT_LINKING_RECEIVER.
Referenced by BKE_light_linking_collection_assign().
| Collection * BKE_light_linking_collection_get | ( | const Object * | object, |
| const LightLinkingType | link_type ) |
Definition at line 38 of file light_linking.cc.
References LIGHT_LINKING_BLOCKER, and LIGHT_LINKING_RECEIVER.
Referenced by BKE_light_linking_collection_assign_only(), BKE_light_linking_link_receiver_to_emitter(), and BKE_light_linking_select_receivers_of_emitter().
| Collection * BKE_light_linking_collection_new | ( | Main * | bmain, |
| Object * | object, | ||
| const LightLinkingType | link_type ) |
Definition at line 75 of file light_linking.cc.
References BKE_collection_add(), BKE_light_linking_collection_assign(), and get_default_collection_name().
Referenced by BKE_light_linking_link_receiver_to_emitter(), and blender::ed::object::light_linking_collection_new_exec().
| void BKE_light_linking_free_if_empty | ( | Object * | object | ) |
Definition at line 29 of file light_linking.cc.
References MEM_SAFE_FREE.
Referenced by BKE_light_linking_collection_assign_only(), and blender::deg::light_linking::Cache::eval_runtime_data().
| void BKE_light_linking_link_receiver_to_emitter | ( | Main * | bmain, |
| Object * | emitter, | ||
| Object * | receiver, | ||
| const LightLinkingType | link_type, | ||
| const eCollectionLightLinkingState | link_state ) |
Definition at line 445 of file light_linking.cc.
References BKE_light_linking_add_receiver_to_collection(), BKE_light_linking_collection_get(), BKE_light_linking_collection_new(), Object::id, OB_TYPE_IS_GEOMETRY, and Object::type.
Referenced by blender::ed::object::light_linking_link_exec().
| void BKE_light_linking_select_receivers_of_emitter | ( | Scene * | scene, |
| ViewLayer * | view_layer, | ||
| Object * | emitter, | ||
| const LightLinkingType | link_type ) |
Definition at line 464 of file light_linking.cc.
References BASE_SELECTED, BKE_light_linking_collection_get(), BKE_view_layer_base_find(), BKE_view_layer_object_bases_get(), BKE_view_layer_synced_ensure(), DEG_id_tag_update(), Base::flag, ID_RECALC_SELECT, and LISTBASE_FOREACH.
Referenced by blender::ed::object::light_linking_select_exec().
| bool BKE_light_linking_unlink_id_from_collection | ( | Main * | bmain, |
| Collection * | collection, | ||
| ID * | id, | ||
| ReportList * | reports ) |
Definition at line 413 of file light_linking.cc.
References BKE_collection_child_remove(), BKE_collection_object_remove(), BKE_reportf(), DEG_id_tag_update(), DEG_relations_tag_update(), GS, ID_GR, ID_OB, ID_RECALC_HIERARCHY, ID_RECALC_SYNC_TO_EVAL, and RPT_ERROR.
Referenced by blender::ed::object::light_linking_unlink_from_collection_exec().
|
static |
Definition at line 147 of file light_linking.cc.
References LISTBASE_FOREACH.
Referenced by light_linking_collection_add_collection(), order_collection_receiver_after(), and order_collection_receiver_before().
|
static |
Definition at line 136 of file light_linking.cc.
References LISTBASE_FOREACH.
Referenced by light_linking_collection_add_object(), order_object_receiver_after(), and order_object_receiver_before().
|
static |
Definition at line 55 of file light_linking.cc.
References DATA_, LIGHT_LINKING_BLOCKER, LIGHT_LINKING_RECEIVER, MAX_ID_NAME, and SNPRINTF.
Referenced by BKE_light_linking_collection_new().
|
static |
Definition at line 185 of file light_linking.cc.
References BKE_collection_child_add(), BLI_assert_msg, find_collection_child(), and CollectionChild::light_linking.
Referenced by BKE_light_linking_add_receiver_to_collection().
|
static |
Definition at line 164 of file light_linking.cc.
References BKE_collection_object_add(), BLI_assert_msg, find_collection_object(), and CollectionObject::light_linking.
Referenced by BKE_light_linking_add_receiver_to_collection().
|
static |
Definition at line 269 of file light_linking.cc.
References BLI_addtail(), BLI_assert_msg, BLI_insertlinkafter(), BLI_remlink(), find_collection_child(), GS, ID_GR, and ID::name.
Referenced by BKE_light_linking_add_receiver_to_collection_after().
|
static |
Definition at line 237 of file light_linking.cc.
References BLI_addtail(), BLI_assert_msg, BLI_insertlinkbefore(), BLI_remlink(), find_collection_child(), GS, and ID_GR.
Referenced by BKE_light_linking_add_receiver_to_collection_before().
|
static |
Definition at line 334 of file light_linking.cc.
References BLI_addhead(), BLI_assert_msg, BLI_insertlinkafter(), BLI_remlink(), find_collection_object(), GS, ID_OB, and ID::name.
Referenced by BKE_light_linking_add_receiver_to_collection_after().
|
static |
Definition at line 301 of file light_linking.cc.
References BLI_addhead(), BLI_assert_msg, BLI_insertlinkbefore(), BLI_remlink(), find_collection_object(), GS, and ID_OB.
Referenced by BKE_light_linking_add_receiver_to_collection_before().