raain-ui 1.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -0
- package/RELEASE.md +3 -0
- package/drawers/CartesianDrawer.d.ts +26 -0
- package/drawers/CartesianDrawer.js +73 -0
- package/drawers/CartesianDrawerOptimization.d.ts +10 -0
- package/drawers/CartesianDrawerOptimization.js +42 -0
- package/drawers/CartesianGridValue.d.ts +15 -0
- package/drawers/CartesianGridValue.js +25 -0
- package/drawers/GridValue.d.ts +12 -0
- package/drawers/GridValue.js +75 -0
- package/drawers/PolarDrawer.d.ts +28 -0
- package/drawers/PolarDrawer.js +187 -0
- package/drawers/PolarDrawerOptimization.d.ts +14 -0
- package/drawers/PolarDrawerOptimization.js +54 -0
- package/drawers/PolarGridValue.d.ts +13 -0
- package/drawers/PolarGridValue.js +50 -0
- package/factories/ElementsFactory.d.ts +96 -0
- package/factories/ElementsFactory.js +762 -0
- package/index.d.ts +22 -0
- package/index.js +39 -0
- package/layers/CartesianLayer.d.ts +24 -0
- package/layers/CartesianLayer.js +96 -0
- package/layers/CompositeLayer.d.ts +17 -0
- package/layers/CompositeLayer.js +69 -0
- package/layers/IPixiLayer.d.ts +7 -0
- package/layers/IPixiLayer.js +3 -0
- package/layers/IPixiUniqueLayer.d.ts +8 -0
- package/layers/IPixiUniqueLayer.js +3 -0
- package/layers/MarkersLayer.d.ts +16 -0
- package/layers/MarkersLayer.js +73 -0
- package/layers/PixiGridLayer.d.ts +58 -0
- package/layers/PixiGridLayer.js +188 -0
- package/layers/PolarLayer.d.ts +26 -0
- package/layers/PolarLayer.js +124 -0
- package/layers/PolarLayerConfig.d.ts +9 -0
- package/layers/PolarLayerConfig.js +32 -0
- package/package.json +49 -0
- package/timeframes/FrameContainer.d.ts +9 -0
- package/timeframes/FrameContainer.js +13 -0
- package/timeframes/TimeframeContainer.d.ts +12 -0
- package/timeframes/TimeframeContainer.js +34 -0
- package/timeframes/TimeframeContainers.d.ts +9 -0
- package/timeframes/TimeframeContainers.js +84 -0
- package/tools/CartesianMapValue.d.ts +12 -0
- package/tools/CartesianMapValue.js +25 -0
- package/tools/MapLatLng.d.ts +7 -0
- package/tools/MapLatLng.js +14 -0
- package/tools/MapTools.d.ts +11 -0
- package/tools/MapTools.js +32 -0
- package/tools/PolarMapValue.d.ts +21 -0
- package/tools/PolarMapValue.js +67 -0
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PixiGridLayer = void 0;
|
|
4
|
+
const leaflet_1 = require("leaflet");
|
|
5
|
+
const pixi_js_1 = require("pixi.js");
|
|
6
|
+
function setInteractionManager(interactionManager, destroyInteractionManager, autoPreventDefault) {
|
|
7
|
+
if (destroyInteractionManager) {
|
|
8
|
+
interactionManager.destroy();
|
|
9
|
+
}
|
|
10
|
+
else if (!autoPreventDefault) {
|
|
11
|
+
interactionManager.autoPreventDefault = false;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
class ApplicationOptions {
|
|
15
|
+
}
|
|
16
|
+
class PixiGridLayer extends leaflet_1.GridLayer {
|
|
17
|
+
constructor(id) {
|
|
18
|
+
super();
|
|
19
|
+
this._id = id;
|
|
20
|
+
this._lastUpdate = new Date('01-01-01');
|
|
21
|
+
this._gridOptions = {
|
|
22
|
+
// @option padding: Number = 0.1
|
|
23
|
+
// How much to extend the clip area around the map view (relative to its size)
|
|
24
|
+
// e.g. 0.1 would be 10% of map view in each direction
|
|
25
|
+
padding: 0,
|
|
26
|
+
// @option forceCanvas: Boolean = false
|
|
27
|
+
// Force use of a 2d-canvas
|
|
28
|
+
forceCanvas: true,
|
|
29
|
+
// @option doubleBuffering: Boolean = false
|
|
30
|
+
// Help to prevent flicker when refreshing display on some devices (e.g. iOS devices)
|
|
31
|
+
// It is ignored if rendering is done with 2d-canvas
|
|
32
|
+
doubleBuffering: false,
|
|
33
|
+
// @option resolution: Number = 1
|
|
34
|
+
// Resolution of the renderer canvas
|
|
35
|
+
resolution: leaflet_1.Browser.retina ? 2 : 1,
|
|
36
|
+
// @option projectionZoom(map: map): Number
|
|
37
|
+
// return the layer projection zoom level
|
|
38
|
+
projectionZoom: (map) => {
|
|
39
|
+
return (map.getMaxZoom() + map.getMinZoom()) / 2;
|
|
40
|
+
},
|
|
41
|
+
// @option destroyInteractionManager: Boolean = false
|
|
42
|
+
// Destroy PIXI Interaction Manager
|
|
43
|
+
destroyInteractionManager: false,
|
|
44
|
+
// @option
|
|
45
|
+
// Customize PIXI Interaction Manager autoPreventDefault property
|
|
46
|
+
// This option is ignored if destroyInteractionManager is set
|
|
47
|
+
autoPreventDefault: true,
|
|
48
|
+
// @option resolution: Boolean = false
|
|
49
|
+
// Enables drawing buffer preservation
|
|
50
|
+
preserveDrawingBuffer: false,
|
|
51
|
+
// @option resolution: Boolean = true
|
|
52
|
+
// Clear the canvas before the new render pass
|
|
53
|
+
clearBeforeRender: true,
|
|
54
|
+
// @option shouldRedrawOnMove(e: moveEvent): Boolean
|
|
55
|
+
// filter move events that should trigger a layer redraw
|
|
56
|
+
shouldRedrawOnMove: () => {
|
|
57
|
+
return false;
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
this.renderFn = (pixiContainer) => {
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
// @Override
|
|
64
|
+
onAdd(targetMap) {
|
|
65
|
+
// console.log('PIGL onAdd New: ', this._id);
|
|
66
|
+
super.onAdd(targetMap);
|
|
67
|
+
this._setMap(targetMap);
|
|
68
|
+
if (!this._gridContainer) {
|
|
69
|
+
const container = this._gridContainer = leaflet_1.DomUtil.create('div', 'leaflet-pixi-overlay');
|
|
70
|
+
container.appendChild(this._gridRenderer.view);
|
|
71
|
+
}
|
|
72
|
+
this._addContainer();
|
|
73
|
+
this._setEvents();
|
|
74
|
+
this._gridInitialZoom = this._gridOptions.projectionZoom(this._gridMap);
|
|
75
|
+
this._gridWgsOrigin = (0, leaflet_1.latLng)([0, 0]);
|
|
76
|
+
this._gridWgsInitialShift = this._gridMap.project(this._gridWgsOrigin, this._gridInitialZoom);
|
|
77
|
+
this._gridMapInitialZoom = this._gridMap.getZoom();
|
|
78
|
+
return this;
|
|
79
|
+
}
|
|
80
|
+
// @Override
|
|
81
|
+
onRemove(targetMap) {
|
|
82
|
+
// console.log('PIGL onRemove New', this._id);
|
|
83
|
+
super.onRemove(targetMap);
|
|
84
|
+
const pane = this._gridMap.getPanes()[this._getPaneName()];
|
|
85
|
+
if (pane && pane.children.length > 0) {
|
|
86
|
+
pane.removeChild(this._gridContainer);
|
|
87
|
+
}
|
|
88
|
+
const events = this.getEvents();
|
|
89
|
+
// tslint:disable-next-line:forin
|
|
90
|
+
for (const evt in events) {
|
|
91
|
+
this._gridMap.off(evt, events[evt], this);
|
|
92
|
+
}
|
|
93
|
+
this.pixiApp.destroy();
|
|
94
|
+
this._gridContainer = null;
|
|
95
|
+
this._pixiContainer = null;
|
|
96
|
+
this._gridRenderer = this;
|
|
97
|
+
return this;
|
|
98
|
+
}
|
|
99
|
+
setCurrentWidth(currentWidth) {
|
|
100
|
+
this.currentWidth = currentWidth;
|
|
101
|
+
}
|
|
102
|
+
setCurrentHeight(currentHeight) {
|
|
103
|
+
this.currentHeight = currentHeight;
|
|
104
|
+
}
|
|
105
|
+
setRenderFn(fn) {
|
|
106
|
+
this.renderFn = fn;
|
|
107
|
+
}
|
|
108
|
+
_initializeLayer() {
|
|
109
|
+
// console.log('_initializeLayer');
|
|
110
|
+
this._gridRendererOptions = {
|
|
111
|
+
// backgroundAlpha: 0.5,
|
|
112
|
+
transparent: true,
|
|
113
|
+
width: this.currentWidth,
|
|
114
|
+
height: this.currentHeight,
|
|
115
|
+
// forceCanvas: this._gridOptions.forceCanvas,
|
|
116
|
+
// preserveDrawingBuffer: this._gridOptions.preserveDrawingBuffer,
|
|
117
|
+
// clearBeforeRender: this._gridOptions.clearBeforeRender
|
|
118
|
+
};
|
|
119
|
+
// utils.isWebGLSupported() && !this._gridOptions.forceCanvas && this._gridOptions.doubleBuffering;
|
|
120
|
+
this._gridDoubleBuffering = false;
|
|
121
|
+
this.pixiApp = new pixi_js_1.Application(this._gridRendererOptions);
|
|
122
|
+
this._pixiContainer = this.pixiApp.stage;
|
|
123
|
+
this._gridRenderer = this.pixiApp.renderer;
|
|
124
|
+
}
|
|
125
|
+
// @Override
|
|
126
|
+
_update() {
|
|
127
|
+
// @ts-ignore
|
|
128
|
+
super._update();
|
|
129
|
+
if (!this._gridMap || !this._gridContainer) {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
// console.log('PIGL _update', this._gridMap.getPixelOrigin(), this._gridMap.getPixelBounds().min);
|
|
133
|
+
const pt = this._gridMap.getPixelBounds().min.subtract(this._gridMap.getPixelOrigin());
|
|
134
|
+
// console.log('pt:', pt);
|
|
135
|
+
leaflet_1.DomUtil.setPosition(this._gridContainer, pt);
|
|
136
|
+
this._layerRedraw();
|
|
137
|
+
}
|
|
138
|
+
setMeAsFirst() {
|
|
139
|
+
// const mapNode = this._gridMap.getPanes()[this._getPaneName()];
|
|
140
|
+
// this._gridContainer.parentNode.insertBefore(this._gridContainer, mapNode.childNodes[0]);
|
|
141
|
+
// console.log('setMeAsFirst', this._getPaneName());
|
|
142
|
+
for (const paneName of Object.getOwnPropertyNames(this._gridMap.getPanes())) {
|
|
143
|
+
const pane = this._gridMap.getPanes()[paneName];
|
|
144
|
+
if (paneName === this._getPaneName()) {
|
|
145
|
+
pane.style.visibility = 'visible';
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
pane.style.visibility = 'hidden';
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
isFirst() {
|
|
153
|
+
const mapNode = this._gridMap.getPanes()[this._getPaneName()];
|
|
154
|
+
return mapNode.childNodes[0].nodeName === this._getPaneName();
|
|
155
|
+
}
|
|
156
|
+
_setMap(map) {
|
|
157
|
+
this._gridMap = map;
|
|
158
|
+
this._gridZoomAnimated = map._gridZoomAnimated;
|
|
159
|
+
}
|
|
160
|
+
_addContainer() {
|
|
161
|
+
this._gridMap.getPanes()[this._getPaneName()]
|
|
162
|
+
.appendChild(this._gridContainer);
|
|
163
|
+
}
|
|
164
|
+
_setEvents() {
|
|
165
|
+
const events = ['zoomend', 'viewreset'];
|
|
166
|
+
// const events = this.getEvents();
|
|
167
|
+
// tslint:disable-next-line:forin
|
|
168
|
+
for (const evt in events) {
|
|
169
|
+
// this._gridMap.on(evt, events[evt], this);
|
|
170
|
+
this._gridMap.on(evt, this._update, this);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
_getPaneName() {
|
|
174
|
+
return this._gridOptions.pane || 'overlayPane';
|
|
175
|
+
}
|
|
176
|
+
_layerRedraw(offset) {
|
|
177
|
+
// const now = new Date();
|
|
178
|
+
// if (this._lastUpdate.getTime() > (now.getTime() - 500)) {
|
|
179
|
+
// console.log('_layerRedraw already refreshed');
|
|
180
|
+
// return;
|
|
181
|
+
// }
|
|
182
|
+
// this._lastUpdate = now;
|
|
183
|
+
// console.log('_layerRedraw', offset, this._gridWgsOrigin);
|
|
184
|
+
this.renderFn(this._pixiContainer);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
exports.PixiGridLayer = PixiGridLayer;
|
|
188
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGl4aUdyaWRMYXllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sYXllcnMvUGl4aUdyaWRMYXllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0FBaUU7QUFDakUscUNBQStDO0FBSS9DLFNBQVMscUJBQXFCLENBQUMsa0JBQWtCLEVBQUUseUJBQXlCLEVBQUUsa0JBQWtCO0lBQzVGLElBQUkseUJBQXlCLEVBQUU7UUFDM0Isa0JBQWtCLENBQUMsT0FBTyxFQUFFLENBQUM7S0FDaEM7U0FBTSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7UUFDNUIsa0JBQWtCLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0tBQ2pEO0FBQ0wsQ0FBQztBQUVELE1BQU0sa0JBQWtCO0NBbUJ2QjtBQUVELE1BQWEsYUFBYyxTQUFRLG1CQUFTO0lBcUJ4QyxZQUFZLEVBQVk7UUFDcEIsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNkLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRztZQUNoQixnQ0FBZ0M7WUFDaEMsOEVBQThFO1lBQzlFLHNEQUFzRDtZQUN0RCxPQUFPLEVBQUUsQ0FBQztZQUNWLHVDQUF1QztZQUN2QywyQkFBMkI7WUFDM0IsV0FBVyxFQUFFLElBQUk7WUFDakIsMkNBQTJDO1lBQzNDLHFGQUFxRjtZQUNyRixvREFBb0Q7WUFDcEQsZUFBZSxFQUFFLEtBQUs7WUFDdEIsaUNBQWlDO1lBQ2pDLG9DQUFvQztZQUNwQyxVQUFVLEVBQUUsaUJBQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsQywyQ0FBMkM7WUFDM0MseUNBQXlDO1lBQ3pDLGNBQWMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNwQixPQUFPLENBQUMs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
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { LatLng, Map } from 'leaflet';
|
|
2
|
+
import { Container } from 'pixi.js';
|
|
3
|
+
import { PolarMapValue } from '../tools/PolarMapValue';
|
|
4
|
+
import { PolarLayerConfig } from './PolarLayerConfig';
|
|
5
|
+
import { IPixiUniqueLayer } from './IPixiUniqueLayer';
|
|
6
|
+
export declare class PolarLayer implements IPixiUniqueLayer {
|
|
7
|
+
protected id: string;
|
|
8
|
+
protected type: string;
|
|
9
|
+
protected gridMap: Map;
|
|
10
|
+
protected addSomeDebugInfos: boolean;
|
|
11
|
+
private readonly mapGraph;
|
|
12
|
+
private polarDrawer;
|
|
13
|
+
private center;
|
|
14
|
+
private readonly config;
|
|
15
|
+
private addedInContainer;
|
|
16
|
+
constructor(id: string, type: string, gridMap: Map, addSomeDebugInfos?: boolean);
|
|
17
|
+
getId(): string;
|
|
18
|
+
hide(): void;
|
|
19
|
+
show(): void;
|
|
20
|
+
isVisible(): boolean;
|
|
21
|
+
setPolarValues(center: LatLng | {
|
|
22
|
+
lat: number;
|
|
23
|
+
lng: number;
|
|
24
|
+
}, geoValues: PolarMapValue[], config: PolarLayerConfig, version: string): void;
|
|
25
|
+
render(pixiContainer: Container): number;
|
|
26
|
+
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PolarLayer = void 0;
|
|
4
|
+
const leaflet_1 = require("leaflet");
|
|
5
|
+
const pixi_js_1 = require("pixi.js");
|
|
6
|
+
const PolarDrawer_1 = require("../drawers/PolarDrawer");
|
|
7
|
+
const PolarLayerConfig_1 = require("./PolarLayerConfig");
|
|
8
|
+
const PolarDrawerOptimization_1 = require("../drawers/PolarDrawerOptimization");
|
|
9
|
+
const MapTools_1 = require("../tools/MapTools");
|
|
10
|
+
class PolarLayer {
|
|
11
|
+
constructor(id, type, gridMap, addSomeDebugInfos = false) {
|
|
12
|
+
this.id = id;
|
|
13
|
+
this.type = type;
|
|
14
|
+
this.gridMap = gridMap;
|
|
15
|
+
this.addSomeDebugInfos = addSomeDebugInfos;
|
|
16
|
+
this.mapGraph = new pixi_js_1.Graphics();
|
|
17
|
+
this.config = new PolarLayerConfig_1.PolarLayerConfig();
|
|
18
|
+
}
|
|
19
|
+
getId() {
|
|
20
|
+
return this.id;
|
|
21
|
+
}
|
|
22
|
+
hide() {
|
|
23
|
+
this.mapGraph.alpha = 0;
|
|
24
|
+
// console.log('hide ', this.getId());
|
|
25
|
+
}
|
|
26
|
+
show() {
|
|
27
|
+
this.mapGraph.alpha = 1;
|
|
28
|
+
// console.log('show ', this.getId());
|
|
29
|
+
}
|
|
30
|
+
isVisible() {
|
|
31
|
+
return this.mapGraph.alpha === 1;
|
|
32
|
+
}
|
|
33
|
+
setPolarValues(center, geoValues, config, version) {
|
|
34
|
+
this.center = new leaflet_1.LatLng(center.lat, center.lng);
|
|
35
|
+
this.config.copy(config);
|
|
36
|
+
this.polarDrawer = new PolarDrawer_1.PolarDrawer((polar) => {
|
|
37
|
+
polar.setCenter({ latitude: center.lat, longitude: center.lng });
|
|
38
|
+
const latLng = new leaflet_1.LatLng(polar.getLatitude(), polar.getLongitude());
|
|
39
|
+
return this.gridMap.latLngToContainerPoint(latLng);
|
|
40
|
+
}, (polar) => {
|
|
41
|
+
if (this.config.minValueToDisplay > polar.value) {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
polar.setCenter({ latitude: center.lat, longitude: center.lng });
|
|
45
|
+
const latLng = new leaflet_1.LatLng(polar.getLatitude(), polar.getLongitude());
|
|
46
|
+
return this.gridMap.getBounds().contains(latLng);
|
|
47
|
+
}, () => {
|
|
48
|
+
return this.gridMap.getZoom();
|
|
49
|
+
}, this.type);
|
|
50
|
+
const optimizations = PolarDrawerOptimization_1.PolarDrawerOptimization.Defaults();
|
|
51
|
+
this.polarDrawer.setConfiguration(this.config.theme, this.config.range, optimizations);
|
|
52
|
+
this.polarDrawer.updateValues(geoValues, version);
|
|
53
|
+
}
|
|
54
|
+
render(pixiContainer) {
|
|
55
|
+
const centerPoint = this.gridMap.latLngToContainerPoint(this.center);
|
|
56
|
+
// console.log('Polar render ', this.polarDrawer.hasChanged(this.center, centerPoint), this.getId());
|
|
57
|
+
if (!this.polarDrawer || !this.polarDrawer.hasChanged(this.center, centerPoint)) {
|
|
58
|
+
return 0;
|
|
59
|
+
}
|
|
60
|
+
this.mapGraph.removeChildren();
|
|
61
|
+
const polar2radians = (polar) => {
|
|
62
|
+
let degrees = polar.polarAzimuthInDegrees - 90;
|
|
63
|
+
if (degrees < 0) {
|
|
64
|
+
degrees += 360;
|
|
65
|
+
}
|
|
66
|
+
return degrees * (Math.PI / 180);
|
|
67
|
+
};
|
|
68
|
+
const drawPolarSharp = (polar1, polar2) => {
|
|
69
|
+
const pixiGraphic = new pixi_js_1.Graphics();
|
|
70
|
+
if (!polar2) {
|
|
71
|
+
const point1 = polar1.getPositionFrom(centerPoint);
|
|
72
|
+
const polar1alpha = 1 - polar1.getTransparency(this.config.opacity);
|
|
73
|
+
pixiGraphic.lineStyle(10, polar1.getColor(), polar1alpha);
|
|
74
|
+
pixiGraphic.drawCircle(point1.x, point1.y, 1);
|
|
75
|
+
this.mapGraph.addChild(pixiGraphic);
|
|
76
|
+
return true;
|
|
77
|
+
}
|
|
78
|
+
// TODO pixi arc is not working as expected
|
|
79
|
+
const polar1Distance = polar1.getPolarDistanceRelative();
|
|
80
|
+
const polar2Distance = polar2.getPolarDistanceRelative();
|
|
81
|
+
const width = Math.abs(polar2Distance - polar1Distance);
|
|
82
|
+
if (width <= 0) {
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
const alpha = 1 - polar1.getTransparency(this.config.opacity);
|
|
86
|
+
// pixiGraphic.lineStyle(width, polar1.getColor(), alpha);
|
|
87
|
+
pixiGraphic.lineStyle(1, polar1.getColor(), alpha);
|
|
88
|
+
let rad1 = polar2radians(polar1);
|
|
89
|
+
let rad2 = polar2radians(polar2);
|
|
90
|
+
if (rad1 === rad2 || rad1 === rad2 + 2 * Math.PI) {
|
|
91
|
+
rad1 = 0;
|
|
92
|
+
rad2 = 2 * Math.PI;
|
|
93
|
+
}
|
|
94
|
+
pixiGraphic.arc(0, 0, width / 2, rad1, rad2);
|
|
95
|
+
pixiGraphic.position.x = centerPoint.x;
|
|
96
|
+
pixiGraphic.position.y = centerPoint.y;
|
|
97
|
+
// console.log('polar:', centerPoint, point1, point2);
|
|
98
|
+
this.mapGraph.addChild(pixiGraphic);
|
|
99
|
+
return true;
|
|
100
|
+
};
|
|
101
|
+
const drawCount = this.polarDrawer.renderPolarMapValues(this.center, centerPoint, drawPolarSharp);
|
|
102
|
+
// console.log(this.id, ' drawCount : ', drawCount);
|
|
103
|
+
if (!this.addedInContainer) {
|
|
104
|
+
// console.log(this.id, ' addedInContainer.');
|
|
105
|
+
pixiContainer.addChild(this.mapGraph);
|
|
106
|
+
this.addedInContainer = true;
|
|
107
|
+
}
|
|
108
|
+
// Debug purpose :
|
|
109
|
+
if (this.addSomeDebugInfos) {
|
|
110
|
+
const optimization = this.polarDrawer.getOptimization();
|
|
111
|
+
const pixiText = new pixi_js_1.Text('Pol-' + (optimization === null || optimization === void 0 ? void 0 : optimization.type) + '-' + this.polarDrawer.getVersion(), {
|
|
112
|
+
fontFamily: 'Arial',
|
|
113
|
+
fontSize: 16,
|
|
114
|
+
// fontWeight: 'bold',
|
|
115
|
+
fill: MapTools_1.MapTools.hexStringToNumber('#3cff10'),
|
|
116
|
+
align: 'center',
|
|
117
|
+
});
|
|
118
|
+
this.mapGraph.addChild(pixiText);
|
|
119
|
+
}
|
|
120
|
+
return drawCount;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
exports.PolarLayer = PolarLayer;
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9sYXJMYXllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sYXllcnMvUG9sYXJMYXllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0FBb0M7QUFDcEMscUNBQWtEO0FBRWxELHdEQUFtRDtBQUVuRCx5REFBb0Q7QUFDcEQsZ0ZBQTJFO0FBRTNFLGdEQUEyQztBQUUzQyxNQUFhLFVBQVU7SUFRbkIsWUFBc0IsRUFBVSxFQUNWLElBQVksRUFDWixPQUFZLEVBQ1osb0JBQW9CLEtBQUs7UUFIekIsT0FBRSxHQUFGLEVBQUUsQ0FBUTtRQUNWLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixZQUFPLEdBQVAsT0FBTyxDQUFLO1FBQ1osc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFRO1FBQzNDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxrQkFBUSxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLG1DQUFnQixFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVNLEtBQUs7UUFDUixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVNLElBQUk7UUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDeEIsc0NBQXNDO0lBQzFDLENBQUM7SUFFTSxJQUFJO1FBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLHNDQUFzQztJQUMxQyxDQUFDO0lBRU0sU0FBUztRQUNaLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTSxjQUFjLENBQUMsTUFBNkMsRUFDN0MsU0FBMEIsRUFDMUIsTUFBd0IsRUFDeEIsT0FBZTtRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZ0JBQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMs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
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare class PolarLayerConfig {
|
|
2
|
+
optimization?: number;
|
|
3
|
+
theme?: number;
|
|
4
|
+
range?: number;
|
|
5
|
+
opacity?: number;
|
|
6
|
+
minValueToDisplay?: number;
|
|
7
|
+
constructor(optimization?: number, theme?: number, range?: number, opacity?: number, minValueToDisplay?: number);
|
|
8
|
+
copy(from: PolarLayerConfig): PolarLayerConfig;
|
|
9
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PolarLayerConfig = void 0;
|
|
4
|
+
class PolarLayerConfig {
|
|
5
|
+
constructor(optimization, theme, range, opacity, minValueToDisplay) {
|
|
6
|
+
this.optimization = optimization;
|
|
7
|
+
this.theme = theme;
|
|
8
|
+
this.range = range;
|
|
9
|
+
this.opacity = opacity;
|
|
10
|
+
this.minValueToDisplay = minValueToDisplay;
|
|
11
|
+
}
|
|
12
|
+
copy(from) {
|
|
13
|
+
if (typeof from.optimization !== 'undefined') {
|
|
14
|
+
this.optimization = from.optimization;
|
|
15
|
+
}
|
|
16
|
+
if (typeof from.theme !== 'undefined') {
|
|
17
|
+
this.theme = from.theme;
|
|
18
|
+
}
|
|
19
|
+
if (typeof from.range !== 'undefined') {
|
|
20
|
+
this.range = from.range;
|
|
21
|
+
}
|
|
22
|
+
if (typeof from.opacity !== 'undefined') {
|
|
23
|
+
this.opacity = from.opacity;
|
|
24
|
+
}
|
|
25
|
+
if (typeof from.minValueToDisplay !== 'undefined') {
|
|
26
|
+
this.minValueToDisplay = from.minValueToDisplay;
|
|
27
|
+
}
|
|
28
|
+
return this;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.PolarLayerConfig = PolarLayerConfig;
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9sYXJMYXllckNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sYXllcnMvUG9sYXJMYXllckNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxNQUFhLGdCQUFnQjtJQUN6QixZQUNXLFlBQXFCLEVBQ3JCLEtBQWMsRUFDZCxLQUFjLEVBQ2QsT0FBZ0IsRUFDaEIsaUJBQTBCO1FBSjFCLGlCQUFZLEdBQVosWUFBWSxDQUFTO1FBQ3JCLFVBQUssR0FBTCxLQUFLLENBQVM7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFTO1FBQ2QsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQVM7SUFFckMsQ0FBQztJQUVELElBQUksQ0FBQyxJQUFzQjtRQUN2QixJQUFJLE9BQU8sSUFBSSxDQUFDLFlBQVksS0FBSyxXQUFXLEVBQUU7WUFDMUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1NBQ3pDO1FBQ0QsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssV0FBVyxFQUFFO1lBQ25DLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUMzQjtRQUNELElBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLFdBQVcsRUFBRTtZQUNuQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDM0I7UUFDRCxJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxXQUFXLEVBQUU7WUFDckMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQy9CO1FBQ0QsSUFBSSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsS0FBSyxXQUFXLEVBQUU7WUFDL0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztTQUNuRDtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSjtBQTVCRCw0Q0E0QkMifQ==
|
package/package.json
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "raain-ui",
|
|
3
|
+
"version": "1.0.15",
|
|
4
|
+
"author": "contact@raain.io",
|
|
5
|
+
"homepage": "https://github.com/raainio/raain-ui",
|
|
6
|
+
"description": "raain.io ui layers",
|
|
7
|
+
"keywords": [
|
|
8
|
+
"raain.io",
|
|
9
|
+
"pixi"
|
|
10
|
+
],
|
|
11
|
+
"private": false,
|
|
12
|
+
"license": "MIT",
|
|
13
|
+
"main": "./index.js",
|
|
14
|
+
"types": "./index.d.ts",
|
|
15
|
+
"dependencies": {
|
|
16
|
+
"chart.js": "^4.2.1",
|
|
17
|
+
"chartjs-plugin-dragdata": "^2.2.5",
|
|
18
|
+
"geolib": "^3.3.3",
|
|
19
|
+
"leaflet": "^1.9.3",
|
|
20
|
+
"pixi.js": "^5.3.12",
|
|
21
|
+
"raain-model": "file:../raain-model/dist"
|
|
22
|
+
},
|
|
23
|
+
"peerDependencies": {
|
|
24
|
+
"chart.js": "^4.2.1",
|
|
25
|
+
"chartjs-plugin-dragdata": "^2.2.5",
|
|
26
|
+
"leaflet": "^1.9.3",
|
|
27
|
+
"pixi.js": "^5.3.12"
|
|
28
|
+
},
|
|
29
|
+
"devDependencies": {
|
|
30
|
+
"@testdeck/mocha": "^0.3.3",
|
|
31
|
+
"@types/leaflet": "^1.9.3",
|
|
32
|
+
"@types/mocha": "^10.0.1",
|
|
33
|
+
"assert": "^2.0.0",
|
|
34
|
+
"chai": "4.3.4",
|
|
35
|
+
"chai-as-promised": "^7.1.1",
|
|
36
|
+
"chai-spies": "^1.0.0",
|
|
37
|
+
"mocha": "^10.2.0",
|
|
38
|
+
"mock-browser": "^0.92.14",
|
|
39
|
+
"nyc": "^15.1.0",
|
|
40
|
+
"ts-mockito": "^2.6.1",
|
|
41
|
+
"ts-node": "^8.3.0",
|
|
42
|
+
"tslint": "^5.20.1",
|
|
43
|
+
"typescript": "^5.0.3"
|
|
44
|
+
},
|
|
45
|
+
"scripts": {
|
|
46
|
+
"build": "rm -rf dist/ && npm version patch --no-git-tag-version && tsc --project tsconfig.json && cp *.md dist/ && cp package.json dist/",
|
|
47
|
+
"test": "nyc ./node_modules/.bin/_mocha --require ./tools/register.js 'specs/**/**.spec.ts'"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PolarMapValue } from '../tools/PolarMapValue';
|
|
2
|
+
import { CartesianMapValue } from '../tools/CartesianMapValue';
|
|
3
|
+
export declare class FrameContainer {
|
|
4
|
+
date: Date;
|
|
5
|
+
values: PolarMapValue[] | CartesianMapValue[];
|
|
6
|
+
isPolar: boolean;
|
|
7
|
+
isCartesian: boolean;
|
|
8
|
+
constructor(date: Date, values: PolarMapValue[] | CartesianMapValue[], isPolar?: boolean, isCartesian?: boolean);
|
|
9
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FrameContainer = void 0;
|
|
4
|
+
class FrameContainer {
|
|
5
|
+
constructor(date, values, isPolar = false, isCartesian = false) {
|
|
6
|
+
this.date = date;
|
|
7
|
+
this.values = values;
|
|
8
|
+
this.isPolar = isPolar;
|
|
9
|
+
this.isCartesian = isCartesian;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.FrameContainer = FrameContainer;
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRnJhbWVDb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGltZWZyYW1lcy9GcmFtZUNvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSxNQUFhLGNBQWM7SUFFdkIsWUFBbUIsSUFBVSxFQUNWLE1BQTZDLEVBQzdDLFVBQW1CLEtBQUssRUFDeEIsY0FBdUIsS0FBSztRQUg1QixTQUFJLEdBQUosSUFBSSxDQUFNO1FBQ1YsV0FBTSxHQUFOLE1BQU0sQ0FBdUM7UUFDN0MsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO0lBQy9DLENBQUM7Q0FFSjtBQVJELHdDQVFDIn0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { FrameContainer } from './FrameContainer';
|
|
2
|
+
import { CompositeLayer } from '../layers/CompositeLayer';
|
|
3
|
+
export declare class TimeframeContainer {
|
|
4
|
+
name: string;
|
|
5
|
+
timeframe: FrameContainer[];
|
|
6
|
+
version: string;
|
|
7
|
+
protected compositeLayer: CompositeLayer;
|
|
8
|
+
constructor(name: string, timeframe: FrameContainer[], version: string);
|
|
9
|
+
setCompositeLayer(compositeLayer: any): void;
|
|
10
|
+
showTimeframe(date?: Date): void;
|
|
11
|
+
getFrameId(frameContainer: FrameContainer): string;
|
|
12
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TimeframeContainer = void 0;
|
|
4
|
+
class TimeframeContainer {
|
|
5
|
+
constructor(name, timeframe, version) {
|
|
6
|
+
this.name = name;
|
|
7
|
+
this.timeframe = timeframe;
|
|
8
|
+
this.version = version;
|
|
9
|
+
}
|
|
10
|
+
setCompositeLayer(compositeLayer) {
|
|
11
|
+
this.compositeLayer = compositeLayer;
|
|
12
|
+
}
|
|
13
|
+
showTimeframe(date) {
|
|
14
|
+
if (!this.compositeLayer) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
let index = 0;
|
|
18
|
+
let frameContainerFound = this.timeframe.length ? this.timeframe[0] : null;
|
|
19
|
+
this.timeframe.forEach(c => {
|
|
20
|
+
index++;
|
|
21
|
+
if (new Date(c.date).getTime() === (date === null || date === void 0 ? void 0 : date.getTime())) {
|
|
22
|
+
frameContainerFound = c;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
if (!!frameContainerFound) {
|
|
26
|
+
this.compositeLayer.showTheFistMatchingId(this.getFrameId(frameContainerFound));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
getFrameId(frameContainer) {
|
|
30
|
+
return this.name + new Date(frameContainer.date).toISOString();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.TimeframeContainer = TimeframeContainer;
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGltZWZyYW1lQ29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RpbWVmcmFtZXMvVGltZWZyYW1lQ29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLE1BQWEsa0JBQWtCO0lBSTNCLFlBQW1CLElBQVksRUFDWixTQUEyQixFQUMzQixPQUFlO1FBRmYsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLFlBQU8sR0FBUCxPQUFPLENBQVE7SUFDbEMsQ0FBQztJQUVELGlCQUFpQixDQUFDLGNBQWM7UUFDNUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7SUFDekMsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFXO1FBRXJCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3RCLE9BQU87U0FDVjtRQUVELElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNkLElBQUksbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUMzRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN2QixLQUFLLEVBQUUsQ0FBQztZQUNSLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFLLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxPQUFPLEVBQUUsQ0FBQSxFQUFFO2dCQUNoRCxtQkFBbUIsR0FBRyxDQUFDLENBQUM7YUFDM0I7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxDQUFDLG1CQUFtQixFQUFFO1lBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7U0FDbkY7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLGNBQThCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkUsQ0FBQztDQUNKO0FBcENELGdEQW9DQyJ9
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TimeframeContainer } from './TimeframeContainer';
|
|
2
|
+
import { RadarNodeMap, RainComputationMap } from 'raain-model';
|
|
3
|
+
export declare class TimeframeContainers {
|
|
4
|
+
containers: TimeframeContainer[];
|
|
5
|
+
constructor(containers: TimeframeContainer[]);
|
|
6
|
+
addFromRadarNodeMap(radarNodeMap: RadarNodeMap, isPolar: boolean): void;
|
|
7
|
+
addFromRainComputationMap(rainComputationMap: RainComputationMap, isPolar: boolean): void;
|
|
8
|
+
showTimeframe(name: string, date?: Date): boolean;
|
|
9
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TimeframeContainers = void 0;
|
|
4
|
+
const TimeframeContainer_1 = require("./TimeframeContainer");
|
|
5
|
+
const raain_model_1 = require("raain-model");
|
|
6
|
+
const FrameContainer_1 = require("./FrameContainer");
|
|
7
|
+
const PolarMapValue_1 = require("../tools/PolarMapValue");
|
|
8
|
+
const CartesianMapValue_1 = require("../tools/CartesianMapValue");
|
|
9
|
+
class TimeframeContainers {
|
|
10
|
+
constructor(containers) {
|
|
11
|
+
this.containers = containers;
|
|
12
|
+
}
|
|
13
|
+
addFromRadarNodeMap(radarNodeMap, isPolar) {
|
|
14
|
+
const radarMeasures = radarNodeMap.getMapData();
|
|
15
|
+
let frames;
|
|
16
|
+
if (isPolar) {
|
|
17
|
+
frames = radarMeasures.map(rm => {
|
|
18
|
+
let values = [];
|
|
19
|
+
rm.values.forEach(v => {
|
|
20
|
+
const polars = typeof v.polars === 'string' ? JSON.parse(v.polars) : v.polars;
|
|
21
|
+
values = values.concat(PolarMapValue_1.PolarMapValue.from(polars));
|
|
22
|
+
});
|
|
23
|
+
return new FrameContainer_1.FrameContainer(rm.date, values, true, false);
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
frames = radarMeasures.map(rm => {
|
|
28
|
+
let values = [];
|
|
29
|
+
rm.values.forEach(v => {
|
|
30
|
+
const cartesianValues = typeof v.cartesianValues === 'string' ? JSON.parse(v.cartesianValues) : v.cartesianValues;
|
|
31
|
+
const cartesianPixelWidth = typeof v.cartesianPixelWidth === 'string' ?
|
|
32
|
+
JSON.parse(v.cartesianPixelWidth) : v.cartesianPixelWidth;
|
|
33
|
+
values = values.concat(CartesianMapValue_1.CartesianMapValue.From(cartesianValues, cartesianPixelWidth));
|
|
34
|
+
});
|
|
35
|
+
return new FrameContainer_1.FrameContainer(rm.date, values, false, true);
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
this.containers.push(new TimeframeContainer_1.TimeframeContainer(radarNodeMap.name, frames, radarNodeMap.getVersion()));
|
|
39
|
+
}
|
|
40
|
+
addFromRainComputationMap(rainComputationMap, isPolar) {
|
|
41
|
+
const rainMeasures = rainComputationMap.getMapData();
|
|
42
|
+
let frames;
|
|
43
|
+
if (isPolar) {
|
|
44
|
+
frames = rainMeasures.map(rm => {
|
|
45
|
+
let values = [];
|
|
46
|
+
rm.values.forEach(v => {
|
|
47
|
+
let polars = v.polars;
|
|
48
|
+
if (typeof polars === 'string') {
|
|
49
|
+
polars = JSON.parse(polars);
|
|
50
|
+
}
|
|
51
|
+
polars = polars.map(p => new raain_model_1.MeasureValuePolarContainer(p));
|
|
52
|
+
values = values.concat(PolarMapValue_1.PolarMapValue.from(polars));
|
|
53
|
+
});
|
|
54
|
+
return new FrameContainer_1.FrameContainer(rm.date, values, true, false);
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
frames = rainMeasures.map(rm => {
|
|
59
|
+
let values = [];
|
|
60
|
+
rm.values.forEach(v => {
|
|
61
|
+
let cartesianValues = v.cartesianValues;
|
|
62
|
+
if (typeof cartesianValues === 'string') {
|
|
63
|
+
cartesianValues = JSON.parse(cartesianValues);
|
|
64
|
+
}
|
|
65
|
+
cartesianValues = cartesianValues.map(cv => new raain_model_1.CartesianValue(cv.value, cv.lat, cv.lng));
|
|
66
|
+
values = values.concat(CartesianMapValue_1.CartesianMapValue.From(cartesianValues, v.cartesianPixelWidth));
|
|
67
|
+
});
|
|
68
|
+
return new FrameContainer_1.FrameContainer(rm.date, values, false, true);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
this.containers.push(new TimeframeContainer_1.TimeframeContainer(rainComputationMap.name, frames, rainComputationMap.getVersion()));
|
|
72
|
+
}
|
|
73
|
+
showTimeframe(name, date) {
|
|
74
|
+
for (const container of this.containers) {
|
|
75
|
+
if (container.name === name) {
|
|
76
|
+
container.showTimeframe(date);
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
exports.TimeframeContainers = TimeframeContainers;
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGltZWZyYW1lQ29udGFpbmVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90aW1lZnJhbWVzL1RpbWVmcmFtZUNvbnRhaW5lcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkRBQXdEO0FBQ3hELDZDQUF5RztBQUN6RyxxREFBZ0Q7QUFDaEQsMERBQXFEO0FBQ3JELGtFQUE2RDtBQUU3RCxNQUFhLG1CQUFtQjtJQUM1QixZQUFtQixVQUFnQztRQUFoQyxlQUFVLEdBQVYsVUFBVSxDQUFzQjtJQUNuRCxDQUFDO0lBRU0sbUJBQW1CLENBQUMsWUFBMEIsRUFDMUIsT0FBZ0I7UUFFdkMsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2hELElBQUksTUFBTSxDQUFDO1FBRVgsSUFBSSxPQUFPLEVBQUU7WUFDVCxNQUFNLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTtnQkFDNUIsSUFBSSxNQUFNLEdBQW9CLEVBQUUsQ0FBQztnQkFDakMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQ2xCLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO29CQUM5RSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyw2QkFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUN2RCxDQUFDLENBQUMsQ0FBQztnQkFDSCxPQUFPLElBQUksK0JBQWMsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDNUQsQ0FBQyxDQUFDLENBQUM7U0FDTjthQUFNO1lBQ0gs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
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CartesianValue } from 'raain-model';
|
|
2
|
+
import { LatLng } from 'raain-quality';
|
|
3
|
+
import { MapLatLng } from './MapLatLng';
|
|
4
|
+
export declare class CartesianMapValue extends MapLatLng {
|
|
5
|
+
readonly latitude: number;
|
|
6
|
+
readonly longitude: number;
|
|
7
|
+
readonly latitude2?: number;
|
|
8
|
+
readonly longitude2?: number;
|
|
9
|
+
constructor(value: number, latitude: number, longitude: number, latitude2?: number, longitude2?: number, id?: string, name?: string);
|
|
10
|
+
static Duplicate(src: CartesianMapValue): CartesianMapValue;
|
|
11
|
+
static From(cartesianValues: CartesianValue[], widthForMap: LatLng): CartesianMapValue[];
|
|
12
|
+
}
|