import Base from '../base'; import { Cartesian3 } from 'cesium'; import { PolygonStyle } from '../interface'; export default class AttackArrow extends Base { points: Cesium.Cartesian3[]; headHeightFactor: number; headWidthFactor: number; neckHeightFactor: number; neckWidthFactor: number; headTailFactor: number; minPointsForShape: number; constructor(cesium: any, viewer: Cesium.Viewer, style?: PolygonStyle); getType(): 'polygon' | 'line'; /** * Add points only on click events */ addPoint(cartesian: Cartesian3): void; /** * Draw a shape based on mouse movement points during the initial drawing. */ updateMovingPoint(cartesian: Cartesian3): void; /** * Generate geometric shapes based on key points. */ createGraphic(positions: Cesium.Cartesian3[]): Cesium.Cartesian3[]; getPoints(): Cesium.Cartesian3[]; getArrowHeadPoints(points: any, tailLeft: any, tailRight: any): any[]; getArrowBodyPoints(points: any, neckLeft: any, neckRight: any, tailWidthFactor: any): any; /** * In edit mode, drag key points to update corresponding key point data. */ updateDraggingPoint(cartesian: Cartesian3, index: number): void; }