svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r22717:22875
[blender.git] / source / gameengine / Ketsji / KX_ISceneConverter.h
index 2e4250dfe1ef8bcb05b4ff7ffb9e48c268a90dc3..f098b0bebf5d7c2f40ef239cb15f14141367202d 100644 (file)
@@ -1,15 +1,12 @@
 /**
  * $Id$
  *
- * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
+ * ***** BEGIN GPL LICENSE BLOCK *****
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
  * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. The Blender
- * Foundation also sells licenses for use in proprietary software under
- * the Blender License.  See http://www.blender.org/BL/ for information
- * about this.
+ * of the License, or (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -27,7 +24,7 @@
  *
  * Contributor(s): none yet.
  *
- * ***** END GPL/BL DUAL LICENSE BLOCK *****
+ * ***** END GPL LICENSE BLOCK *****
  */
 #ifndef __KX_ISCENECONVERTER_H
 #define __KX_ISCENECONVERTER_H
 #include "STR_String.h"
 #include "KX_Python.h"
 
+#ifdef WITH_CXX_GUARDEDALLOC
+#include "MEM_guardedalloc.h"
+#endif
+
+struct Scene;
+
 class KX_ISceneConverter 
 {
 
@@ -48,13 +51,14 @@ public:
        destinationscene: pass an empty scene, everything goes into this
        dictobj: python dictionary (for pythoncontrollers)
        */
-       virtual void ConvertScene(const STR_String& scenename,
+       virtual void ConvertScene(
                class KX_Scene* destinationscene,
                PyObject* dictobj,
-               class SCA_IInputDevice* keyinputdev,
                class RAS_IRenderTools* rendertools, 
                class RAS_ICanvas*  canvas)=0;
        
+       virtual void RemoveScene(class KX_Scene *scene)=0;
+
        virtual void    SetAlwaysUseExpandFraming(bool to_what) = 0;
 
        virtual void    SetNewFileName(const STR_String& filename) = 0;
@@ -75,6 +79,18 @@ public:
        virtual void SetMaterials(bool val) =0;
        virtual bool GetMaterials()=0;
 
+       // use blender glsl materials
+       virtual void SetGLSLMaterials(bool val) =0;
+       virtual bool GetGLSLMaterials()=0;
+
+       virtual struct Scene* GetBlenderSceneForName(const STR_String& name)=0;
+       
+       
+#ifdef WITH_CXX_GUARDEDALLOC
+public:
+       void *operator new( unsigned int num_bytes) { return MEM_mallocN(num_bytes, "GE:KX_ISceneConverter"); }
+       void operator delete( void *mem ) { MEM_freeN(mem); }
+#endif
 };
 
 #endif //__KX_ISCENECONVERTER_H