|
Blender V4.3
|
#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.
| typedef enum LightLinkingType LightLinkingType |
| enum LightLinkingType |
| Enumerator | |
|---|---|
| LIGHT_LINKING_RECEIVER | |
| LIGHT_LINKING_BLOCKER | |
Definition at line 27 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 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 | ( | struct Main * | bmain, |
| struct Collection * | collection, | ||
| struct ID * | receiver, | ||
| const struct ID * | after, | ||
| const eCollectionLightLinkingState | link_state ) |
| 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 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 | ( | struct Object * | object, |
| struct Collection * | new_collection, | ||
| 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().
| 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 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 | ( | struct 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 | ( | struct Main * | bmain, |
| struct Object * | emitter, | ||
| struct Object * | receiver, | ||
| LightLinkingType | link_type, | ||
| 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 | ( | struct Scene * | scene, |
| struct ViewLayer * | view_layer, | ||
| struct Object * | emitter, | ||
| 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 | ( | struct Main * | bmain, |
| struct Collection * | collection, | ||
| struct ID * | id, | ||
| struct 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().