public EarthView.World.Spatial.Atlas.Iscene GetScene()
                    {
                        IntPtr __ptr = EarthView_World_Spatial_SystemUI_CSceneLayerActiveEvent_getScene_IScene(this.NativeObject);

                        if (__ptr == IntPtr.Zero)
                        {
                            return(null);
                        }
                        EarthView.World.Spatial.Atlas.Iscene csObj = new EarthView.World.Spatial.Atlas.Iscene(CreatedWhenConstruct.CWC_NotToCreate);
                        csObj.BindNativeObject(__ptr, "IScene");
                        csObj.Delegate = true;
                        IClassFactory csObjClassFactory = GlobalClassFactoryMap.Get(csObj.GetCppInstanceTypeName());

                        if (csObjClassFactory != null)
                        {
                            csObj.Delegate = true;
                            csObj          = csObjClassFactory.Create() as EarthView.World.Spatial.Atlas.Iscene;
                            csObj.BindNativeObject(__ptr, "IScene");
                            csObj.Delegate = true;
                        }
                        return(csObj);
                    }
                    public virtual EarthView.World.Spatial.Atlas.Iscene NewScene_NoVirtual(string strSceneName)
                    {
                        IntPtr __ptr = EarthView_World_Spatial_Atlas_ISceneFactory_newScene_IScene_EVString_NoVirtual(this.NativeObject, strSceneName);

                        if (__ptr == IntPtr.Zero)
                        {
                            return(null);
                        }
                        EarthView.World.Spatial.Atlas.Iscene csObj = new EarthView.World.Spatial.Atlas.Iscene(CreatedWhenConstruct.CWC_NotToCreate);
                        csObj.BindNativeObject(__ptr, "IScene");
                        csObj.Delegate = true;
                        IClassFactory csObjClassFactory = GlobalClassFactoryMap.Get(csObj.GetCppInstanceTypeName());

                        if (csObjClassFactory != null)
                        {
                            csObj.Delegate = true;
                            csObj          = csObjClassFactory.Create() as EarthView.World.Spatial.Atlas.Iscene;
                            csObj.BindNativeObject(__ptr, "IScene");
                            csObj.Delegate = true;
                        }
                        return(csObj);
                    }
                    public virtual EarthView.World.Spatial.Atlas.Iscene CreateScene(EarthView.World.Core.DataStream stream)
                    {
                        IntPtr __ptr = EarthView_World_Spatial_Atlas_ISceneFactory_createScene_IScene_CDataStream(this.NativeObject, object.Equals(stream, null) ? IntPtr.Zero : stream.NativeObject);

                        if (__ptr == IntPtr.Zero)
                        {
                            return(null);
                        }
                        EarthView.World.Spatial.Atlas.Iscene csObj = new EarthView.World.Spatial.Atlas.Iscene(CreatedWhenConstruct.CWC_NotToCreate);
                        csObj.BindNativeObject(__ptr, "IScene");
                        csObj.Delegate = true;
                        IClassFactory csObjClassFactory = GlobalClassFactoryMap.Get(csObj.GetCppInstanceTypeName());

                        if (csObjClassFactory != null)
                        {
                            csObj.Delegate = true;
                            csObj          = csObjClassFactory.Create() as EarthView.World.Spatial.Atlas.Iscene;
                            csObj.BindNativeObject(__ptr, "IScene");
                            csObj.Delegate = true;
                        }
                        return(csObj);
                    }
                    protected void EarthView_World_Spatial_Atlas_ISceneFactory_destroyScene_void_IScene_Function(IntPtr pScene)
                    {
                        EarthView.World.Spatial.Atlas.Iscene csobj_pScene = new EarthView.World.Spatial.Atlas.Iscene(CreatedWhenConstruct.CWC_NotToCreate);
                        csobj_pScene.BindNativeObject(pScene, "IScene");
                        csobj_pScene.Delegate = true;
                        IClassFactory csobj_pSceneClassFactory = GlobalClassFactoryMap.Get(csobj_pScene.GetCppInstanceTypeName());

                        if (csobj_pSceneClassFactory != null)
                        {
                            csobj_pScene.Delegate = true;
                            csobj_pScene          = csobj_pSceneClassFactory.Create() as EarthView.World.Spatial.Atlas.Iscene;
                            csobj_pScene.BindNativeObject(pScene, "IScene");
                            csobj_pScene.Delegate = true;
                        }

                        DestroyScene(csobj_pScene);
                    }