export default ModifyRectangle; export type CacheItem = { corners: olFeature[]; }; export type ModifyParams = { originCoordinate: import("ol/coordinate").Coordinate; originPixel: import("ol/pixel").Pixel; siblingXPoint: import("ol/geom/Point").default; siblingYPoint: import("ol/geom/Point").default; vectorX: number[]; vectorY: number[]; }; /** * Interaction for modifying feature geometries. * * @private * @hidden */ declare class ModifyRectangle extends olInteractionPointer { /** * @param {import('ol/interaction/Modify').Options} options Options. * @fires import('ngeo/interaction/ModifyCircleEvent').default */ constructor(options: import("ol/interaction/Modify").Options); handleDownEvent: (evt: import("ol/MapBrowserEvent").default) => boolean; handleDragEvent: (evt: import("ol/MapBrowserEvent").default) => void; handleUpEvent: (evt: import("ol/MapBrowserEvent").default) => boolean; /** * @type {boolean} * @private */ private modified_; /** * @type {import('ol/layer/Vector').default>} * @private */ private vectorPoints_; /** * @type {import('ol/Collection').default>} * @private */ private features_; /** * The feature currently modified. * * @type {?olFeature} * @private */ private feature_; /** * @type {Object} * @private */ private cache_; /** * @type {?ModifyParams} * @private */ private params_; /** * @param {olFeature} feature Feature. * @private */ private addFeature_; /** * @param {import('ol/MapBrowserEvent').default} evt MapBrowserEvent * @private */ private willModifyFeatures_; /** * @returns {ModifyParams} The initialized params * @private */ private initializeParams_; /** * @param {olFeature} feature Feature. * @private */ private removeFeature_; /** * @param {Event|import('ol/events/Event').default} evt Event. * @private */ private handleFeatureAdd_; /** * @param {Event|import('ol/events/Event').default} evt Event. * @private */ private handleFeatureRemove_; /** * @param {import('ol/MapBrowserEvent').default} evt MapBrowserEvent. * @returns {boolean} Start drag sequence? * @private */ private handleDown_; /** * @param {import('ol/MapBrowserEvent').default} evt MapBrowserEvent. * @private */ private handleDrag_; /** * Calculate the new position of a point as projected on a vector from origin to * destination. * * @param {import('ol/pixel').Pixel} origin Pixel of origin (opposite of the drag handle) * @param {import('ol/pixel').Pixel} destination Pixel of destination (the handle we dragged) * @param {import('ol/pixel').Pixel} vector The normalized vector to the point * @returns {import('ol/pixel').Pixel} The new pixel of the point * @private */ private calculateNewPixel_; /** * @param {import('ol/MapBrowserEvent').default} evt MapBrowserEvent. * @returns {boolean} Stop drag sequence? * @private */ private handleUp_; } import olFeature from 'ol/Feature'; import olInteractionPointer from 'ol/interaction/Pointer';