/// <summary>
                    ///
                    /// </summary>
                    /// <returns></returns>
                    public string GenKmlModelCache(string modelPath, EarthView.World.Graphic.SceneManager sceneMgr)
                    {
                        IntPtr __ptr = EarthView_World_Spatial3D_KmlManager_CKmlCacheManager_genKmlModelCache_EVString_EVString_CSceneManager(this.NativeObject, modelPath, object.Equals(sceneMgr, null) ? IntPtr.Zero : sceneMgr.NativeObject);

                        string ret = Marshal.PtrToStringAnsi(__ptr);

                        ClassFactory.FreeString(ref __ptr);
                        return(ret);
                    }
Beispiel #2
0
                    /// <summary>
                    /// 构造函数
                    /// </summary>
                    /// <param name="pSceneManager">场景管理器</param>
                    /// <returns></returns>
                    public ModelObjectManager(EarthView.World.Graphic.SceneManager ref_pSceneManager) : base(CreatedWhenConstruct.CWC_NotToCreate)
                    {
                        NameValuePairList list = new NameValuePairList();
                        BasePtr           valueref_pSceneManager = new BasePtr(ref_pSceneManager);

                        list.Add("ref_pSceneManager", valueref_pSceneManager.PtrVal);
                        Create("CModelObjectManager", list);
                        RegisterCallBack();
                        this.needDispose = true;
                        GlobalTraceInfoMap.Put(this);
                    }
Beispiel #3
0
                public ClampLineExtension(EarthView.World.Graphic.SceneManager sceneMgr, string group) : base(CreatedWhenConstruct.CWC_NotToCreate)
                {
                    NameValuePairList list          = new NameValuePairList();
                    BasePtr           valuesceneMgr = new BasePtr(sceneMgr);

                    list.Add("sceneMgr", valuesceneMgr.PtrVal);
                    BasePtr valuegroup = new BasePtr(group);

                    list.Add("group", valuegroup.PtrVal);
                    Create("CClampLineExtension", list);
                    RegisterCallBack();
                    this.needDispose = true;
                    GlobalTraceInfoMap.Put(this);
                }
Beispiel #4
0
                /// <summary>
                /// 构造函数
                /// </summary>
                /// <param name="scenemanager">场景管理器</param>
                /// <param name="type">点类型</param>
                /// <param name="estimatedCount">预设点个数</param>
                /// <returns></returns>
                public ScreenPolygon(EarthView.World.Graphic.SceneManager ref_scenemanager) : base(CreatedWhenConstruct.CWC_NotToCreate)
                {
                    NameValuePairList list = new NameValuePairList();
                    BasePtr           valueref_scenemanager = new BasePtr(ref_scenemanager);

                    list.Add("ref_scenemanager", valueref_scenemanager.PtrVal);
                    Create("CScreenPolygonProxy", list);
                    if (!"EarthView.World.Geometry3D.ScreenPolygon".Equals(((Object)this).GetType().ToString()))
                    {
                        this.SetCustomExtend(true);
                    }
                    RegisterCallBack();
                    this.needDispose = true;
                    GlobalTraceInfoMap.Put(this);
                }
Beispiel #5
0
                    /// <summary>
                    /// 构造函数
                    /// </summary>
                    /// <param name="pSceneManager">场景管理器</param>
                    /// <param name="pModelDataSource">模型数据源,不能为NULL</param>
                    /// <param name="pEffectDataSource">特效数据源</param>
                    /// <returns></returns>
                    public ModelEffectManager(EarthView.World.Graphic.SceneManager ref_pSceneManager, EarthView.World.Spatial3D.Dataset.ModelDataSource ref_pModelDataSource, EarthView.World.Spatial3D.Dataset.EffectDataSource ref_pEffectDataSource) : base(CreatedWhenConstruct.CWC_NotToCreate)
                    {
                        NameValuePairList list = new NameValuePairList();
                        BasePtr           valueref_pSceneManager = new BasePtr(ref_pSceneManager);

                        list.Add("ref_pSceneManager", valueref_pSceneManager.PtrVal);
                        BasePtr valueref_pModelDataSource = new BasePtr(ref_pModelDataSource);

                        list.Add("ref_pModelDataSource", valueref_pModelDataSource.PtrVal);
                        BasePtr valueref_pEffectDataSource = new BasePtr(ref_pEffectDataSource);

                        list.Add("ref_pEffectDataSource", valueref_pEffectDataSource.PtrVal);
                        Create("CModelEffectManager", list);
                        RegisterCallBack();
                        this.needDispose = true;
                        GlobalTraceInfoMap.Put(this);
                    }
Beispiel #6
0
                public RotorWash(EarthView.World.Graphic.SceneManager sceneManager, double pRotorDiameter, bool pUseDecals) : base(CreatedWhenConstruct.CWC_NotToCreate)
                {
                    NameValuePairList list = new NameValuePairList();
                    BasePtr           valuesceneManager = new BasePtr(sceneManager);

                    list.Add("sceneManager", valuesceneManager.PtrVal);
                    BasePtr valuepRotorDiameter = new BasePtr(pRotorDiameter);

                    list.Add("pRotorDiameter", valuepRotorDiameter.PtrVal);
                    BasePtr valuepUseDecals = new BasePtr(pUseDecals);

                    list.Add("pUseDecals", valuepUseDecals.PtrVal);
                    Create("RotorWash", list);
                    RegisterCallBack();
                    this.needDispose = true;
                    GlobalTraceInfoMap.Put(this);
                }
Beispiel #7
0
                /// <summary>
                /// 构造函数,宽线贴纹理
                /// </summary>
                /// <param name="estimatedVertexCount">预估的点数(不要求非常精准)</param>
                /// <param name="texture">纹理</param>
                /// <returns></returns>
                public ScreenLine(EarthView.World.Graphic.SceneManager ref_scenemanager, uint estimatedCount, ref EarthView.World.Core.DataStreamPtr texture) : base(CreatedWhenConstruct.CWC_NotToCreate)
                {
                    NameValuePairList list = new NameValuePairList();
                    BasePtr           valueref_scenemanager = new BasePtr(ref_scenemanager);

                    list.Add("ref_scenemanager", valueref_scenemanager.PtrVal);
                    BasePtr valueestimatedCount = new BasePtr(estimatedCount);

                    list.Add("estimatedCount", valueestimatedCount.PtrVal);
                    BasePtr valuetexture = new BasePtr(texture);

                    list.Add("texture", valuetexture.PtrVal);
                    Create("CScreenLineProxy", list);
                    if (!"EarthView.World.Geometry3D.ScreenLine".Equals(((Object)this).GetType().ToString()))
                    {
                        this.SetCustomExtend(true);
                    }
                    RegisterCallBack();
                    this.needDispose = true;
                    GlobalTraceInfoMap.Put(this);
                }
                    public EarthView.World.Graphic.SceneManager GetSceneManager()
                    {
                        IntPtr __ptr = EarthView_World_Spatial3D_Atlas_CBingMapTree_getSceneManager_CSceneManager(this.NativeObject);

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

                        if (csObjClassFactory != null)
                        {
                            csObj.Delegate = true;
                            csObj          = csObjClassFactory.Create() as EarthView.World.Graphic.SceneManager;
                            csObj.BindNativeObject(__ptr, "CSceneManager");
                            csObj.Delegate = true;
                        }
                        return(csObj);
                    }
                protected void EarthView_World_Graphic_CRenderQueueListener_renderQueueEnded_void_CSceneManager_ev_uint8_EVString_ev_bool_Function(IntPtr pSceneMgr, byte queueGroupId, ref IntPtr invocation, ref byte repeatThisInvocation)
                {
                    EarthView.World.Graphic.SceneManager csobj_pSceneMgr = new EarthView.World.Graphic.SceneManager(CreatedWhenConstruct.CWC_NotToCreate);
                    csobj_pSceneMgr.BindNativeObject(pSceneMgr, "CSceneManager");
                    csobj_pSceneMgr.Delegate = true;
                    IClassFactory csobj_pSceneMgrClassFactory = GlobalClassFactoryMap.Get(csobj_pSceneMgr.GetCppInstanceTypeName());

                    if (csobj_pSceneMgrClassFactory != null)
                    {
                        csobj_pSceneMgr.Delegate = true;
                        csobj_pSceneMgr          = csobj_pSceneMgrClassFactory.Create() as EarthView.World.Graphic.SceneManager;
                        csobj_pSceneMgr.BindNativeObject(pSceneMgr, "CSceneManager");
                        csobj_pSceneMgr.Delegate = true;
                    }
                    string strinvocation = Marshal.PtrToStringAnsi(invocation);

                    ClassFactory.FreeString(ref invocation);
                    bool repeatThisInvocationBool = Convert.ToBoolean(repeatThisInvocation);

                    RenderQueueEnded(csobj_pSceneMgr, queueGroupId, strinvocation, ref repeatThisInvocationBool);

                    repeatThisInvocation = Convert.ToByte(repeatThisInvocationBool);
                }
Beispiel #10
0
 /// <summary>
 /// 销毁可见对象组,不负责组内对象的销毁
 /// </summary>
 /// <param name="pSceneManager">场景管理器</param>
 /// <returns></returns>
 public void DestroyObjectManager(EarthView.World.Graphic.SceneManager pSceneManager)
 {
     EarthView_World_Spatial3D_ModelManager_CModelObjectGroupManager_destroyObjectManager_void_CSceneManager(this.NativeObject, object.Equals(pSceneManager, null) ? IntPtr.Zero : pSceneManager.NativeObject);
 }
 public void SetSceneManager(EarthView.World.Graphic.SceneManager sceneManager)
 {
     EarthView_World_Spatial3D_Atlas_CBingMapTree_setSceneManager_void_CSceneManager(this.NativeObject, object.Equals(sceneManager, null) ? IntPtr.Zero : sceneManager.NativeObject);
 }
Beispiel #12
0
 /// <summary>
 /// 在每帧更新场景图前触发
 /// </summary>
 /// <returns></returns>
 public new void PreUpdateSceneGraph_NoVirtual(EarthView.World.Graphic.SceneManager source, EarthView.World.Graphic.Camera camera)
 {
     EarthView_IndustryEngine_DynamicModelLibrary_CDynamicModelManagerListener_preUpdateSceneGraph_void_CSceneManager_CCamera_NoVirtual(this.NativeObject, object.Equals(source, null) ? IntPtr.Zero : source.NativeObject, object.Equals(camera, null) ? IntPtr.Zero : camera.NativeObject);
 }
Beispiel #13
0
                    /// <summary>
                    /// 创建可见对象组,此对象组与camera一 一对应,为了适应同一个scenemanager里的多个视口情况
                    /// 为了线程安全,函数里会拷贝一个传入的camera对象
                    /// </summary>
                    /// <param name="pSceneManager">场景管理器</param>
                    /// <returns>对象组</returns>
                    public EarthView.World.Spatial3D.ModelManager.ModelObjectManager CreateObjectManager(EarthView.World.Graphic.SceneManager ref_pSceneManager)
                    {
                        IntPtr __ptr = EarthView_World_Spatial3D_ModelManager_CModelObjectGroupManager_createObjectManager_CModelObjectManager_CSceneManager(this.NativeObject, object.Equals(ref_pSceneManager, null) ? IntPtr.Zero : ref_pSceneManager.NativeObject);

                        if (__ptr == IntPtr.Zero)
                        {
                            return(null);
                        }
                        EarthView.World.Spatial3D.ModelManager.ModelObjectManager csObj = new EarthView.World.Spatial3D.ModelManager.ModelObjectManager(CreatedWhenConstruct.CWC_NotToCreate);
                        csObj.BindNativeObject(__ptr, "CModelObjectManager");
                        csObj.Delegate = true;
                        IClassFactory csObjClassFactory = GlobalClassFactoryMap.Get(csObj.GetCppInstanceTypeName());

                        if (csObjClassFactory != null)
                        {
                            csObj.Delegate = true;
                            csObj          = csObjClassFactory.Create() as EarthView.World.Spatial3D.ModelManager.ModelObjectManager;
                            csObj.BindNativeObject(__ptr, "CModelObjectManager");
                            csObj.Delegate = true;
                        }
                        return(csObj);
                    }
Beispiel #14
0
 //// CFunction to implement -- must set the shadow camera properties
 /// <summary>
 /// 摄像机阴影类默认函数
 /// </summary>
 /// <param name="sm"></param>
 /// <param name="cam"></param>
 /// <param name="vp"></param>
 /// <param name="light"></param>
 /// <param name="texCam"></param>
 /// <param name="iteration"></param>
 /// <returns></returns>
 public virtual void GetShadowCamera_NoVirtual(EarthView.World.Graphic.SceneManager sm, EarthView.World.Graphic.Camera cam, EarthView.World.Graphic.Viewport vp, EarthView.World.Graphic.Light light, EarthView.World.Graphic.Camera texCam, ulong iteration)
 {
     EarthView_World_Graphic_CShadowCameraSetup_getShadowCamera_void_CSceneManager_CCamera_CViewport_CLight_CCamera_ev_size_t_NoVirtual(this.NativeObject, object.Equals(sm, null) ? IntPtr.Zero : sm.NativeObject, object.Equals(cam, null) ? IntPtr.Zero : cam.NativeObject, object.Equals(vp, null) ? IntPtr.Zero : vp.NativeObject, object.Equals(light, null) ? IntPtr.Zero : light.NativeObject, object.Equals(texCam, null) ? IntPtr.Zero : texCam.NativeObject, iteration);
 }
Beispiel #15
0
                protected void EarthView_World_Graphic_CShadowCameraSetup_getShadowCamera_void_CSceneManager_CCamera_CViewport_CLight_CCamera_ev_size_t_Function(IntPtr sm, IntPtr cam, IntPtr vp, IntPtr light, IntPtr texCam, ulong iteration)
                {
                    EarthView.World.Graphic.SceneManager csobj_sm = new EarthView.World.Graphic.SceneManager(CreatedWhenConstruct.CWC_NotToCreate);
                    csobj_sm.BindNativeObject(sm, "CSceneManager");
                    csobj_sm.Delegate = true;
                    IClassFactory csobj_smClassFactory = GlobalClassFactoryMap.Get(csobj_sm.GetCppInstanceTypeName());

                    if (csobj_smClassFactory != null)
                    {
                        csobj_sm.Delegate = true;
                        csobj_sm          = csobj_smClassFactory.Create() as EarthView.World.Graphic.SceneManager;
                        csobj_sm.BindNativeObject(sm, "CSceneManager");
                        csobj_sm.Delegate = true;
                    }
                    EarthView.World.Graphic.Camera csobj_cam = new EarthView.World.Graphic.Camera(CreatedWhenConstruct.CWC_NotToCreate);
                    csobj_cam.BindNativeObject(cam, "CCamera");
                    csobj_cam.Delegate = true;
                    IClassFactory csobj_camClassFactory = GlobalClassFactoryMap.Get(csobj_cam.GetCppInstanceTypeName());

                    if (csobj_camClassFactory != null)
                    {
                        csobj_cam.Delegate = true;
                        csobj_cam          = csobj_camClassFactory.Create() as EarthView.World.Graphic.Camera;
                        csobj_cam.BindNativeObject(cam, "CCamera");
                        csobj_cam.Delegate = true;
                    }
                    EarthView.World.Graphic.Viewport csobj_vp = new EarthView.World.Graphic.Viewport(CreatedWhenConstruct.CWC_NotToCreate);
                    csobj_vp.BindNativeObject(vp, "CViewport");
                    csobj_vp.Delegate = true;
                    IClassFactory csobj_vpClassFactory = GlobalClassFactoryMap.Get(csobj_vp.GetCppInstanceTypeName());

                    if (csobj_vpClassFactory != null)
                    {
                        csobj_vp.Delegate = true;
                        csobj_vp          = csobj_vpClassFactory.Create() as EarthView.World.Graphic.Viewport;
                        csobj_vp.BindNativeObject(vp, "CViewport");
                        csobj_vp.Delegate = true;
                    }
                    EarthView.World.Graphic.Light csobj_light = new EarthView.World.Graphic.Light(CreatedWhenConstruct.CWC_NotToCreate);
                    csobj_light.BindNativeObject(light, "CLight");
                    csobj_light.Delegate = true;
                    IClassFactory csobj_lightClassFactory = GlobalClassFactoryMap.Get(csobj_light.GetCppInstanceTypeName());

                    if (csobj_lightClassFactory != null)
                    {
                        csobj_light.Delegate = true;
                        csobj_light          = csobj_lightClassFactory.Create() as EarthView.World.Graphic.Light;
                        csobj_light.BindNativeObject(light, "CLight");
                        csobj_light.Delegate = true;
                    }
                    EarthView.World.Graphic.Camera csobj_texCam = new EarthView.World.Graphic.Camera(CreatedWhenConstruct.CWC_NotToCreate);
                    csobj_texCam.BindNativeObject(texCam, "CCamera");
                    csobj_texCam.Delegate = true;
                    IClassFactory csobj_texCamClassFactory = GlobalClassFactoryMap.Get(csobj_texCam.GetCppInstanceTypeName());

                    if (csobj_texCamClassFactory != null)
                    {
                        csobj_texCam.Delegate = true;
                        csobj_texCam          = csobj_texCamClassFactory.Create() as EarthView.World.Graphic.Camera;
                        csobj_texCam.BindNativeObject(texCam, "CCamera");
                        csobj_texCam.Delegate = true;
                    }

                    GetShadowCamera(csobj_sm, csobj_cam, csobj_vp, csobj_light, csobj_texCam, iteration);
                }
                /// <summary>
                /// 相机锁定输入交互控制器构造函数
                /// </summary>
                /// <param name="ref_camera">相机</param>
                /// <param name="ref_sceneManager">场景管理器</param>
                /// <param name="ref_viewport">视口</param>
                /// <param name="ref_dynamicModelManager">动态目标管理器,该参数对象的生命周期要与本对象保持一致</param>
                /// <param name="ref_globeControl">地球窗体</param>
                public DynamicCameraLockHandler(EarthView.World.Spatial3D.GlobeCamera ref_camera, EarthView.World.Graphic.SceneManager ref_sceneManager, EarthView.World.Graphic.Viewport ref_viewport, EarthView.IndustryEngine.DynamicModelLibrary.DynamicModelObjectManager ref_dynamicModelManager, EarthView.World.Spatial3D.Controls.GlobeControl ref_globeControl) : base(CreatedWhenConstruct.CWC_NotToCreate)
                {
                    NameValuePairList list            = new NameValuePairList();
                    BasePtr           valueref_camera = new BasePtr(ref_camera);

                    list.Add("ref_camera", valueref_camera.PtrVal);
                    BasePtr valueref_sceneManager = new BasePtr(ref_sceneManager);

                    list.Add("ref_sceneManager", valueref_sceneManager.PtrVal);
                    BasePtr valueref_viewport = new BasePtr(ref_viewport);

                    list.Add("ref_viewport", valueref_viewport.PtrVal);
                    BasePtr valueref_dynamicModelManager = new BasePtr(ref_dynamicModelManager);

                    list.Add("ref_dynamicModelManager", valueref_dynamicModelManager.PtrVal);
                    BasePtr valueref_globeControl = new BasePtr(ref_globeControl);

                    list.Add("ref_globeControl", valueref_globeControl.PtrVal);
                    Create("CDynamicCameraLockHandlerProxy", list);
                    if (!"EarthView.IndustryEngine.DynamicModelLibrary.DynamicCameraLockHandler".Equals(((Object)this).GetType().ToString()))
                    {
                        this.SetCustomExtend(true);
                    }
                    RegisterCallBack();
                    this.needDispose = true;
                    GlobalTraceInfoMap.Put(this);
                }
Beispiel #17
0
                    /// <summary>
                    /// 获取工厂句柄
                    /// </summary>
                    /// <returns>失败则返回NULL</returns>
                    public static EarthView.World.Spatial3D.ModelManager.LodObjectFactory GetFactory(EarthView.World.Graphic.SceneManager pSceneManager)
                    {
                        IntPtr __ptr = EarthView_World_Spatial3D_ModelManager_CLodObjectFactory_getFactory_CLodObjectFactory_CSceneManager(object.Equals(pSceneManager, null) ? IntPtr.Zero : pSceneManager.NativeObject);

                        if (__ptr == IntPtr.Zero)
                        {
                            return(null);
                        }
                        EarthView.World.Spatial3D.ModelManager.LodObjectFactory csObj = new EarthView.World.Spatial3D.ModelManager.LodObjectFactory(CreatedWhenConstruct.CWC_NotToCreate);
                        csObj.BindNativeObject(__ptr, "CLodObjectFactory");
                        csObj.Delegate = true;
                        IClassFactory csObjClassFactory = GlobalClassFactoryMap.Get(csObj.GetCppInstanceTypeName());

                        if (csObjClassFactory != null)
                        {
                            csObj.Delegate = true;
                            csObj          = csObjClassFactory.Create() as EarthView.World.Spatial3D.ModelManager.LodObjectFactory;
                            csObj.BindNativeObject(__ptr, "CLodObjectFactory");
                            csObj.Delegate = true;
                        }
                        return(csObj);
                    }
 /// <summary>
 /// 在渲染队列组被渲染之后事件通知
 /// </summary>
 /// <param name="queueGroupId">队列组的ID号</param>
 /// <param name="invocation"></param>
 /// <param name="skipThisInvocation"></param>
 /// <returns></returns>
 public virtual void RenderQueueEnded(EarthView.World.Graphic.SceneManager pSceneMgr, byte queueGroupId, string invocation, ref bool repeatThisInvocation)
 {
     EarthView_World_Graphic_CRenderQueueListener_renderQueueEnded_void_CSceneManager_ev_uint8_EVString_ev_bool(this.NativeObject, object.Equals(pSceneMgr, null) ? IntPtr.Zero : pSceneMgr.NativeObject, queueGroupId, invocation, ref repeatThisInvocation);
 }
 public override void PostUpdateSceneGraph(EarthView.World.Graphic.SceneManager source, EarthView.World.Graphic.Camera camera)
 {
     base.PostUpdateSceneGraph_NoVirtual(source, camera);
 }
 public new void PreUpdateSceneGraph_NoVirtual(EarthView.World.Graphic.SceneManager source, EarthView.World.Graphic.Camera camera)
 {
     EarthView_World_Spatial3D_Controls_CCameraNodeTrackSceneManagerListener_preUpdateSceneGraph_void_CSceneManager_CCamera_NoVirtual(this.NativeObject, object.Equals(source, null) ? IntPtr.Zero : source.NativeObject, object.Equals(camera, null) ? IntPtr.Zero : camera.NativeObject);
 }
 public override void SceneManagerDestroyed(EarthView.World.Graphic.SceneManager source)
 {
     base.SceneManagerDestroyed_NoVirtual(source);
 }
 public override void PostFindVisibleObjects(EarthView.World.Graphic.SceneManager source, EarthView.World.Graphic.SceneManager.ILLUMINATIONRENDERSTAGE irs, EarthView.World.Graphic.Viewport v)
 {
     base.PostFindVisibleObjects_NoVirtual(source, irs, v);
 }