RenderEngine/Nodes: system to check for shading nodes compatibility
[blender.git] / source / blender / blenkernel / BKE_scene.h
index f0fb2a6..45ee6fd 100644 (file)
@@ -1,8 +1,4 @@
-/**
- * blenlib/BKE_scene.h (mar-2001 nzc)
- *     
- * $Id$ 
- *
+/*
  * ***** BEGIN GPL LICENSE BLOCK *****
  *
  * This program is free software; you can redistribute it and/or
 #ifndef BKE_SCENE_H
 #define BKE_SCENE_H
 
+/** \file BKE_scene.h
+ *  \ingroup bke
+ *  \since March 2001
+ *  \author nzc
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct AviCodecData;
+struct Base;
 struct bglMats;
-struct Scene;
+struct Main;
 struct Object;
-struct Base;
-struct Text;
-struct AviCodecData;
 struct QuicktimeCodecData;
 struct RenderData;
+struct Scene;
+struct Text;
 struct Text;
-struct Main;
 
-#define SCE_COPY_EMPTY         0
-#define SCE_COPY_LINK_OB       1
-#define SCE_COPY_LINK_DATA     2
-#define SCE_COPY_FULL          3
+#define SCE_COPY_NEW           0
+#define SCE_COPY_EMPTY         1
+#define SCE_COPY_LINK_OB       2
+#define SCE_COPY_LINK_DATA     3
+#define SCE_COPY_FULL          4
 
-#define SETLOOPER(s, b) sce= s, b= _setlooper_base_step(&sce, NULL); b; b= _setlooper_base_step(&sce, b)
-struct Base *_setlooper_base_step(struct Scene **sce, struct Base *base);
+#define SETLOOPER(_sce_basis, _sce_iter, _base) _sce_iter= _sce_basis, _base= _setlooper_base_step(&_sce_iter, NULL); _base; _base= _setlooper_base_step(&_sce_iter, _base)
+struct Base *_setlooper_base_step(struct Scene **sce_iter, struct Base *base);
 
 void free_avicodecdata(struct AviCodecData *acd);
 void free_qtcodecdata(struct QuicktimeCodecData *acd);
 
 void free_scene(struct Scene *sce);
-struct Scene *add_scene(char *name);
+struct Scene *add_scene(const char *name);
 struct Base *object_in_scene(struct Object *ob, struct Scene *sce);
 
-void set_scene_bg(struct Scene *sce);
-struct Scene *set_scene_name(char *name);
+void set_scene_bg(struct Main *bmain, struct Scene *sce);
+struct Scene *set_scene_name(struct Main *bmain, const char *name);
 
-struct Scene *copy_scene(struct Main *bmain, struct Scene *sce, int type);
+struct Scene *copy_scene(struct Scene *sce, int type);
 void unlink_scene(struct Main *bmain, struct Scene *sce, struct Scene *newsce);
 
 int next_object(struct Scene **scene, int val, struct Base **base, struct Object **ob);
@@ -70,20 +77,18 @@ int scene_camera_switch_update(struct Scene *scene);
 
 char *scene_find_marker_name(struct Scene *scene, int frame);
 char *scene_find_last_marker_name(struct Scene *scene, int frame);
-int scene_marker_tfm_translate(struct Scene *scene, int delta, int flag);
-int scene_marker_tfm_extend(struct Scene *scene, int delta, int flag, int frame, char side);
 
 struct Base *scene_add_base(struct Scene *sce, struct Object *ob);
 void scene_deselect_all(struct Scene *sce);
 void scene_select_base(struct Scene *sce, struct Base *selbase);
 
 /* checks for cycle, returns 1 if it's all OK */
-int scene_check_setscene(struct Scene *sce);
+int scene_check_setscene(struct Main *bmain, struct Scene *sce);
 
 float BKE_curframe(struct Scene *scene);
 
-void scene_update_tagged(struct Scene *sce);
-void scene_update_for_newframe(struct Scene *sce, unsigned int lay);
+void scene_update_tagged(struct Main *bmain, struct Scene *sce);
+void scene_update_for_newframe(struct Main *bmain, struct Scene *sce, unsigned int lay);
 
 void scene_add_render_layer(struct Scene *sce);
 
@@ -93,5 +98,11 @@ int get_render_child_particle_number(struct RenderData *r, int num);
 int get_render_shadow_samples(struct RenderData *r, int samples);
 float get_render_aosss_error(struct RenderData *r, float error);
 
+int scene_use_new_shading_nodes(struct Scene *scene);
+
+#ifdef __cplusplus
+}
+#endif
+
 #endif