UNPKG

@dp_unity/dpu-gis-viewer

Version:

DPU GIS Viewer version Beta

166 lines (164 loc) 7.88 kB
import { Viewer } from "cesium"; import { TileModel } from "./class/tileModel"; import { InputIsolate, InputSetColor } from "./class/styleElement"; import { ToolbarOptions } from "./interfaces/toolBar.interface"; import { IDPUViewer } from "./interfaces/dpuViewer.interface"; import { IInputObjs3DTile } from "./interfaces/sceneManager.interface"; import { TaskColorByObj } from "./interfaces/styleElement.interface"; import { IViewSave, IViewSave2D } from "./services/utilsView"; import { ExtentionToolBar, IOptionExtension } from "./services/extensionToolbar"; import { IInputSetMap, IObjInputMap } from "./interfaces/map.interface"; export declare class DPUViewer implements IDPUViewer { viewer: Viewer | undefined; private _containerId; private _token; private _treeTileModel?; private _flyLocation?; private _contextMenu?; private _mapWeather?; private _labelPoint?; private _dataProperties?; private _flyCamera?; private _footerView?; private _compass?; private _sceneManager?; private _inputObjectPrimtive?; private _createToolBar?; private _layerModel?; private _globalStore?; optionToolbar?: ToolbarOptions; private _treeViews; private _treeLayerModel; constructor(containerId: string, token: string, inputOptionToolbar?: ToolbarOptions); /** * Hàm khởi tạo view Cesium */ private _initCesiumViewer; /** * Hàm set Dark/Light theme cho viewer * @param {boolean} dark true: dark theme, false: light theme */ setDarkTheme: (dark: boolean) => void; /** * Hàm hủy view */ destroyView: () => void; setLocationHome: (inputLocation: { longitude: number; latitude: number; height?: number; angle?: number; pitch?: number; duration?: number; }) => void; /** * Hàm xử lý hành động bay đến vị trí công trường */ flyToHomeLocation: () => Promise<void>; /** * Hàm bay đến vị trí mong muốn riêng * @param {number} longitude kinh độ * @param {number} latitude vĩ độ * @param {number} height độ cao * @param {number} duration thời gian bay */ flyToLocation: (longitude: number, latitude: number, height?: number, duration?: number) => void; /** * Tải không đồng bộ một 3D tile từ URL được chỉ định và tạo một `TileModel` tương ứng. * * @param url - URL của 3D tile cần tải. * @param name - (Tùy chọn) Tên của tile. Nếu không được cung cấp, một UUID sẽ được tạo. * @param urlConnect - (Tùy chọn) URL để kết nối thêm dữ liệu đối tượng đầu vào. * @param inputObjs - (Tùy chọn) Các đối tượng đầu vào bổ sung cho 3D tile. * * @returns Một promise trả về một `TileModel` nếu tile được tải thành công, hoặc `undefined` nếu tải thất bại. */ load3DTileUrl: (url: string, name?: string, urlConnect?: string, inputObjs?: IInputObjs3DTile) => Promise<TileModel | undefined>; private queue; private enqueue; private _totalModelLoad; private _firstChildLoad; loadTree3DTileUrl: (url: string, obj?: any) => Promise<TileModel[]>; private _containerLoad; private _renderLoadModel; private sortList; private arrange; getModelTreeUrl: (url: string, maximumScreen?: number) => Promise<TileModel[]>; private _flattenFolderTree; /** * Hàm load file KMZ từ URL * @param {string} url URL của file KMZ cần tải. * @param {string} name Tên của file KMZ để hiển thị trong TreeView. * @returns {Promise<TileModel>} Trả về đối tượng `TileModel` mới được tạo sau khi tải xong file KMZ. */ loadKMZ: (url: string, name: string, inputObjs?: IInputObjs3DTile) => Promise<TileModel | undefined>; /** * Hàm tải không đồng bộ một 3D tile theo ID và thêm vào TreeView. * * @param id - ID duy nhất của 3D tile cần tải. * @param name - (Tùy chọn) Tên được gán cho tile đã tải. Nếu không cung cấp, sẽ tạo UUID. * @param urlConnect - (Tùy chọn) URL kết nối để tải thêm dữ liệu. * @param inputObjs - (Tùy chọn) Các tham số đầu vào bổ sung để tải 3D tile. * * @returns Một promise trả về một đối tượng `TileModel` đại diện cho 3D tile đã tải, * hoặc `undefined` nếu không tải được. */ load3DTileById: (id: string, name?: string, urlConnect?: string, inputObjs?: IInputObjs3DTile) => Promise<TileModel | undefined>; /** * Hàm tải và hiển thị đường đi camera từ file KMZ * @param {string} url URL của file KMZ chứa dữ liệu đường đi camera. * @param {string} [name] Tên của camera hoặc dữ liệu đường đi (tùy chọn). */ loadPathCameraKMZ: (url: string, name?: string) => void; /** * Tải và tạo các điểm nhãn từ một URL. * * @param url - Đường dẫn URL chứa dữ liệu điểm nhãn. * @param loadFormJson - (Tùy chọn) Xác định xem có tải dữ liệu từ JSON hay không. Mặc định là `false`. * @param dataJson - (Tùy chọn) Dữ liệu JSON để sử dụng nếu `loadFormJson` là `true`. Mặc định là chuỗi rỗng. * @param isShow - (Tùy chọn) Xác định xem có hiển thị các điểm nhãn sau khi tải hay không. Mặc định là `false`. */ loadLabelPointFromUrl: (url: string, loadFormJson?: boolean, dataJson?: any, isShow?: boolean) => void; /** * Hàm Zoom đến Tile * @param {any} tile Tile để zoom tới */ zoomToTile: (tile: any) => void; setColor: (inputObjs: InputSetColor[]) => Promise<void>; resetDefaultColor: () => void; resetAllDefaultColor: () => Promise<void>; resetAllColor: () => Promise<void>; setColorByTask: (completeObj: TaskColorByObj, inProgressObj: TaskColorByObj, reColor?: [number, number, number, number] | string) => Promise<void>; isolateObjs: (inputObjs: InputIsolate[]) => Promise<void>; resetAllDefaultIsolate: () => void; resetDefaultIsolate: () => Promise<void>; resetAllIsolate: () => Promise<void>; clearObjDataPrimitive: () => Promise<void>; zoomToObjects: (inputObjs: any[]) => Promise<void>; /** * Hàm trả về danh sách File Name và danh sách GuidId của các đối tượng được chọn */ getObjectIdsBySelect: () => any[] | undefined; saveViewCamera: () => IViewSave | IViewSave2D | undefined; loadViewCamera(viewSave: IViewSave | IViewSave2D): void; createExtentionToolBar: (callback: (data: any) => void, option: IOptionExtension) => ExtentionToolBar | undefined; flyToVietNam: () => void; getOptionMap: () => IObjInputMap; setOptionMap: (objMap: IObjInputMap) => void; setInputMap: (inputMap: IInputSetMap) => void; issuePoint: (callback?: (data: any) => void) => import("./services/issuePoint/issuePoint").IssuePoint | undefined; callBackGetHiddenTreeViews: (callback: (data: any) => void) => void; callBackLabelPoint: (callback: (data: any) => void, toggleBtn?: boolean, isDev?: boolean) => void; getHidenTreeViews: () => any; callBackMap: (callback: (data: any) => void) => void; handleZoomEarth: (zoom: boolean) => void; onChangeMap: (layer: number, mapUrls?: { id: string; url: string; }[]) => void; flyToYourLocation: (zDistance?: number, duration?: number) => void; locationPickPin: (callback?: (data: { longitude: number; latitude: number; } | null) => void) => void; removePickPin: () => void; }