/// <summary>
                    /// 清空数据库表记录
                    /// </summary>
                    /// <param name="db">数据库句柄</param>
                    /// <param name="tab">表名</param>
                    /// <returns>true成功,false失败</returns>
                    public static bool ClearTable(ref EarthView.World.Core.Database.SqlDatabase db, ref string tab)
                    {
                        IntPtr __ptrtab = Marshal.StringToHGlobalAnsi(tab);
                        IntPtr pTmptab  = __ptrtab;

                        byte ret = EarthView_World_Spatial3D_Dataset_CModelDatasetUtility_clearTable_ev_bool_CSqlDatabase_EVString(object.Equals(db, null) ? IntPtr.Zero : db.NativeObject, ref __ptrtab);

                        Marshal.FreeHGlobal(pTmptab);
                        tab = Marshal.PtrToStringAnsi(__ptrtab);
                        ClassFactory.FreeString(ref __ptrtab);
                        return(Convert.ToBoolean(ret));
                    }
                    /// <summary>
                    ///
                    /// </summary>
                    /// <param name=""></param>
                    /// <returns></returns>
                    public ModelOctreeManager(EarthView.World.Core.Database.SqlDatabase db, string octreeTable, EarthView.World.Spatial.Math.AxisAlignedBox box, uint maxDepth) : base(CreatedWhenConstruct.CWC_NotToCreate)
                    {
                        NameValuePairList list    = new NameValuePairList();
                        BasePtr           valuedb = new BasePtr(db);

                        list.Add("db", valuedb.PtrVal);
                        BasePtr valueoctreeTable = new BasePtr(octreeTable);

                        list.Add("octreeTable", valueoctreeTable.PtrVal);
                        BasePtr valuebox = new BasePtr(box);

                        list.Add("box", valuebox.PtrVal);
                        BasePtr valuemaxDepth = new BasePtr(maxDepth);

                        list.Add("maxDepth", valuemaxDepth.PtrVal);
                        Create("CModelOctreeManager", list);
                        RegisterCallBack();
                        this.needDispose = true;
                        GlobalTraceInfoMap.Put(this);
                    }
                    public static EarthView.World.Spatial3D.Dataset.ModelOctreeManager NewDatasourceModelOctreeManager(EarthView.World.Core.Database.SqlDatabase db, string datasourceName, EarthView.World.Spatial.Math.AxisAlignedBox box, uint maxDepth, bool autoInit)
                    {
                        IntPtr __ptr = EarthView_World_Spatial3D_Dataset_CModelOctreeManager_newDatasourceModelOctreeManager_CModelOctreeManager_CSqlDatabase_EVString_CAxisAlignedBox_ev_uint32_ev_bool(object.Equals(db, null) ? IntPtr.Zero : db.NativeObject, datasourceName, object.Equals(box, null) ? IntPtr.Zero : box.NativeObject, maxDepth, Convert.ToByte(autoInit));

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

                        if (csObjClassFactory != null)
                        {
                            csObj.Delegate = true;
                            csObj          = csObjClassFactory.Create() as EarthView.World.Spatial3D.Dataset.ModelOctreeManager;
                            csObj.BindNativeObject(__ptr, "CModelOctreeManager");
                            csObj.Delegate = true;
                        }
                        return(csObj);
                    }
                    /// <summary>
                    /// 获取表的结构
                    /// </summary>
                    /// <param name="db">数据库句柄</param>
                    /// <param name="tab">表名</param>
                    /// <param name="flds">传出的表结构</param>
                    /// <returns>返回字段个数</returns>
                    public static uint GetTableFields(ref EarthView.World.Core.Database.SqlDatabase db, string tab, EarthView.World.Spatial.GeoDataset.Ifields flds)
                    {
                        uint ret = EarthView_World_Spatial3D_Dataset_CModelDatasetUtility_getTableFields_ev_uint32_CSqlDatabase_EVString_IFields(object.Equals(db, null) ? IntPtr.Zero : db.NativeObject, tab, object.Equals(flds, null) ? IntPtr.Zero : flds.NativeObject);

                        return(ret);
                    }
                    /// <summary>
                    /// 构造函数
                    /// </summary>
                    /// <returns></returns>
                    public AnnotationBuilder(EarthView.World.Spatial.Atlas.Imap ref_map, EarthView.World.Spatial.Atlas.Ivectorlayer ref_dataLayer, EarthView.World.Spatial.Display.Ispatialdisplay ref_spatialDisplay, EarthView.World.Spatial.Geometry.Ienvelope extent, EarthView.World.Core.Database.SqlDatabase db) : base(CreatedWhenConstruct.CWC_NotToCreate)
                    {
                        NameValuePairList list         = new NameValuePairList();
                        BasePtr           valueref_map = new BasePtr(ref_map);

                        list.Add("ref_map", valueref_map.PtrVal);
                        BasePtr valueref_dataLayer = new BasePtr(ref_dataLayer);

                        list.Add("ref_dataLayer", valueref_dataLayer.PtrVal);
                        BasePtr valueref_spatialDisplay = new BasePtr(ref_spatialDisplay);

                        list.Add("ref_spatialDisplay", valueref_spatialDisplay.PtrVal);
                        BasePtr valueextent = new BasePtr(extent);

                        list.Add("extent", valueextent.PtrVal);
                        BasePtr valuedb = new BasePtr(db);

                        list.Add("db", valuedb.PtrVal);
                        Create("CAnnotationBuilder", list);
                        RegisterCallBack();
                        this.needDispose = true;
                        GlobalTraceInfoMap.Put(this);
                    }