|
Blender V4.5
|
#include "DNA_collection_types.h"Go to the source code of this file.
Typedefs | |
| typedef enum LightLinkingType | LightLinkingType |
Enumerations | |
| enum | LightLinkingType { LIGHT_LINKING_RECEIVER , LIGHT_LINKING_BLOCKER } |
API to manage light linking.
Definition in file BKE_light_linking.h.
| enum LightLinkingType |
| Enumerator | |
|---|---|
| LIGHT_LINKING_RECEIVER | |
| LIGHT_LINKING_BLOCKER | |
Definition at line 23 of file BKE_light_linking.h.
| void BKE_light_linking_add_receiver_to_collection | ( | struct Main * | bmain, |
| struct Collection * | collection, | ||
| struct ID * | receiver, | ||
| const eCollectionLightLinkingState | link_state ) |
Definition at line 202 of file light_linking.cc.
References DEG_id_tag_update(), DEG_relations_tag_update(), GS, Collection::id, 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, OB_TYPE_IS_GEOMETRY, and Object::type.
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 | ( | struct Main * | bmain, |
| struct Collection * | collection, | ||
| struct ID * | receiver, | ||
| const struct ID * | after, | ||
| const eCollectionLightLinkingState | link_state ) |
References reports.
| void BKE_light_linking_add_receiver_to_collection_before | ( | struct Main * | bmain, |
| struct Collection * | collection, | ||
| struct ID * | receiver, | ||
| const struct ID * | before, | ||
| const eCollectionLightLinkingState | link_state ) |
| void BKE_light_linking_collection_assign | ( | struct Main * | bmain, |
| struct Object * | object, | ||
| struct Collection * | new_collection, | ||
| LightLinkingType | link_type ) |
Definition at line 126 of file light_linking.cc.
References BKE_light_linking_collection_assign_only(), DEG_id_tag_update(), DEG_relations_tag_update(), Object::id, ID_RECALC_SHADING, and ID_RECALC_SYNC_TO_EVAL.
Referenced by BKE_light_linking_collection_new().
| void BKE_light_linking_collection_assign_only | ( | struct Object * | object, |
| struct Collection * | new_collection, | ||
| LightLinkingType | link_type ) |
Definition at line 89 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(), Object::light_linking, LIGHT_LINKING_BLOCKER, LIGHT_LINKING_RECEIVER, and MEM_callocN().
Referenced by BKE_light_linking_collection_assign().
| struct Collection * BKE_light_linking_collection_get | ( | const struct Object * | object, |
| LightLinkingType | link_type ) |
| struct Collection * BKE_light_linking_collection_new | ( | struct Main * | bmain, |
| struct Object * | object, | ||
| LightLinkingType | link_type ) |
Definition at line 76 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 | ( | struct Object * | object | ) |
Definition at line 30 of file light_linking.cc.
References LightLinking::blocker_collection, Object::light_linking, MEM_SAFE_FREE, and LightLinking::receiver_collection.
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 | ( | struct Main * | bmain, |
| struct Object * | emitter, | ||
| struct Object * | receiver, | ||
| LightLinkingType | link_type, | ||
| eCollectionLightLinkingState | link_state ) |
Definition at line 446 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 | ( | struct Scene * | scene, |
| struct ViewLayer * | view_layer, | ||
| struct Object * | emitter, | ||
| LightLinkingType | link_type ) |
Definition at line 465 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, Collection::gobject, Scene::id, ID_RECALC_SELECT, and LISTBASE_FOREACH.
Referenced by blender::ed::object::light_linking_select_exec().
| bool BKE_light_linking_unlink_id_from_collection | ( | struct Main * | bmain, |
| struct Collection * | collection, | ||
| struct ID * | id, | ||
| struct ReportList * | reports ) |
Definition at line 414 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, Collection::id, ID_GR, ID_OB, ID_RECALC_HIERARCHY, ID_RECALC_SYNC_TO_EVAL, ID::name, reports, and RPT_ERROR.
Referenced by blender::ed::object::light_linking_unlink_from_collection_exec().