@openglobus/og 0.14.10 → 0.15.0

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.
Files changed (140) hide show
  1. package/css/og.css +378 -275
  2. package/dist/@openglobus/og.css +1 -1
  3. package/dist/@openglobus/og.esm.js +2 -2
  4. package/dist/@openglobus/og.esm.js.map +1 -1
  5. package/dist/@openglobus/og.umd.js +2 -2
  6. package/dist/@openglobus/og.umd.js.map +1 -1
  7. package/package.json +18 -17
  8. package/src/og/Clock.js +218 -194
  9. package/src/og/Globe.js +5 -5
  10. package/src/og/Object3d.js +104 -145
  11. package/src/og/camera/Camera.js +31 -27
  12. package/src/og/camera/PlanetCamera.js +22 -14
  13. package/src/og/cons.js +107 -107
  14. package/src/og/control/Atmosphere.js +396 -0
  15. package/src/og/control/CompassButton.js +11 -18
  16. package/src/og/control/Control.js +187 -188
  17. package/src/og/control/GeoImageDragControl.js +84 -66
  18. package/src/og/control/LayerSwitcher.js +56 -138
  19. package/src/og/control/Lighting.js +314 -186
  20. package/src/og/control/MouseNavigation.js +2 -2
  21. package/src/og/control/RulerSwitcher.js +24 -19
  22. package/src/og/control/ScaleControl.js +30 -10
  23. package/src/og/control/SimpleSkyBackground.js +210 -0
  24. package/src/og/control/Sun.js +2 -0
  25. package/src/og/control/ZoomControl.js +30 -42
  26. package/src/og/control/index.js +6 -0
  27. package/src/og/control/ruler/RulerScene.js +5 -23
  28. package/src/og/control/selection/Selection.js +99 -0
  29. package/src/og/control/selection/SelectionScene.js +350 -0
  30. package/src/og/control/timeline/TimelineControl.js +99 -0
  31. package/src/og/control/timeline/TimelineModel.js +133 -0
  32. package/src/og/control/timeline/TimelineView.js +449 -0
  33. package/src/og/control/timeline/timelineUtils.js +132 -0
  34. package/src/og/ellipsoid/Ellipsoid.js +120 -93
  35. package/src/og/ellipsoid/wgs84.js +13 -13
  36. package/src/og/entity/Entity.js +36 -9
  37. package/src/og/entity/EntityCollection.js +0 -2
  38. package/src/og/entity/GeoObject.js +72 -56
  39. package/src/og/entity/GeoObjectHandler.js +487 -656
  40. package/src/og/entity/GeometryHandler.js +1341 -1337
  41. package/src/og/entity/Polyline.js +0 -16
  42. package/src/og/entity/Ray.js +0 -10
  43. package/src/og/entity/RayHandler.js +3 -44
  44. package/src/og/entity/Strip.js +1 -6
  45. package/src/og/index.js +10 -6
  46. package/src/og/input/input.js +3 -1
  47. package/src/og/layer/CanvasTiles.js +39 -34
  48. package/src/og/layer/Layer.js +69 -9
  49. package/src/og/layer/Material.js +1 -8
  50. package/src/og/layer/WMS.js +16 -5
  51. package/src/og/light/LightSource.js +2 -0
  52. package/src/og/math/Line3.js +140 -139
  53. package/src/og/math/Plane.js +118 -117
  54. package/src/og/math/Ray.js +242 -239
  55. package/src/og/math/Vec3.js +56 -37
  56. package/src/og/math/Vec4.js +3 -4
  57. package/src/og/math.js +21 -21
  58. package/src/og/quadTree/Node.js +5 -4
  59. package/src/og/quadTree/index.js +12 -0
  60. package/src/og/renderer/Renderer.js +64 -37
  61. package/src/og/renderer/RendererEvents.js +1071 -1065
  62. package/src/og/scene/Planet.js +352 -172
  63. package/src/og/scene/RenderNode.js +27 -12
  64. package/src/og/segment/Segment.js +0 -5
  65. package/src/og/shaders/atmos.js +332 -0
  66. package/src/og/shaders/drawnode.js +475 -109
  67. package/src/og/shaders/geoObject.js +96 -51
  68. package/src/og/shaders/polyline.js +212 -17
  69. package/src/og/shaders/ray.js +13 -6
  70. package/src/og/shaders/toneMapping.js +5 -5
  71. package/src/og/shaders/utils.js +88 -0
  72. package/src/og/terrain/GlobusTerrain.js +5 -4
  73. package/src/og/terrain/MapboxTerrain.js +231 -52
  74. package/src/og/ui/Button.js +106 -0
  75. package/src/og/ui/ButtonGroup.js +57 -0
  76. package/src/og/ui/Dialog.js +242 -0
  77. package/src/og/ui/Slider.js +144 -0
  78. package/src/og/ui/ToggleButton.js +51 -0
  79. package/src/og/{control → ui}/UIhelpers.js +11 -2
  80. package/src/og/ui/View.js +190 -0
  81. package/src/og/utils/shared.js +960 -942
  82. package/src/og/webgl/Framebuffer.js +308 -387
  83. package/src/og/webgl/Handler.js +90 -30
  84. package/src/og/webgl/Multisample.js +8 -0
  85. package/types/Clock.d.ts +7 -2
  86. package/types/Object3d.d.ts +14 -3
  87. package/types/camera/Camera.d.ts +18 -17
  88. package/types/camera/PlanetCamera.d.ts +3 -1
  89. package/types/control/Atmosphere.d.ts +15 -0
  90. package/types/control/CompassButton.d.ts +1 -2
  91. package/types/control/GeoImageDragControl.d.ts +7 -1
  92. package/types/control/LayerSwitcher.d.ts +5 -6
  93. package/types/control/Lighting.d.ts +32 -7
  94. package/types/control/ScaleControl.d.ts +2 -1
  95. package/types/control/SimpleSkyBackground.d.ts +15 -0
  96. package/types/control/ZoomControl.d.ts +0 -1
  97. package/types/control/index.d.ts +4 -1
  98. package/types/control/ruler/RulerScene.d.ts +0 -1
  99. package/types/control/selection/Selection.d.ts +49 -0
  100. package/types/control/selection/SelectionScene.d.ts +34 -0
  101. package/types/ellipsoid/Ellipsoid.d.ts +3 -2
  102. package/types/entity/Entity.d.ts +8 -0
  103. package/types/entity/GeoObject.d.ts +28 -22
  104. package/types/entity/GeoObjectHandler.d.ts +16 -56
  105. package/types/entity/Ray.d.ts +0 -3
  106. package/types/entity/RayHandler.d.ts +0 -4
  107. package/types/index.d.ts +7 -5
  108. package/types/input/input.d.ts +2 -0
  109. package/types/layer/CanvasTiles.d.ts +1 -0
  110. package/types/layer/Layer.d.ts +9 -0
  111. package/types/layer/WMS.d.ts +7 -3
  112. package/types/math/Plane.d.ts +1 -1
  113. package/types/math/Vec3.d.ts +19 -16
  114. package/types/math/Vec4.d.ts +2 -3
  115. package/types/math.d.ts +20 -20
  116. package/types/quadTree/index.d.ts +10 -0
  117. package/types/renderer/Renderer.d.ts +11 -37
  118. package/types/scene/Planet.d.ts +27 -1
  119. package/types/scene/RenderNode.d.ts +2 -1
  120. package/types/segment/Segment.d.ts +1 -1
  121. package/types/shaders/atmos.d.ts +4 -0
  122. package/types/shaders/drawnode.d.ts +3 -2
  123. package/types/shaders/utils.d.ts +1 -0
  124. package/types/terrain/GlobusTerrain.d.ts +1 -1
  125. package/types/terrain/MapboxTerrain.d.ts +2 -1
  126. package/types/ui/Button.d.ts +21 -0
  127. package/types/ui/Dialog.d.ts +41 -0
  128. package/types/ui/Slider.d.ts +30 -0
  129. package/types/ui/ToggleButton.d.ts +10 -0
  130. package/types/{control → ui}/UIhelpers.d.ts +1 -1
  131. package/types/ui/View.d.ts +32 -0
  132. package/types/utils/shared.d.ts +16 -14
  133. package/types/webgl/Framebuffer.d.ts +2 -5
  134. package/types/webgl/Handler.d.ts +15 -10
  135. package/types/webgl/Multisample.d.ts +2 -0
  136. package/src/og/ajax.js +0 -204
  137. package/src/og/entity/Object3d.js +0 -504
  138. package/src/og/utils/quadTreeType.js +0 -11
  139. package/types/ajax.d.ts +0 -24
  140. package/types/utils/quadTreeType.d.ts +0 -8
@@ -1,36 +1,3 @@
1
- /**
2
- * Represents high level WebGL context interface that starts WebGL handler working in real time.
3
- * @class
4
- * @param {Handler} handler - WebGL handler context.
5
- * @param {Object} [params] - Renderer parameters:
6
- * @fires og.RendererEvents#draw
7
- * @fires og.RendererEvents#resize
8
- * @fires og.RendererEvents#mousemove
9
- * @fires og.RendererEvents#mousestop
10
- * @fires og.RendererEvents#lclick
11
- * @fires og.RendererEvents#rclick
12
- * @fires og.RendererEvents#mclick
13
- * @fires og.RendererEvents#ldblclick
14
- * @fires og.RendererEvents#rdblclick
15
- * @fires og.RendererEvents#mdblclick
16
- * @fires og.RendererEvents#lup
17
- * @fires og.RendererEvents#rup
18
- * @fires og.RendererEvents#mup
19
- * @fires og.RendererEvents#ldown
20
- * @fires og.RendererEvents#rdown
21
- * @fires og.RendererEvents#mdown
22
- * @fires og.RendererEvents#lhold
23
- * @fires og.RendererEvents#rhold
24
- * @fires og.RendererEvents#mhold
25
- * @fires og.RendererEvents#mousewheel
26
- * @fires og.RendererEvents#touchstart
27
- * @fires og.RendererEvents#touchend
28
- * @fires og.RendererEvents#touchcancel
29
- * @fires og.RendererEvents#touchmove
30
- * @fires og.RendererEvents#doubletouch
31
- * @fires og.RendererEvents#touchleave
32
- * @fires og.RendererEvents#touchenter
33
- */
34
1
  export class Renderer {
35
2
  constructor(handler: any, params: any);
36
3
  /**
@@ -49,7 +16,6 @@ export class Renderer {
49
16
  gamma: number;
50
17
  whitepoint: number;
51
18
  brightThreshold: number;
52
- backgroundColor: any;
53
19
  /**
54
20
  * Render nodes drawing queue.
55
21
  * @private
@@ -136,6 +102,12 @@ export class Renderer {
136
102
  * @type {utils.TextureAtlas}
137
103
  */
138
104
  protected billboardsTextureAtlas: utils.TextureAtlas;
105
+ /**
106
+ * Texture atlas for the billboards images. One atlas per node.
107
+ * @protected
108
+ * @type {utils.TextureAtlas}
109
+ */
110
+ protected geoObjectsTextureAtlas: utils.TextureAtlas;
139
111
  /**
140
112
  * Texture font atlas for the font families and styles. One atlas per node.
141
113
  * @public
@@ -144,6 +116,7 @@ export class Renderer {
144
116
  public fontAtlas: utils.FontAtlas;
145
117
  _entityCollections: any[];
146
118
  _currentOutput: string;
119
+ _fnScreenFrame: (() => void) | (() => void);
147
120
  labelWorker: LabelWorker;
148
121
  /**
149
122
  * Sets renderer events activity.
@@ -216,7 +189,6 @@ export class Renderer {
216
189
  */
217
190
  public initialize(): void;
218
191
  screenDepthFramebuffer: Framebuffer;
219
- _fnScreenFrame: (() => void) | (() => void);
220
192
  screenTexture: {
221
193
  screen: any;
222
194
  picking: any;
@@ -228,10 +200,12 @@ export class Renderer {
228
200
  depth: any;
229
201
  frustum: any;
230
202
  };
231
- _screenFrameCornersBuffer: any;
203
+ screenFramePositionBuffer: any;
232
204
  outputTexture: any;
233
- setCurrentScreen(screenName: any): void;
234
205
  resize(): void;
206
+ setCurrentScreen(screenName: any): void;
207
+ _resizeStart(): void;
208
+ _resizeEnd(): void;
235
209
  removeNode(renderNode: any): void;
236
210
  /**
237
211
  * Adds render node to the renderer.
@@ -251,8 +251,28 @@ export class Planet extends RenderNode {
251
251
  _renderCompletedActivated: boolean;
252
252
  _terrainCompleted: boolean;
253
253
  _terrainCompletedActivated: boolean;
254
+ _collectRenderNodesIsActive: boolean;
255
+ /**
256
+ * Night texture brightness coefficient
257
+ * @type {number}
258
+ */
259
+ nightTextureCoefficient: number;
260
+ _renderScreenNodesPASS: () => void;
261
+ _atmosphereEnabled: any;
262
+ _atmosphereMaxMinOpacity: Float32Array;
263
+ set atmosphereMaxOpacity(arg: number);
264
+ get atmosphereMaxOpacity(): number;
265
+ set atmosphereMinOpacity(arg: number);
266
+ get atmosphereMinOpacity(): number;
267
+ set atmosphereEnabled(arg: any);
268
+ get atmosphereEnabled(): any;
269
+ set diffuse(arg: any);
270
+ set ambient(arg: any);
271
+ set specular(arg: any);
272
+ set shininess(arg: any);
254
273
  get normalMapCreator(): NormalMapCreator;
255
274
  get layers(): Layer[];
275
+ get sunPos(): any;
256
276
  /**
257
277
  * Add the given control to the renderer of the planet scene.
258
278
  * @param {control.Control} control - Control.
@@ -331,6 +351,7 @@ export class Planet extends RenderNode {
331
351
  * @param {Terrain} terrain - Terrain provider.
332
352
  */
333
353
  public setTerrain(terrain: Terrain): void;
354
+ _initializeAtmosphere(): void;
334
355
  /**
335
356
  * @virtual
336
357
  * @protected
@@ -375,6 +396,7 @@ export class Planet extends RenderNode {
375
396
  */
376
397
  protected _sortLayers(): void;
377
398
  _clearRenderedNodeList(): void;
399
+ _clearRenderNodesInFrustum(): void;
378
400
  /**
379
401
  * Collects visible quad nodes.
380
402
  * @protected
@@ -387,10 +409,14 @@ export class Planet extends RenderNode {
387
409
  */
388
410
  public frame(): void;
389
411
  _checkRendercompleted(): void;
412
+ lockQuadTree(): void;
413
+ unlockQuadTree(): void;
414
+ _firstPASS(): void;
415
+ _renderScreenNodesPASSNoAtmos(): void;
390
416
  /**
391
417
  * @protected
392
418
  */
393
- protected _renderScreenNodesPASS(): void;
419
+ protected _renderScreenNodesPASSAtmos(): void;
394
420
  /**
395
421
  * @protected
396
422
  */
@@ -33,7 +33,7 @@ export class RenderNode {
33
33
  * @type {Array.<LightSource>}
34
34
  */
35
35
  private _lights;
36
- _lightsTransformedPositions: any[];
36
+ _lightsPositions: any[];
37
37
  _lightsParamsv: any[];
38
38
  _lightsParamsf: any[];
39
39
  _lightsNames: any[];
@@ -122,6 +122,7 @@ export class RenderNode {
122
122
  */
123
123
  public transformLights(): void;
124
124
  updateBillboardsTexCoords(): void;
125
+ updateGeoObjectsTexCoords(): void;
125
126
  /**
126
127
  * @private
127
128
  */
@@ -265,7 +265,7 @@ export class Segment {
265
265
  getExtentMerc(): Extent;
266
266
  getExtent(): Extent;
267
267
  getNodeState(): any;
268
- getNeighborSide(b: any): 1 | -1 | 0 | 2 | 3;
268
+ getNeighborSide(b: any): 0 | 1 | -1 | 2 | 3;
269
269
  }
270
270
  import { Sphere } from "../bv/Sphere.js";
271
271
  import { Box } from "../bv/Box.js";
@@ -0,0 +1,4 @@
1
+ export function transmittance(): Program;
2
+ export function scattering(): Program;
3
+ export const COMMON: string;
4
+ import { Program } from "../webgl/Program.js";
@@ -1,6 +1,7 @@
1
1
  export function drawnode_screen_nl(): Program;
2
- export function drawnode_screen_wl(): Program;
3
- export function drawnode_screen_wl_webgl2(): Program;
2
+ export function drawnode_screen_wl_webgl1NoAtmos(): Program;
3
+ export function drawnode_screen_wl_webgl2NoAtmos(): Program;
4
+ export function drawnode_screen_wl_webgl2Atmos(): Program;
4
5
  export function drawnode_colorPicking(): Program;
5
6
  export function drawnode_heightPicking(): Program;
6
7
  export function drawnode_depth(): Program;
@@ -0,0 +1 @@
1
+ export const UTILS: "\n float getLerpValue(in float min, in float max, in float between)\n {\n return (clamp(between, min, max) - min) / (max - min);\n }\n \n vec3 aces(vec3 color) \n {\n float a = 2.51;\n float b = 0.03;\n float c = 2.43;\n float d = 0.59;\n float e = 0.14;\n return clamp((color * (a * color + b)) / (color * (c * color + d ) + e), 0.0, 1.0);\n }\n \n bool intersectSphere(vec3 rayOrigin, vec3 rayDirection, float radius, inout float t1, inout float t2) \n {\n float b = dot(rayDirection, rayOrigin);\n float c = dot(rayOrigin, rayOrigin) - radius * radius;\n float d = b * b - c;\n if (d < 0.0) {\n return false;\n }\n t1 = -b - sqrt(d);\n t2 = -b + sqrt(d);\n return true;\n }\n \n bool intersectSphere(vec3 rayOrigin, vec3 rayDirection, float radius, inout float t) \n {\n float b = dot(rayDirection, rayOrigin);\n float c = dot(rayOrigin, rayOrigin) - radius * radius;\n float d = b * b - c;\n if (d < 0.0) {\n return false;\n }\n t = -b - sqrt(d);\n return true;\n }\n \n bool intersectEllipsoid( in vec3 ro, in vec3 rd, in vec3 ra, inout float t )\n {\n vec3 ocn = ro/ra;\n vec3 rdn = rd/ra;\n float a = dot( rdn, rdn );\n float b = dot( ocn, rdn );\n float c = dot( ocn, ocn );\n float h = b*b - a*(c-1.0);\n \n if (h < 0.0) \n { \n return false; \n }\n \n t = (-b-sqrt(h))/a;\n \n return true;\n }\n \n bool intersectEllipsoid( in vec3 ro, in vec3 rd, in vec3 ra, inout float t1, inout float t2)\n {\n vec3 ocn = ro/ra;\n vec3 rdn = rd/ra;\n float a = dot( rdn, rdn );\n float b = dot( ocn, rdn );\n float c = dot( ocn, ocn );\n float h = b*b - a*(c-1.0);\n \n if (h < 0.0) \n { \n return false; \n }\n \n h = sqrt(h);\n t1 = (-b-h)/a;\n t2 = (-b+h)/a;\n \n return true;\n }\n \n vec3 normalEllipsoid( in vec3 pos, in vec3 ra )\n {\n return normalize( pos/(ra*ra) );\n }\n";
@@ -9,7 +9,7 @@
9
9
  * @param {string} [options.url="//openglobus.org/heights/srtm3/{z}/{y}/{x}.ddm"] - Terrain source path url template. Default is openglobus ddm elevation file.
10
10
  * @param {Array.<number>} [options.gridSizeByZoom] - Array of segment triangulation grid sizes where array index agreed to the segment zoom index.
11
11
  * @param {number} [options.plainGridSize=32] - Elevation grid size. Default is 32x32. Must be power of two.
12
- * @param {string} [options.responseType="arraybuffer"] - Ajax responce type.
12
+ * @param {string} [options.responseType="arraybuffer"] - Responce type.
13
13
  * @param {number} [options.MAX_LOADING_TILES] - Maximum at one time loading tiles.
14
14
  * @param {Array.<number>} [gridSizeByZoom] - Array of values, where each value corresponds to the size of a tile(or segment) on the globe. Each value must be power of two.
15
15
  * @fires og.terrain.GlobusTerrain#load
@@ -9,7 +9,8 @@ export class MapboxTerrain extends GlobusTerrain {
9
9
  plainGridSize: any;
10
10
  _imageSize: any;
11
11
  _ctx: CanvasRenderingContext2D;
12
+ _imageDataCache: {};
12
13
  _createTemporalCanvas(size: any): CanvasRenderingContext2D;
13
- _createHeights(data: any, tileIndex: any, tileX: any, tileY: any, tileZoom: any, extent: any): Float32Array;
14
+ _createHeights(data: any, tileIndex: any, tileX: any, tileY: any, tileZoom: any, extent: any, preventChildren: any): Float32Array;
14
15
  }
15
16
  import { GlobusTerrain } from "./GlobusTerrain.js";
@@ -0,0 +1,21 @@
1
+ export class Button extends View {
2
+ name: any;
3
+ render(params: any): Button;
4
+ $icon: any;
5
+ $text: any;
6
+ _initEvents(): void;
7
+ _onMouseClick_: any;
8
+ _onMouseDown_: any;
9
+ _onMouseUp_: any;
10
+ _onTouchStart_: any;
11
+ _onTouchEnd_: any;
12
+ _onTouchCancel_: any;
13
+ _onMouseDown(e: any): void;
14
+ _onMouseUp(e: any): void;
15
+ _onTouchStart(e: any): void;
16
+ _onTouchEnd(e: any): void;
17
+ _onTouchCancel(e: any): void;
18
+ _onMouseClick(e: any): void;
19
+ _clearEvents(): void;
20
+ }
21
+ import { View } from "./View.js";
@@ -0,0 +1,41 @@
1
+ export class Dialog extends View {
2
+ static set __zIndex(arg: any);
3
+ static get __zIndex(): any;
4
+ _startPosX: number;
5
+ _startPosY: number;
6
+ useHide: any;
7
+ _visibility: any;
8
+ setContainer(htmlStr: any): void;
9
+ get container(): any;
10
+ get width(): number;
11
+ get height(): number;
12
+ bringToFront(): void;
13
+ render(params: any): Dialog;
14
+ $header: any;
15
+ $title: any;
16
+ $container: any;
17
+ $buttons: any;
18
+ show(): void;
19
+ hide(): void;
20
+ close(): void;
21
+ setVisibility(visibility: any): void;
22
+ _initButtons(): void;
23
+ _closeBtn: Button;
24
+ _onCloseBtnClick_: any;
25
+ _initEvents(): void;
26
+ _onMouseDown_: any;
27
+ _onMouseDownAll_: any;
28
+ _onCloseBtnClick(e: any): void;
29
+ _onMouseDownAll(): void;
30
+ _onMouseDown(e: any): void;
31
+ _onMouseMove_: any;
32
+ _onMouseUp_: any;
33
+ setPosition(x: any, y: any): void;
34
+ _onMouseMove(e: any): void;
35
+ _startDragging(): void;
36
+ _clearDragging(): void;
37
+ _onMouseUp(): void;
38
+ _clearEvents(): void;
39
+ }
40
+ import { View } from "./View.js";
41
+ import { Button } from "./Button.js";
@@ -0,0 +1,30 @@
1
+ export class Slider extends View {
2
+ _value: any;
3
+ _min: any;
4
+ _max: any;
5
+ _onResize_: any;
6
+ _resizeObserver: ResizeObserver;
7
+ render(params: any): Slider;
8
+ $label: any;
9
+ $pointer: any;
10
+ $progress: any;
11
+ $panel: any;
12
+ $input: any;
13
+ _onResize(e: any): void;
14
+ set value(arg: any);
15
+ get value(): any;
16
+ _initEvents(): void;
17
+ _onMouseDown_: any;
18
+ _onInput_: any;
19
+ _onMouseWheel_: any;
20
+ _onMouseWheel(e: any): void;
21
+ _onInput(e: any): void;
22
+ _onMouseDown(e: any): void;
23
+ _startPosX: any;
24
+ _onMouseMove_: any;
25
+ _onMouseUp_: any;
26
+ _setOffset(x: any): void;
27
+ _onMouseMove(e: any): void;
28
+ _onMouseUp(): void;
29
+ }
30
+ import { View } from "./View.js";
@@ -0,0 +1,10 @@
1
+ export class ToggleButton extends Button {
2
+ constructor(options: any);
3
+ _isActive: any;
4
+ preventClick: any;
5
+ setActive(isActive: any, stopPropagation: any): void;
6
+ _toggle(): void;
7
+ get isActive(): any;
8
+ render(params: any): ToggleButton;
9
+ }
10
+ import { Button } from "./Button.js";
@@ -10,4 +10,4 @@ export function nodesToArray(nodeList: any): any[];
10
10
  export function setAllCSSclass(CSSclass: any, nodeArray: any): any;
11
11
  export function allMenuBtnOFF(): void;
12
12
  export function allDialogsHide(): void;
13
- export function btnClickHandler(btn_id: any, dialog_id: any, dialog_selector: any, btn_icon_id: any): void;
13
+ export function btnClickHandler(btn_id: any, dialog_id: any, dialog_selector: any, btn_icon_id: any, callback: any): void;
@@ -0,0 +1,32 @@
1
+ export class View {
2
+ static set __staticCounter(arg: any);
3
+ static get __staticCounter(): any;
4
+ static getHTML(template: any, params: any): string;
5
+ static parseHTML(htmlStr: any): ChildNode[];
6
+ static insertAfter(newNodes: any, referenceNode: any): any;
7
+ static insertBefore(newNodes: any, referenceNode: any): void;
8
+ constructor(options?: {});
9
+ __id: number;
10
+ _events: Events;
11
+ model: any;
12
+ template: any;
13
+ parent: any;
14
+ _classList: any;
15
+ on(eventName: any, callback: any, sender: any): void;
16
+ off(eventName: any, callback: any): void;
17
+ insertBefore(view: any): void;
18
+ insertAfter(view: any): void;
19
+ isEqual(view: any): boolean;
20
+ appendTo(node: any, clean: any, firstPosition: any): View;
21
+ afterRender(parentNode: any): void;
22
+ beforeRender(parentNode: any): void;
23
+ stopPropagation(): void;
24
+ renderTemplate(params: any): ChildNode;
25
+ render(params: any): View;
26
+ el: ChildNode;
27
+ select(queryStr: any): any;
28
+ selectRemove(queryStr: any): any;
29
+ selectAll(queryStr: any, callback: any): any;
30
+ remove(): void;
31
+ }
32
+ import { Events } from "../Events.js";
@@ -1,13 +1,15 @@
1
1
  export function getDefault(param: any, def: any): any;
2
2
  export function isEmpty(v: any): boolean;
3
- export function stamp(obj: any): any;
4
- export function isString(s: any): boolean;
5
3
  /**
6
- * Synchronous text file loading. Returns file text.
7
- * @param {string} fileUrl - File name path.
8
- * @returns {string} -
4
+ * Returns true if the object pointer is undefined.
5
+ * @function
6
+ * @param {Object} obj - Object pointer.
7
+ * @returns {boolean} Returns true if object is undefined.
9
8
  */
10
- export function readTextFile(fileUrl: string): string;
9
+ export function isUndef(obj: any): boolean;
10
+ export function isUndefExt(obj: any, defVal: any): any;
11
+ export function stamp(obj: any): any;
12
+ export function isString(s: any): boolean;
11
13
  /**
12
14
  * Convert html color string to the RGBA number vector.
13
15
  * @param {string} htmlColor - HTML string("#C6C6C6" or "#EF5" or "rgb(8,8,8)" or "rgba(8,8,8)") color.
@@ -175,17 +177,17 @@ export function makeArray(arr: TypedArray): any[];
175
177
  * @param {TypedArray | Array} arr
176
178
  * @param {Number} starting
177
179
  * @param {Number} deleteCount
178
- * @param {Array} elements
180
+ * @param {Object} outArr
179
181
  */
180
- export function spliceArray(arr: TypedArray | any[], starting: number, deleteCount: number, elements: any[]): any;
182
+ export function spliceArray(arr: TypedArray | any[], starting: number, deleteCount: number, out: any): any;
181
183
  /**
182
184
  *
183
185
  * @param {TypedArray} arr
184
186
  * @param {Number} starting
185
187
  * @param {Number} deleteCount
186
- * @param {Array} elements
188
+ * @param {Array} outArr
187
189
  */
188
- export function spliceTypedArray(arr: TypedArray, starting: number, deleteCount: number, elements?: any[]): any;
190
+ export function spliceTypedArray(arr: TypedArray, starting: number, deleteCount: number, out: any): any;
189
191
  /**
190
192
  * Returns triangle coordinate array from inside of the source triangle array.
191
193
  * @static
@@ -213,12 +215,12 @@ export function getMatrixSubArray(sourceArr: Array<number>, gridSize: number, i0
213
215
  export function getMatrixSubArrayBoundsExt(sourceArr: Array<number>, sourceArrHigh: any, sourceArrLow: any, noDataVertices: any, gridSize: number, i0: number, j0: number, size: number, outArr: any, outArrHigh: any, outArrLow: any, outBounds: object, outNoDataVertices: any): Array<number>;
214
216
  export function cloneArray(items: any): any;
215
217
  /**
216
- * Returns true if the object pointer is undefined.
218
+ * Promise for load images
217
219
  * @function
218
- * @param {Object} obj - Object pointer.
219
- * @returns {boolean} Returns true if object is undefined.
220
+ * @param {string} url - link to image.
221
+ * @returns {Promise<Image>} Returns promise.
220
222
  */
221
- export function isUndef(obj: any): boolean;
223
+ export function loadImage(url: string): Promise<new (width?: number, height?: number) => HTMLImageElement>;
222
224
  export namespace castType {
223
225
  function string(v: any): any;
224
226
  function date(v: any): any;
@@ -66,6 +66,8 @@ export class Framebuffer {
66
66
  * @type {number}
67
67
  */
68
68
  public textures: number;
69
+ get width(): number;
70
+ get height(): number;
69
71
  destroy(): void;
70
72
  /**
71
73
  * Framebuffer initialization.
@@ -127,9 +129,4 @@ export class Framebuffer {
127
129
  * @returns {Object} -
128
130
  */
129
131
  public getImage(): any;
130
- /**
131
- * Open dialog window with framebuffer image.
132
- * @public
133
- */
134
- public openImage(): void;
135
132
  }
@@ -97,6 +97,7 @@ export class Handler {
97
97
  */
98
98
  private _frameCallback;
99
99
  transparentTexture: any;
100
+ defaultTexture: any;
100
101
  framebufferStack: Stack;
101
102
  createTexture: {
102
103
  NEAREST: any;
@@ -106,7 +107,7 @@ export class Handler {
106
107
  };
107
108
  createTextureDefault: any;
108
109
  ONCANVASRESIZE: any;
109
- createTexture_n: (image: any, internalFormat: any) => any;
110
+ createTexture_n: (image: any, internalFormat: any, texture: any) => any;
110
111
  /**
111
112
  * Sets animation frame function.
112
113
  * @public
@@ -148,56 +149,56 @@ export class Handler {
148
149
  * @param {Object} image - Image or Canvas object.
149
150
  * @returns {Object} - WebGL texture object.
150
151
  */
151
- public createTexture_n_webgl1(image: any, internalFormat: any): any;
152
+ public createTexture_n_webgl1(image: any, internalFormat: any, texture: any): any;
152
153
  /**
153
154
  * Creates LINEAR filter texture.
154
155
  * @public
155
156
  * @param {Object} image - Image or Canvas object.
156
157
  * @returns {Object} - WebGL texture object.
157
158
  */
158
- public createTexture_l_webgl1(image: any, internalFormat: any): any;
159
+ public createTexture_l_webgl1(image: any, internalFormat: any, texture: any): any;
159
160
  /**
160
161
  * Creates MIPMAP filter texture.
161
162
  * @public
162
163
  * @param {Object} image - Image or Canvas object.
163
164
  * @returns {Object} - WebGL texture object.
164
165
  */
165
- public createTexture_mm_webgl1(image: any, internalFormat: any): any;
166
+ public createTexture_mm_webgl1(image: any, internalFormat: any, texture: any): any;
166
167
  /**
167
168
  * Creates ANISOTROPY filter texture.
168
169
  * @public
169
170
  * @param {Object} image - Image or Canvas object.
170
171
  * @returns {Object} - WebGL texture object.
171
172
  */
172
- public createTexture_a_webgl1(image: any, internalFormat: any): any;
173
+ public createTexture_a_webgl1(image: any, internalFormat: any, texture: any): any;
173
174
  /**
174
175
  * Creates NEAREST filter texture.
175
176
  * @public
176
177
  * @param {Object} image - Image or Canvas object.
177
178
  * @returns {Object} - WebGL texture object.
178
179
  */
179
- public createTexture_n_webgl2(image: any, internalFormat: any): any;
180
+ public createTexture_n_webgl2(image: any, internalFormat: any, texture: any): any;
180
181
  /**
181
182
  * Creates LINEAR filter texture.
182
183
  * @public
183
184
  * @param {Object} image - Image or Canvas object.
184
185
  * @returns {Object} - WebGL texture object.
185
186
  */
186
- public createTexture_l_webgl2(image: any, internalFormat: any): any;
187
+ public createTexture_l_webgl2(image: any, internalFormat: any, texture: any): any;
187
188
  /**
188
189
  * Creates MIPMAP filter texture.
189
190
  * @public
190
191
  * @param {Object} image - Image or Canvas object.
191
192
  * @returns {Object} - WebGL texture object.
192
193
  */
193
- public createTexture_mm_webgl2(image: any, internalFormat: any): any;
194
+ public createTexture_mm_webgl2(image: any, internalFormat: any, texture: any): any;
194
195
  /**
195
196
  * Creates ANISOTROPY filter texture.
196
197
  * @public
197
198
  * @param {Object} image - Image or Canvas object.
198
199
  * @returns {Object} - WebGL texture object.
199
200
  */
200
- public createTexture_a_webgl2(image: any, internalFormat: any): any;
201
+ public createTexture_a_webgl2(image: any, internalFormat: any, texture: any): any;
201
202
  /**
202
203
  * Creates cube texture.
203
204
  * @public
@@ -258,6 +259,8 @@ export class Handler {
258
259
  createTexture_l: any;
259
260
  createTexture_mm: any;
260
261
  createTexture_a: any;
262
+ observer: IntersectionObserver;
263
+ _toggleVisibilityChange(visibility: any): void;
261
264
  /**
262
265
  * Sets default gl render parameters. Used in init function.
263
266
  * @private
@@ -363,7 +366,8 @@ export class Handler {
363
366
  */
364
367
  public start(): void;
365
368
  stop(): void;
366
- _requestAnimationFrameId: number;
369
+ _requestAnimationFrameId: any;
370
+ isStopped(): boolean;
367
371
  /**
368
372
  * Check is gl context type equals webgl2
369
373
  * @public
@@ -381,6 +385,7 @@ export class Handler {
381
385
  * @param {callback} [success] - Creation callback
382
386
  */
383
387
  public createDefaultTexture(params?: any, success?: callback): void;
388
+ deleteTexture(texture: any): void;
384
389
  /**
385
390
  * @public
386
391
  */
@@ -55,6 +55,8 @@ export class Multisample {
55
55
  _filter: any;
56
56
  _glFilter: any;
57
57
  renderbuffers: any[];
58
+ get width(): number;
59
+ get height(): number;
58
60
  destroy(): void;
59
61
  /**
60
62
  * Framebuffer initialization.