Changeset View
Changeset View
Standalone View
Standalone View
source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
| Show First 20 Lines • Show All 625 Lines • ▼ Show 20 Lines | case ID_SCE: | ||||
| build_scene_parameters((Scene *)id); | build_scene_parameters((Scene *)id); | ||||
| break; | break; | ||||
| case ID_SIM: | case ID_SIM: | ||||
| build_simulation((Simulation *)id); | build_simulation((Simulation *)id); | ||||
| break; | break; | ||||
| case ID_PA: | case ID_PA: | ||||
| build_particle_settings((ParticleSettings *)id); | build_particle_settings((ParticleSettings *)id); | ||||
| break; | break; | ||||
| case ID_VE: | |||||
| build_video_edit((VideoEdit *)id); | |||||
| break; | |||||
| case ID_LI: | case ID_LI: | ||||
| case ID_IP: | case ID_IP: | ||||
| case ID_SCR: | case ID_SCR: | ||||
| case ID_VF: | case ID_VF: | ||||
| case ID_BR: | case ID_BR: | ||||
| case ID_WM: | case ID_WM: | ||||
| case ID_PAL: | case ID_PAL: | ||||
| ▲ Show 20 Lines • Show All 1,453 Lines • ▼ Show 20 Lines | if (seq->type == SEQ_TYPE_SCENE && seq->scene != nullptr) { | ||||
| nb->build_scene_speakers(seq->scene, sequence_view_layer); | nb->build_scene_speakers(seq->scene, sequence_view_layer); | ||||
| } | } | ||||
| /* TODO(sergey): Movie clip, scene, camera, mask. */ | /* TODO(sergey): Movie clip, scene, camera, mask. */ | ||||
| return true; | return true; | ||||
| } | } | ||||
| void DepsgraphNodeBuilder::build_scene_sequencer(Scene *scene) | void DepsgraphNodeBuilder::build_scene_sequencer(Scene *scene) | ||||
| { | { | ||||
| #if 0 | |||||
| if (scene->ed == nullptr) { | if (scene->ed == nullptr) { | ||||
| return; | return; | ||||
| } | } | ||||
| if (built_map_.checkIsBuiltAndTag(scene, BuilderMap::TAG_SCENE_SEQUENCER)) { | if (built_map_.checkIsBuiltAndTag(scene, BuilderMap::TAG_SCENE_SEQUENCER)) { | ||||
| return; | return; | ||||
| } | } | ||||
| build_scene_audio(scene); | build_scene_audio(scene); | ||||
| Scene *scene_cow = get_cow_datablock(scene); | Scene *scene_cow = get_cow_datablock(scene); | ||||
| add_operation_node(&scene->id, | add_operation_node(&scene->id, | ||||
| NodeType::SEQUENCER, | NodeType::SEQUENCER, | ||||
| OperationCode::SEQUENCES_EVAL, | OperationCode::SEQUENCES_EVAL, | ||||
| [scene_cow](::Depsgraph *depsgraph) { | [scene_cow](::Depsgraph *depsgraph) { | ||||
| SEQ_eval_sequences(depsgraph, scene_cow, &scene_cow->ed->seqbase); | SEQ_eval_sequences(depsgraph, scene_cow, &scene_cow->ed->seqbase); | ||||
| }); | }); | ||||
| /* Make sure data for sequences is in the graph. */ | /* Make sure data for sequences is in the graph. */ | ||||
| SEQ_for_each_callback(&scene->ed->seqbase, seq_node_build_cb, this); | SEQ_for_each_callback(&scene->ed->seqbase, seq_node_build_cb, this); | ||||
| #endif | |||||
| } | } | ||||
| void DepsgraphNodeBuilder::build_scene_audio(Scene *scene) | void DepsgraphNodeBuilder::build_scene_audio(Scene *scene) | ||||
| { | { | ||||
| if (built_map_.checkIsBuiltAndTag(scene, BuilderMap::TAG_SCENE_AUDIO)) { | if (built_map_.checkIsBuiltAndTag(scene, BuilderMap::TAG_SCENE_AUDIO)) { | ||||
| return; | return; | ||||
| } | } | ||||
| Show All 20 Lines | LISTBASE_FOREACH (Base *, base, BKE_view_layer_object_bases_get(view_layer)) { | ||||
| if (object->type != OB_SPEAKER || !need_pull_base_into_graph(base)) { | if (object->type != OB_SPEAKER || !need_pull_base_into_graph(base)) { | ||||
| continue; | continue; | ||||
| } | } | ||||
| /* NOTE: Can not use base because it does not belong to a current view layer. */ | /* NOTE: Can not use base because it does not belong to a current view layer. */ | ||||
| build_object(-1, base->object, DEG_ID_LINKED_INDIRECTLY, true); | build_object(-1, base->object, DEG_ID_LINKED_INDIRECTLY, true); | ||||
| } | } | ||||
| } | } | ||||
| void DepsgraphNodeBuilder::build_video_edit(VideoEdit *video_edit) | |||||
| { | |||||
| } | |||||
| /* **** ID traversal callbacks functions **** */ | /* **** ID traversal callbacks functions **** */ | ||||
| void DepsgraphNodeBuilder::modifier_walk(void *user_data, | void DepsgraphNodeBuilder::modifier_walk(void *user_data, | ||||
| struct Object * /*object*/, | struct Object * /*object*/, | ||||
| struct ID **idpoin, | struct ID **idpoin, | ||||
| int /*cb_flag*/) | int /*cb_flag*/) | ||||
| { | { | ||||
| BuilderWalkUserData *data = (BuilderWalkUserData *)user_data; | BuilderWalkUserData *data = (BuilderWalkUserData *)user_data; | ||||
| Show All 35 Lines | |||||