import { LidarprofileManager as GmfLidarprofileManagerLidarprofileManager } from 'ngeo/lidar/Manager'; import { LidarprofilePoints as GmfLidarprofileUtilsLidarprofilePoints } from 'ngeo/lidar/Utils'; import { LidarPoint as GmfLidarprofileUtilsLidarPoint } from 'ngeo/lidar/Utils'; import { LidarprofileServerConfigClassification as GmfLidarprofileConfigLidarprofileServerConfigClassification } from 'ngeo/lidar/Config'; import { LidarprofileServerConfigClassifications as GmfLidarprofileConfigLidarprofileServerConfigClassifications } from 'ngeo/lidar/Config'; export type updateScaleFunction = { (arg1: number): number; }; export default class { /** * @private */ manager_: GmfLidarprofileManagerLidarprofileManager; /** * d3.scaleLinear X scale. */ scaleX: undefined | d3.ScaleLinear; /** * d3.scaleLinear X scale. */ updateScaleX: updateScaleFunction; /** * d3.scaleLinear Y scale. */ scaleY: undefined | d3.ScaleLinear; /** * d3.scaleLinear Y scale. */ updateScaleY: updateScaleFunction; /** * The material used for the drawing process. Initialized in the setup */ material: undefined | string; /** * @private */ width_: number; /** * @private */ height_: number; previousDomainX: number[]; /** * @private */ moved_: boolean; /** * Provides a service to create an SVG element with defined axis and a LIDAR * point drawing mechanism. * @param gmfLidarprofileManagerInstance * gmf lidar profile manager instance */ constructor(gmfLidarprofileManagerInstance: GmfLidarprofileManagerLidarprofileManager); /** * Draw the points to the canvas element. * @param points of the profile */ drawPoints(points: GmfLidarprofileUtilsLidarprofilePoints): void; /** * Setup the SVG components of the D3 chart. * @param rangeX range of the x scale * @param rangeY range of the y scale */ setupPlot(rangeX: number[], rangeY: number[]): void; /** * Update the plot data at the end of the zoom process. * @param event Event . */ zoomEnd(event: any): void; /** * Update the plot axis during the zoom process. * @param event Event . */ zoomed(event: any): void; /** * Update the OpenLayers overlay that displays point position and attributes values. * @param event Event . */ pointHighlight(event: MouseEvent): void; /** * @param point the concerned point. * @param classification_color * the classification object concerning this point. * @param distDecimal the number of decimal to keep. * @returns the text for the html info. */ getInfoHTML(point: GmfLidarprofileUtilsLidarPoint, classification_color: GmfLidarprofileConfigLidarprofileServerConfigClassification, distDecimal: number): string; formatDecimals(num: number, decimals: number): number; /** * Change the profile style according to the material color. * @param material value as defined in Pytree attribute configuration */ changeStyle(material: string): void; /** * Show/Hide classes in the profile. * @param classification * value as defined in the Pytree classification_colors configuration * @param material value as defined in Pytree attribute configuration */ setClassActive(classification: GmfLidarprofileConfigLidarprofileServerConfigClassifications, material: string): void; }