protected IntPtr EarthView_World_Spatial_Display_CColorFactory_createColorFromXmlElement_IColor_CXmlElement_Function(IntPtr element)
                    {
                        EarthView.World.Core.XmlElement csobj_element = new EarthView.World.Core.XmlElement(CreatedWhenConstruct.CWC_NotToCreate);
                        csobj_element.BindNativeObject(element, "CXmlElement");
                        csobj_element.Delegate = true;
                        IClassFactory csobj_elementClassFactory = GlobalClassFactoryMap.Get(csobj_element.GetCppInstanceTypeName());

                        if (csobj_elementClassFactory != null)
                        {
                            csobj_element.Delegate = true;
                            csobj_element          = csobj_elementClassFactory.Create() as EarthView.World.Core.XmlElement;
                            csobj_element.BindNativeObject(element, "CXmlElement");
                            csobj_element.Delegate = true;
                        }

                        EarthView.World.Spatial.Display.Icolor csret = CreateColorFromXmlElement(ref csobj_element);

                        if (!object.Equals(csret, null))
                        {
                            csret.Delegate = true;
                            return(csret.NativeObject);
                        }
                        else
                        {
                            return(IntPtr.Zero);
                        }
                    }
                    protected IntPtr EarthView_World_Spatial_Display_CColorFactory_createColorFromStream_IColor_CDataStream_Function(IntPtr stream)
                    {
                        EarthView.World.Core.DataStream csobj_stream = new EarthView.World.Core.DataStream(CreatedWhenConstruct.CWC_NotToCreate);
                        csobj_stream.BindNativeObject(stream, "CDataStream");
                        csobj_stream.Delegate = true;
                        IClassFactory csobj_streamClassFactory = GlobalClassFactoryMap.Get(csobj_stream.GetCppInstanceTypeName());

                        if (csobj_streamClassFactory != null)
                        {
                            csobj_stream.Delegate = true;
                            csobj_stream          = csobj_streamClassFactory.Create() as EarthView.World.Core.DataStream;
                            csobj_stream.BindNativeObject(stream, "CDataStream");
                            csobj_stream.Delegate = true;
                        }

                        EarthView.World.Spatial.Display.Icolor csret = CreateColorFromStream(ref csobj_stream);

                        if (!object.Equals(csret, null))
                        {
                            csret.Delegate = true;
                            return(csret.NativeObject);
                        }
                        else
                        {
                            return(IntPtr.Zero);
                        }
                    }
                    protected void EarthView_World_Spatial_Display_CColorFactory_destroyColor_void_IColor_Function(IntPtr pColor)
                    {
                        EarthView.World.Spatial.Display.Icolor csobj_pColor = new EarthView.World.Spatial.Display.Icolor(CreatedWhenConstruct.CWC_NotToCreate);
                        csobj_pColor.BindNativeObject(pColor, "IColor");
                        csobj_pColor.Delegate = true;
                        IClassFactory csobj_pColorClassFactory = GlobalClassFactoryMap.Get(csobj_pColor.GetCppInstanceTypeName());

                        if (csobj_pColorClassFactory != null)
                        {
                            csobj_pColor.Delegate = true;
                            csobj_pColor          = csobj_pColorClassFactory.Create() as EarthView.World.Spatial.Display.Icolor;
                            csobj_pColor.BindNativeObject(pColor, "IColor");
                            csobj_pColor.Delegate = true;
                        }

                        DestroyColor(csobj_pColor);
                    }
                    /// <summary>
                    /// 通过xmlElement恢复Color信息
                    /// </summary>
                    /// <param name="xmlText">xmlElement字符串</param>
                    /// <returns></returns>
                    public virtual EarthView.World.Spatial.Display.Icolor CreateColorFromXmlElement(ref EarthView.World.Core.XmlElement element)
                    {
                        IntPtr __ptr = EarthView_World_Spatial_Display_CColorFactory_createColorFromXmlElement_IColor_CXmlElement(this.NativeObject, object.Equals(element, null) ? IntPtr.Zero : element.NativeObject);

                        if (__ptr == IntPtr.Zero)
                        {
                            return(null);
                        }
                        EarthView.World.Spatial.Display.Icolor csObj = new EarthView.World.Spatial.Display.Icolor(CreatedWhenConstruct.CWC_NotToCreate);
                        csObj.BindNativeObject(__ptr, "IColor");
                        IClassFactory csObjClassFactory = GlobalClassFactoryMap.Get(csObj.GetCppInstanceTypeName());

                        if (csObjClassFactory != null)
                        {
                            csObj.Delegate = true;
                            csObj          = csObjClassFactory.Create() as EarthView.World.Spatial.Display.Icolor;
                            csObj.BindNativeObject(__ptr, "IColor");
                        }
                        return(csObj);
                    }
                    public EarthView.World.Spatial.Display.Icolor GetBlendResult(EarthView.World.Spatial.Display.Icolor arg1, EarthView.World.Spatial.Display.Icolor arg2)
                    {
                        IntPtr __ptr = EarthView_World_Spatial_Display_CColorBlend_getBlendResult_IColor_IColor_IColor(this.NativeObject, object.Equals(arg1, null) ? IntPtr.Zero : arg1.NativeObject, object.Equals(arg2, null) ? IntPtr.Zero : arg2.NativeObject);

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

                        if (csObjClassFactory != null)
                        {
                            csObj.Delegate = true;
                            csObj          = csObjClassFactory.Create() as EarthView.World.Spatial.Display.Icolor;
                            csObj.BindNativeObject(__ptr, "IColor");
                            csObj.Delegate = true;
                        }
                        return(csObj);
                    }
                /// <summary>
                /// 创建可渲染的长方体
                /// </summary>
                /// <param name="box">几何长方体</param>
                /// <param name="color">颜色</param>
                /// <returns>可渲染实体</returns>
                public static EarthView.World.Geometry3D.SimpleRenderableEx CreateBox(EarthView.World.Spatial.Geometry.Box box, EarthView.World.Spatial.Display.Icolor color)
                {
                    IntPtr __ptr = EarthView_World_Geometry3D_CGeometry3DFactory_createBox_CSimpleRenderableEx_CBox_IColor(object.Equals(box, null) ? IntPtr.Zero : box.NativeObject, object.Equals(color, null) ? IntPtr.Zero : color.NativeObject);

                    if (__ptr == IntPtr.Zero)
                    {
                        return(null);
                    }
                    EarthView.World.Geometry3D.SimpleRenderableEx csObj = new EarthView.World.Geometry3D.SimpleRenderableEx(CreatedWhenConstruct.CWC_NotToCreate);
                    csObj.BindNativeObject(__ptr, "CSimpleRenderableEx");
                    IClassFactory csObjClassFactory = GlobalClassFactoryMap.Get(csObj.GetCppInstanceTypeName());

                    if (csObjClassFactory != null)
                    {
                        csObj.Delegate = true;
                        csObj          = csObjClassFactory.Create() as EarthView.World.Geometry3D.SimpleRenderableEx;
                        csObj.BindNativeObject(__ptr, "CSimpleRenderableEx");
                    }
                    return(csObj);
                }
                /// <summary>
                /// 创建可渲染的旋转体边框
                /// </summary>
                /// <param name="volume">几何旋转体</param>
                /// <param name="interval">旋转间隔</param>
                /// <param name="color">颜色</param>
                /// <param name="sideClosed">是否封闭</param>
                /// <returns>可渲染实体</returns>
                public static EarthView.World.Geometry3D.SimpleRenderableEx CreateVolumeFrame(EarthView.World.Spatial.Geometry.RevolvingVolume volume, EarthView.World.Spatial.Math.Degree interval, EarthView.World.Spatial.Display.Icolor color, bool sideClosed)
                {
                    IntPtr __ptr = EarthView_World_Geometry3D_CGeometry3DFactory_createVolumeFrame_CSimpleRenderableEx_CRevolvingVolume_CDegree_IColor_ev_bool(object.Equals(volume, null) ? IntPtr.Zero : volume.NativeObject, object.Equals(interval, null) ? IntPtr.Zero : interval.NativeObject, object.Equals(color, null) ? IntPtr.Zero : color.NativeObject, Convert.ToByte(sideClosed));

                    if (__ptr == IntPtr.Zero)
                    {
                        return(null);
                    }
                    EarthView.World.Geometry3D.SimpleRenderableEx csObj = new EarthView.World.Geometry3D.SimpleRenderableEx(CreatedWhenConstruct.CWC_NotToCreate);
                    csObj.BindNativeObject(__ptr, "CSimpleRenderableEx");
                    IClassFactory csObjClassFactory = GlobalClassFactoryMap.Get(csObj.GetCppInstanceTypeName());

                    if (csObjClassFactory != null)
                    {
                        csObj.Delegate = true;
                        csObj          = csObjClassFactory.Create() as EarthView.World.Geometry3D.SimpleRenderableEx;
                        csObj.BindNativeObject(__ptr, "CSimpleRenderableEx");
                    }
                    return(csObj);
                }
                /// <summary>
                /// 创建简单的线材质
                /// </summary>
                /// <param name=""></param>
                /// <param name="groupName">资源组名称</param>
                /// <returns>材质</returns>
                public static EarthView.World.Graphic.MaterialPtr ColorToLineMaterial(EarthView.World.Spatial.Display.Icolor color, ref string symbolName, string groupName)
                {
                    IntPtr __ptrsymbolName = Marshal.StringToHGlobalAnsi(symbolName);
                    IntPtr pTmpsymbolName  = __ptrsymbolName;

                    IntPtr __ptr = EarthView_World_Geometry3D_CSymbolToMaterial_colorToLineMaterial_CMaterialPtr_IColor_EVString_EVString(object.Equals(color, null) ? IntPtr.Zero : color.NativeObject, ref __ptrsymbolName, groupName);

                    Marshal.FreeHGlobal(pTmpsymbolName);
                    symbolName = Marshal.PtrToStringAnsi(__ptrsymbolName);
                    ClassFactory.FreeString(ref __ptrsymbolName);
                    if (__ptr == IntPtr.Zero)
                    {
                        return(null);
                    }
                    EarthView.World.Graphic.MaterialPtr csObj = new EarthView.World.Graphic.MaterialPtr(CreatedWhenConstruct.CWC_NotToCreate);
                    csObj.BindNativeObject(__ptr, "CMaterialPtr");
                    IClassFactory csObjClassFactory = GlobalClassFactoryMap.Get(csObj.GetCppInstanceTypeName());

                    if (csObjClassFactory != null)
                    {
                        csObj.Delegate = true;
                        csObj          = csObjClassFactory.Create() as EarthView.World.Graphic.MaterialPtr;
                        csObj.BindNativeObject(__ptr, "CMaterialPtr");
                    }
                    return(csObj);
                }
 /// <summary>
 /// 销毁颜色
 /// </summary>
 /// <param name="pColor">颜色对象</param>
 /// <returns></returns>
 public virtual void DestroyColor(EarthView.World.Spatial.Display.Icolor pColor)
 {
     EarthView_World_Spatial_Display_CColorFactory_destroyColor_void_IColor(this.NativeObject, object.Equals(pColor, null) ? IntPtr.Zero : pColor.NativeObject);
 }