Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/intern/scene.cc
| Show First 20 Lines • Show All 336 Lines • ▼ Show 20 Lines | static void scene_copy_data(Main *bmain, ID *id_dst, const ID *id_src, const int flag) | ||||
| } | } | ||||
| if (scene_src->display.shading.prop) { | if (scene_src->display.shading.prop) { | ||||
| scene_dst->display.shading.prop = IDP_CopyProperty(scene_src->display.shading.prop); | scene_dst->display.shading.prop = IDP_CopyProperty(scene_src->display.shading.prop); | ||||
| } | } | ||||
| BKE_sound_reset_scene_runtime(scene_dst); | BKE_sound_reset_scene_runtime(scene_dst); | ||||
| #if 0 | |||||
| /* Copy sequencer, this is local data! */ | /* Copy sequencer, this is local data! */ | ||||
| if (scene_src->ed) { | if (scene_src->ed) { | ||||
| scene_dst->ed = MEM_cnew<Editing>(__func__); | scene_dst->ed = MEM_cnew<Editing>(__func__); | ||||
| scene_dst->ed->seqbasep = &scene_dst->ed->seqbase; | scene_dst->ed->seqbasep = &scene_dst->ed->seqbase; | ||||
| SEQ_sequence_base_dupli_recursive(scene_src, | SEQ_sequence_base_dupli_recursive(scene_src, | ||||
| scene_dst, | scene_dst, | ||||
| &scene_dst->ed->seqbase, | &scene_dst->ed->seqbase, | ||||
| &scene_src->ed->seqbase, | &scene_src->ed->seqbase, | ||||
| SEQ_DUPE_ALL, | SEQ_DUPE_ALL, | ||||
| flag_subdata); | flag_subdata); | ||||
| BLI_duplicatelist(&scene_dst->ed->channels, &scene_src->ed->channels); | BLI_duplicatelist(&scene_dst->ed->channels, &scene_src->ed->channels); | ||||
| scene_dst->ed->displayed_channels = &scene_dst->ed->channels; | scene_dst->ed->displayed_channels = &scene_dst->ed->channels; | ||||
| } | } | ||||
| #endif | |||||
| if ((flag & LIB_ID_COPY_NO_PREVIEW) == 0) { | if ((flag & LIB_ID_COPY_NO_PREVIEW) == 0) { | ||||
| BKE_previewimg_id_copy(&scene_dst->id, &scene_src->id); | BKE_previewimg_id_copy(&scene_dst->id, &scene_src->id); | ||||
| } | } | ||||
| else { | else { | ||||
| scene_dst->preview = nullptr; | scene_dst->preview = nullptr; | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 1,162 Lines • ▼ Show 20 Lines | if (base_legacy->object == nullptr) { | ||||
| if (base_legacy == sce->basact) { | if (base_legacy == sce->basact) { | ||||
| sce->basact = nullptr; | sce->basact = nullptr; | ||||
| } | } | ||||
| MEM_freeN(base_legacy); | MEM_freeN(base_legacy); | ||||
| } | } | ||||
| } | } | ||||
| if (sce->ed) { | if (sce->ed) { | ||||
| SEQ_blend_read_lib(reader, sce, &sce->ed->seqbase); | SEQ_blend_read_lib(reader, &sce->id, &sce->ed->seqbase); | ||||
| } | } | ||||
| LISTBASE_FOREACH (TimeMarker *, marker, &sce->markers) { | LISTBASE_FOREACH (TimeMarker *, marker, &sce->markers) { | ||||
| IDP_BlendReadLib(reader, sce->id.lib, marker->prop); | IDP_BlendReadLib(reader, sce->id.lib, marker->prop); | ||||
| if (marker->camera) { | if (marker->camera) { | ||||
| BLO_read_id_address(reader, sce->id.lib, &marker->camera); | BLO_read_id_address(reader, sce->id.lib, &marker->camera); | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 1,511 Lines • ▼ Show 20 Lines | int BKE_render_preview_pixel_size(const RenderData *r) | ||||
| if (r->preview_pixel_size == 0) { | if (r->preview_pixel_size == 0) { | ||||
| return (U.pixelsize > 1.5f) ? 2 : 1; | return (U.pixelsize > 1.5f) ? 2 : 1; | ||||
| } | } | ||||
| return r->preview_pixel_size; | return r->preview_pixel_size; | ||||
| } | } | ||||
| double BKE_scene_unit_scale(const UnitSettings *unit, const int unit_type, double value) | double BKE_scene_unit_scale(const UnitSettings *unit, const int unit_type, double value) | ||||
| { | { | ||||
| if (unit == nullptr) { | |||||
| /** For VideoEdit data-blocks in the sequencer we don't have UnitSettings, so skip scaling for | |||||
| * now. */ | |||||
| return value; | |||||
| } | |||||
| if (unit->system == USER_UNIT_NONE) { | if (unit->system == USER_UNIT_NONE) { | ||||
| /* Never apply scale_length when not using a unit setting! */ | /* Never apply scale_length when not using a unit setting! */ | ||||
| return value; | return value; | ||||
| } | } | ||||
| switch (unit_type) { | switch (unit_type) { | ||||
| case B_UNIT_LENGTH: | case B_UNIT_LENGTH: | ||||
| case B_UNIT_VELOCITY: | case B_UNIT_VELOCITY: | ||||
| ▲ Show 20 Lines • Show All 233 Lines • ▼ Show 20 Lines | const char *BKE_scene_multiview_view_id_suffix_get(const RenderData *rd, const int view_id) | ||||
| if ((rd->scemode & R_MULTIVIEW) == 0) { | if ((rd->scemode & R_MULTIVIEW) == 0) { | ||||
| return ""; | return ""; | ||||
| } | } | ||||
| const char *viewname = BKE_scene_multiview_render_view_name_get(rd, view_id); | const char *viewname = BKE_scene_multiview_render_view_name_get(rd, view_id); | ||||
| return BKE_scene_multiview_view_suffix_get(rd, viewname); | return BKE_scene_multiview_view_suffix_get(rd, viewname); | ||||
| } | } | ||||
| void BKE_scene_multiview_view_prefix_get(Scene *scene, | void BKE_scene_multiview_view_prefix_get(RenderData *rd, | ||||
| const char *name, | const char *name, | ||||
| char *r_prefix, | char *r_prefix, | ||||
| const char **r_ext) | const char **r_ext) | ||||
| { | { | ||||
| const char *unused; | const char *unused; | ||||
| const char delims[] = {'.', '\0'}; | const char delims[] = {'.', '\0'}; | ||||
| r_prefix[0] = '\0'; | r_prefix[0] = '\0'; | ||||
| /* Split filename into base name and extension. */ | /* Split filename into base name and extension. */ | ||||
| const size_t basename_len = BLI_str_rpartition(name, delims, r_ext, &unused); | const size_t basename_len = BLI_str_rpartition(name, delims, r_ext, &unused); | ||||
| if (*r_ext == nullptr) { | if (*r_ext == nullptr) { | ||||
| return; | return; | ||||
| } | } | ||||
| BLI_assert(basename_len > 0); | BLI_assert(basename_len > 0); | ||||
| /* Split base name into prefix and known suffix. */ | /* Split base name into prefix and known suffix. */ | ||||
| LISTBASE_FOREACH (SceneRenderView *, srv, &scene->r.views) { | LISTBASE_FOREACH (SceneRenderView *, srv, &rd->views) { | ||||
| if (BKE_scene_multiview_is_render_view_active(&scene->r, srv)) { | if (BKE_scene_multiview_is_render_view_active(rd, srv)) { | ||||
| const size_t suffix_len = strlen(srv->suffix); | const size_t suffix_len = strlen(srv->suffix); | ||||
| if (basename_len >= suffix_len && | if (basename_len >= suffix_len && | ||||
| STREQLEN(name + basename_len - suffix_len, srv->suffix, suffix_len)) { | STREQLEN(name + basename_len - suffix_len, srv->suffix, suffix_len)) { | ||||
| BLI_strncpy(r_prefix, name, basename_len - suffix_len + 1); | BLI_strncpy(r_prefix, name, basename_len - suffix_len + 1); | ||||
| break; | break; | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 436 Lines • Show Last 20 Lines | |||||