@dp_unity/dpu-gis-viewer
Version:
DPU GIS Viewer version Beta
166 lines (164 loc) • 7.88 kB
TypeScript
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;
}