103 if (win->parent !=
NULL) {
106 if (win->scene ==
scene) {
162 "View layer '%s' could not be removed from scene '%s'",
179 if (win->scene ==
scene &&
STREQ(win->view_layer_name, layer->
name)) {
210 {
SCE_COPY_NEW,
"NEW", 0,
"New",
"Add a new, empty scene with default settings"},
215 "Add a new, empty scene, and copy settings from the current scene"},
220 "Link in the collections from the current scene (shallow copy)"},
221 {
SCE_COPY_FULL,
"FULL_COPY", 0,
"Full Copy",
"Make a full copy of the current scene"},
257 printf(
"scene delete %p\n",
scene);
268 ot->
name =
"Delete Scene";
struct Scene * CTX_data_scene(const bContext *C)
struct Main * CTX_data_main(const bContext *C)
struct wmWindow * CTX_wm_window(const bContext *C)
void BKE_view_layer_free(struct ViewLayer *view_layer)
struct ViewLayer * BKE_view_layer_default_view(const struct Scene *scene)
void BKE_id_delete(struct Main *bmain, void *idv) ATTR_NONNULL()
void BKE_nodetree_remove_layer_n(struct bNodeTree *ntree, struct Scene *scene, const int layer_index)
void BKE_reportf(ReportList *reports, ReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
@ SCE_COPY_LINK_COLLECTION
void BKE_scene_set_background(struct Main *bmain, struct Scene *sce)
bool BKE_scene_can_be_removed(const struct Main *bmain, const struct Scene *scene)
struct Scene * BKE_scene_duplicate(struct Main *bmain, struct Scene *sce, eSceneCopyMethod type)
void BKE_scene_free_view_layer_depsgraph(struct Scene *scene, struct ViewLayer *view_layer)
struct Scene * BKE_scene_add(struct Main *bmain, const char *name)
struct Depsgraph * BKE_scene_ensure_depsgraph(struct Main *bmain, struct Scene *scene, struct ViewLayer *view_layer)
BLI_INLINE bool BLI_listbase_is_empty(const struct ListBase *lb)
#define LISTBASE_FOREACH(type, var, list)
void BLI_remlink(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
int BLI_findindex(const struct ListBase *listbase, const void *vlink) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
#define STRNCPY(dst, src)
void DEG_on_visible_update(struct Main *bmain, const bool do_time)
struct Depsgraph Depsgraph
void DEG_id_tag_update(struct ID *id, int flag)
void DEG_relations_tag_update(struct Main *bmain)
void DEG_graph_relations_update(struct Depsgraph *graph)
void ED_render_engine_changed(struct Main *bmain, const bool update_scene_data)
void ED_update_for_newframe(struct Main *bmain, struct Depsgraph *depsgraph)
bool ED_editors_flush_edits(struct Main *bmain)
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
const Depsgraph * depsgraph
int RNA_enum_get(PointerRNA *ptr, const char *name)
PropertyRNA * RNA_def_enum(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, int default_value, const char *ui_name, const char *ui_description)
Scene * ED_scene_add(Main *bmain, bContext *C, wmWindow *win, eSceneCopyMethod method)
static int scene_delete_exec(bContext *C, wmOperator *UNUSED(op))
static void view_layer_remove_unset_nodetrees(const Main *bmain, Scene *scene, ViewLayer *layer)
bool ED_scene_delete(bContext *C, Main *bmain, Scene *scene)
static void SCENE_OT_new(wmOperatorType *ot)
void ED_operatortypes_scene(void)
bool ED_scene_view_layer_delete(Main *bmain, Scene *scene, ViewLayer *layer, ReportList *reports)
static int scene_new_exec(bContext *C, wmOperator *op)
static bool scene_delete_poll(bContext *C)
static bool view_layer_remove_poll(const Scene *scene, const ViewLayer *layer)
static void SCENE_OT_delete(wmOperatorType *ot)
void ED_scene_change_update(Main *bmain, Scene *scene, ViewLayer *layer)
int(* invoke)(struct bContext *, struct wmOperator *, const struct wmEvent *) ATTR_WARN_UNUSED_RESULT
bool(* poll)(struct bContext *) ATTR_WARN_UNUSED_RESULT
int(* exec)(struct bContext *, struct wmOperator *) ATTR_WARN_UNUSED_RESULT
void WM_main_add_notifier(unsigned int type, void *reference)
void WM_event_add_notifier(const bContext *C, uint type, void *reference)
void WM_jobs_kill_type(struct wmWindowManager *wm, void *owner, int job_type)
void WM_operatortype_append(void(*opfunc)(wmOperatorType *))
int WM_menu_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
void WM_window_set_active_scene(Main *bmain, bContext *C, wmWindow *win, Scene *scene)
Scene * WM_window_get_active_scene(const wmWindow *win)