import { default as XViewer } from '../core/XViewer'; import { default as Position } from '../core/Position'; import { default as GroundPrimitiveLayer } from '../layer/type/GroundPrimitiveLayer'; import * as Cesium from "@cesium/engine"; /** * 用于多个无人机飞行 */ declare class RouteFlight { private viewer; private _modelPath; private _flightDistance; private _entity; private _sceneRenderCallback; private _handler; private _entityid; private _flightLayer; private _isNextTime; private _routeFlyPositions; private _sampleJulianTimes; private _sampleJulianIndex; private _cacheHPR; constructor(viewer: XViewer, modelPath?: string, bindEntity?: Cesium.Entity); bindEntity(bindEntity: Cesium.Entity): void; get id(): string; set id(value: string); get entity(): Cesium.Entity; set entity(value: Cesium.Entity); /** * 返回关联的图层 */ get layer(): GroundPrimitiveLayer; /** * 返回图层的PrimitiveCollection */ get primitiveCollection(): Cesium.PrimitiveCollection; /** * 飞行状态 * (航向角、俯仰角、滚转角) */ get hpr(): Cesium.HeadingPitchRoll; /** * 关键帧时间点集合 */ get sampleJulianTimes(): Cesium.JulianDate[]; getSampleJulianIndex(): number; /** * 获取余下的飞行航线位置点 * @returns */ getRestPositions(): Position[]; /** * 更新飞行参数 * @param routePositions 飞行路线点 * @param startTime 起飞时间 * @param durationSeconds 飞行时间(秒),默认可空 * @param speed 飞行速度(米/秒),默认可空 */ update(routePositions: Position[], startTime: Cesium.JulianDate, durationSeconds?: number, speed?: number): void; /** * 初始化或更新飞行参数 * @param routePositions 飞行路线点 * @param startTime 起飞时间 * @param durationSeconds 飞行时间(秒),默认可空 * @param speed 飞行速度(米/秒),默认可空 * @param pauseAnimate 需要暂停动画,默认false */ init(routePositions: Position[], startTime: Cesium.JulianDate, durationSeconds?: number, speed?: number, pauseAnimate?: boolean): void; private sceneRenderCallback; /** * 绑定监听事件:对外扔出id和position * @param positionCallback * @param isNext 默认下一个时间点 */ bindSceneRenderCallback(positionCallback: Function, isNext?: boolean): void; /** * 获得当前位置 * @param isNext 默认false,获取当前时间,如果true,则为下一个时间点 */ getCurrentPosition(isNext?: boolean): Cesium.Cartesian3 | undefined; /** * 释放 */ dispose(): void; } export default RouteFlight;