@openglobus/og 0.11.4 → 0.11.8

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 (260) hide show
  1. package/css/og.css +3 -2
  2. package/package.json +12 -14
  3. package/src/og/Clock.js +6 -10
  4. package/src/og/Events.js +5 -7
  5. package/src/og/Extent.js +73 -32
  6. package/src/og/Globe.js +8 -5
  7. package/src/og/ImageCanvas.js +18 -15
  8. package/src/og/LonLat.js +13 -10
  9. package/src/og/Popup.js +19 -17
  10. package/src/og/QueueArray.js +3 -4
  11. package/src/og/Rectangle.js +4 -6
  12. package/src/og/Stack.js +2 -4
  13. package/src/og/ajax.js +20 -14
  14. package/src/og/astro/earth.js +21 -15
  15. package/src/og/bv/Box.js +2 -3
  16. package/src/og/bv/Sphere.js +10 -7
  17. package/src/og/camera/Frustum.js +19 -12
  18. package/src/og/camera/PlanetCamera.js +9 -5
  19. package/src/og/control/CompassButton.js +1 -2
  20. package/src/og/control/Control.js +7 -9
  21. package/src/og/control/DebugInfo.js +0 -1
  22. package/src/og/control/KeyboardNavigation.js +9 -9
  23. package/src/og/control/LayerSwitcher.js +21 -20
  24. package/src/og/control/Lighting.js +74 -64
  25. package/src/og/control/MouseNavigation.js +21 -18
  26. package/src/og/control/MouseWheelZoomControl.js +257 -0
  27. package/src/og/control/SegmentBoundVisualization.js +5 -6
  28. package/src/og/control/ShowFps.js +12 -7
  29. package/src/og/control/SimpleNavigation.js +5 -7
  30. package/src/og/control/Sun.js +22 -12
  31. package/src/og/control/ToggleWireframe.js +3 -3
  32. package/src/og/control/TouchNavigation.js +43 -32
  33. package/src/og/control/ZoomControl.js +40 -24
  34. package/src/og/control/index.js +2 -0
  35. package/src/og/control/visibleExtent/Segment.js +1862 -0
  36. package/src/og/control/visibleExtent/VisibleExtent.js +80 -0
  37. package/src/og/control/visibleExtent/drawnode.js +751 -0
  38. package/src/og/ellipsoid/Ellipsoid.js +149 -57
  39. package/src/og/ellipsoid/wgs84.js +3 -3
  40. package/src/og/entity/BaseBillboard.js +72 -30
  41. package/src/og/entity/Billboard.js +9 -5
  42. package/src/og/entity/BillboardHandler.js +315 -62
  43. package/src/og/entity/Entity.js +39 -1
  44. package/src/og/entity/EntityCollection.js +47 -24
  45. package/src/og/entity/GeoObject.js +228 -0
  46. package/src/og/entity/GeoObjectHandler.js +910 -0
  47. package/src/og/entity/GeometryHandler.js +595 -123
  48. package/src/og/entity/Label.js +62 -30
  49. package/src/og/entity/LabelHandler.js +40 -242
  50. package/src/og/entity/LabelWorker.js +218 -0
  51. package/src/og/entity/Object3d.js +504 -0
  52. package/src/og/entity/PointCloud.js +76 -28
  53. package/src/og/entity/PointCloudHandler.js +5 -5
  54. package/src/og/entity/Ray.js +49 -16
  55. package/src/og/entity/Strip.js +72 -43
  56. package/src/og/entity/StripHandler.js +23 -23
  57. package/src/og/layer/BaseGeoImage.js +50 -19
  58. package/src/og/layer/CanvasTiles.js +16 -17
  59. package/src/og/layer/GeoImage.js +8 -16
  60. package/src/og/layer/GeoTexture2d.js +2 -10
  61. package/src/og/layer/GeoVideo.js +2 -10
  62. package/src/og/layer/KML.js +55 -33
  63. package/src/og/layer/Layer.js +24 -32
  64. package/src/og/layer/Material.js +1 -1
  65. package/src/og/layer/Vector.js +94 -48
  66. package/src/og/layer/WMS.js +33 -18
  67. package/src/og/layer/XYZ.js +4 -5
  68. package/src/og/light/LightSource.js +19 -12
  69. package/src/og/math/Mat3.js +24 -12
  70. package/src/og/math/Mat4.js +603 -603
  71. package/src/og/math/Plane.js +19 -18
  72. package/src/og/math/Ray.js +17 -12
  73. package/src/og/math/Vec2.js +24 -14
  74. package/src/og/math/Vec3.js +60 -30
  75. package/src/og/math/coder.js +7 -7
  76. package/src/og/proj/EPSG3857.js +3 -3
  77. package/src/og/proj/EPSG4326.js +3 -3
  78. package/src/og/proj/Proj.js +2 -4
  79. package/src/og/quadTree/Node.js +3 -3
  80. package/src/og/renderer/Renderer.js +106 -124
  81. package/src/og/renderer/RendererEvents.js +45 -23
  82. package/src/og/scene/BaseNode.js +2 -3
  83. package/src/og/scene/Planet.js +51 -90
  84. package/src/og/scene/RenderNode.js +15 -8
  85. package/src/og/segment/Segment.js +60 -156
  86. package/src/og/segment/Slice.js +45 -0
  87. package/src/og/shaders/drawnode.js +245 -342
  88. package/src/og/shaders/geoObject.js +211 -0
  89. package/src/og/shaders/pointCloud.js +41 -41
  90. package/src/og/shaders/shape.js +12 -18
  91. package/src/og/shaders/skybox.js +36 -36
  92. package/src/og/shaders/toneMapping.js +1 -0
  93. package/src/og/shapes/BaseShape.js +108 -36
  94. package/src/og/shapes/Icosphere.js +25 -10
  95. package/src/og/shapes/Sphere.js +8 -11
  96. package/src/og/utils/FontAtlas.js +6 -2
  97. package/src/og/utils/GeoImageCreator.js +5 -1
  98. package/src/og/utils/TextureAtlas.js +18 -20
  99. package/src/og/utils/VectorTileCreator.js +1 -3
  100. package/src/og/utils/shared.js +2 -2
  101. package/src/og/webgl/Handler.js +215 -162
  102. package/src/og/webgl/Multisample.js +44 -16
  103. package/src/og/webgl/Program.js +78 -33
  104. package/src/og/webgl/callbacks.js +3 -3
  105. package/types/Clock.d.ts +0 -94
  106. package/types/Deferred.d.ts +0 -6
  107. package/types/Events.d.ts +0 -77
  108. package/types/Extent.d.ts +0 -166
  109. package/types/Globe.d.ts +0 -82
  110. package/types/ImageCanvas.d.ts +0 -123
  111. package/types/Lock.d.ts +0 -12
  112. package/types/LonLat.d.ts +0 -108
  113. package/types/Popup.d.ts +0 -42
  114. package/types/QueueArray.d.ts +0 -19
  115. package/types/Rectangle.d.ts +0 -80
  116. package/types/Stack.d.ts +0 -19
  117. package/types/ajax.d.ts +0 -24
  118. package/types/arial.d.ts +0 -48
  119. package/types/astro/astro.d.ts +0 -38
  120. package/types/astro/earth.d.ts +0 -7
  121. package/types/astro/jd.d.ts +0 -254
  122. package/types/bv/Box.d.ts +0 -30
  123. package/types/bv/Sphere.d.ts +0 -38
  124. package/types/bv/index.d.ts +0 -3
  125. package/types/camera/Camera.d.ts +0 -312
  126. package/types/camera/Frustum.d.ts +0 -133
  127. package/types/camera/PlanetCamera.d.ts +0 -218
  128. package/types/camera/index.d.ts +0 -3
  129. package/types/cons.d.ts +0 -40
  130. package/types/control/CompassButton.d.ts +0 -17
  131. package/types/control/Control.d.ts +0 -104
  132. package/types/control/DebugInfo.d.ts +0 -15
  133. package/types/control/EarthCoordinates.d.ts +0 -47
  134. package/types/control/EarthNavigation.d.ts +0 -42
  135. package/types/control/GeoImageDragControl.d.ts +0 -6
  136. package/types/control/KeyboardNavigation.d.ts +0 -21
  137. package/types/control/LayerSwitcher.d.ts +0 -21
  138. package/types/control/Lighting.d.ts +0 -16
  139. package/types/control/MouseNavigation.d.ts +0 -47
  140. package/types/control/ScaleControl.d.ts +0 -22
  141. package/types/control/ShowFps.d.ts +0 -11
  142. package/types/control/SimpleNavigation.d.ts +0 -25
  143. package/types/control/Sun.d.ts +0 -50
  144. package/types/control/ToggleWireframe.d.ts +0 -12
  145. package/types/control/TouchNavigation.d.ts +0 -48
  146. package/types/control/ZoomControl.d.ts +0 -27
  147. package/types/control/index.d.ts +0 -17
  148. package/types/ellipsoid/Ellipsoid.d.ts +0 -146
  149. package/types/ellipsoid/index.d.ts +0 -3
  150. package/types/ellipsoid/wgs84.d.ts +0 -6
  151. package/types/entity/BaseBillboard.d.ts +0 -208
  152. package/types/entity/Billboard.d.ts +0 -94
  153. package/types/entity/BillboardHandler.d.ts +0 -78
  154. package/types/entity/Entity.d.ts +0 -333
  155. package/types/entity/EntityCollection.d.ts +0 -311
  156. package/types/entity/Geometry.d.ts +0 -74
  157. package/types/entity/GeometryHandler.d.ts +0 -76
  158. package/types/entity/Label.d.ts +0 -189
  159. package/types/entity/LabelHandler.d.ts +0 -29
  160. package/types/entity/PointCloud.d.ts +0 -174
  161. package/types/entity/PointCloudHandler.d.ts +0 -38
  162. package/types/entity/Polyline.d.ts +0 -306
  163. package/types/entity/PolylineHandler.d.ts +0 -18
  164. package/types/entity/Ray.d.ts +0 -124
  165. package/types/entity/RayHandler.d.ts +0 -67
  166. package/types/entity/ShapeHandler.d.ts +0 -22
  167. package/types/entity/Strip.d.ts +0 -119
  168. package/types/entity/StripHandler.d.ts +0 -38
  169. package/types/entity/index.d.ts +0 -8
  170. package/types/index.core.d.ts +0 -65
  171. package/types/index.d.ts +0 -45
  172. package/types/index.webgl.d.ts +0 -7
  173. package/types/input/KeyboardHandler.d.ts +0 -10
  174. package/types/input/MouseHandler.d.ts +0 -5
  175. package/types/input/TouchHandler.d.ts +0 -5
  176. package/types/input/input.d.ts +0 -34
  177. package/types/layer/BaseGeoImage.d.ts +0 -94
  178. package/types/layer/CanvasTiles.d.ts +0 -68
  179. package/types/layer/GeoImage.d.ts +0 -52
  180. package/types/layer/GeoTexture2d.d.ts +0 -8
  181. package/types/layer/GeoVideo.d.ts +0 -55
  182. package/types/layer/KML.d.ts +0 -63
  183. package/types/layer/Layer.d.ts +0 -325
  184. package/types/layer/Material.d.ts +0 -45
  185. package/types/layer/Vector.d.ts +0 -208
  186. package/types/layer/WMS.d.ts +0 -63
  187. package/types/layer/XYZ.d.ts +0 -120
  188. package/types/layer/index.d.ts +0 -10
  189. package/types/light/LightSource.d.ts +0 -178
  190. package/types/math/Line2.d.ts +0 -11
  191. package/types/math/Line3.d.ts +0 -10
  192. package/types/math/Mat3.d.ts +0 -65
  193. package/types/math/Mat4.d.ts +0 -176
  194. package/types/math/Plane.d.ts +0 -18
  195. package/types/math/Quat.d.ts +0 -379
  196. package/types/math/Ray.d.ts +0 -82
  197. package/types/math/Vec2.d.ts +0 -309
  198. package/types/math/Vec3.d.ts +0 -460
  199. package/types/math/Vec4.d.ts +0 -162
  200. package/types/math/coder.d.ts +0 -43
  201. package/types/math/index.d.ts +0 -11
  202. package/types/math.d.ts +0 -261
  203. package/types/mercator.d.ts +0 -92
  204. package/types/proj/EPSG3857.d.ts +0 -6
  205. package/types/proj/EPSG4326.d.ts +0 -6
  206. package/types/proj/Proj.d.ts +0 -42
  207. package/types/quadTree/EntityCollectionNode.d.ts +0 -34
  208. package/types/quadTree/Node.d.ts +0 -61
  209. package/types/quadTree/quadTree.d.ts +0 -40
  210. package/types/renderer/Renderer.d.ts +0 -298
  211. package/types/renderer/RendererEvents.d.ts +0 -233
  212. package/types/res/images.d.ts +0 -3
  213. package/types/scene/Axes.d.ts +0 -11
  214. package/types/scene/BaseNode.d.ts +0 -60
  215. package/types/scene/Planet.d.ts +0 -577
  216. package/types/scene/RenderNode.d.ts +0 -142
  217. package/types/scene/SkyBox.d.ts +0 -10
  218. package/types/scene/index.d.ts +0 -4
  219. package/types/segment/Segment.d.ts +0 -279
  220. package/types/segment/SegmentLonLat.d.ts +0 -16
  221. package/types/segment/segmentHelper.d.ts +0 -13
  222. package/types/shaders/billboard.d.ts +0 -3
  223. package/types/shaders/depth.d.ts +0 -2
  224. package/types/shaders/drawnode.d.ts +0 -7
  225. package/types/shaders/label.d.ts +0 -4
  226. package/types/shaders/pointCloud.d.ts +0 -2
  227. package/types/shaders/polyline.d.ts +0 -3
  228. package/types/shaders/ray.d.ts +0 -2
  229. package/types/shaders/screenFrame.d.ts +0 -2
  230. package/types/shaders/shape.d.ts +0 -4
  231. package/types/shaders/skybox.d.ts +0 -2
  232. package/types/shaders/toneMapping.d.ts +0 -2
  233. package/types/shapes/BaseShape.d.ts +0 -250
  234. package/types/shapes/Sphere.d.ts +0 -41
  235. package/types/terrain/BilTerrain.d.ts +0 -7
  236. package/types/terrain/EmptyTerrain.d.ts +0 -72
  237. package/types/terrain/Geoid.d.ts +0 -26
  238. package/types/terrain/GlobusTerrain.d.ts +0 -116
  239. package/types/terrain/MapboxTerrain.d.ts +0 -7
  240. package/types/terrain/index.d.ts +0 -5
  241. package/types/utils/FontAtlas.d.ts +0 -14
  242. package/types/utils/GeoImageCreator.d.ts +0 -30
  243. package/types/utils/ImagesCacheManager.d.ts +0 -10
  244. package/types/utils/Loader.d.ts +0 -25
  245. package/types/utils/NormalMapCreator.d.ts +0 -39
  246. package/types/utils/PlainSegmentWorker.d.ts +0 -10
  247. package/types/utils/TerrainWorker.d.ts +0 -9
  248. package/types/utils/TextureAtlas.d.ts +0 -111
  249. package/types/utils/VectorTileCreator.d.ts +0 -16
  250. package/types/utils/colorTable.d.ts +0 -143
  251. package/types/utils/earcut.d.ts +0 -6
  252. package/types/utils/shared.d.ts +0 -231
  253. package/types/webgl/Framebuffer.d.ts +0 -135
  254. package/types/webgl/Handler.d.ts +0 -388
  255. package/types/webgl/Multisample.d.ts +0 -89
  256. package/types/webgl/Program.d.ts +0 -155
  257. package/types/webgl/ProgramController.d.ts +0 -89
  258. package/types/webgl/callbacks.d.ts +0 -1
  259. package/types/webgl/index.d.ts +0 -6
  260. package/types/webgl/types.d.ts +0 -2
@@ -1,63 +0,0 @@
1
- /**
2
- * Used to display WMS services as tile layers on the globe.
3
- * @class
4
- * @extends {XYZ}
5
- * //TODO: WMS version, format, and custom srs cpecification.
6
- * @param {string} name - Layer name.
7
- * @param {Object} options - Options:
8
- * @param {number} [options.opacity=1.0] - Layer opacity.
9
- * @param {Array.<number>} [options.transparentColor=[-1,-1,-1]] - RGB color that defines transparent color.
10
- * @param {number} [options.minZoom=0] - Minimal visibility zoom level.
11
- * @param {number} [options.maxZoom=0] - Maximal visibility zoom level.
12
- * @param {string} [options.attribution] - Layer attribution that displayed in the attribution area on the screen.
13
- * @param {boolean} [options.isBaseLayer=false] - Base layer flag.
14
- * @param {boolean} [options.visibility=true] - Layer visibility.
15
- * @param {string} options.url - WMS url source.
16
- * @param {number} [options.width=256] - Tile width.
17
- * @param {number} [options.height=256] - Tile height.
18
- * @param {string} options.layers - WMS layers string.
19
- * @param {string} [options.version="1.1.1"] - WMS version.
20
- * @example:
21
- * new og.layer.WMS("USA States", {
22
- * isBaseLayer: false,
23
- * url: "http://openglobus.org/geoserver/",
24
- * layers: "topp:states",
25
- * opacity: 0.5,
26
- * zIndex: 50,
27
- * attribution: 'USA states - geoserver WMS example',
28
- * transparentColor: [1.0, 1.0, 1.0],
29
- * version: "1.1.1",
30
- * visibility: false }
31
- * );
32
- *
33
- * @fires og.layer.XYZ#load
34
- * @fires og.layer.XYZ#loadend
35
- */
36
- export class WMS extends XYZ {
37
- static createRequestUrl(url: any, layers: any, format: string, version: string, request: string, srs: any, bbox: any, width?: number, height?: number): string;
38
- static get_bbox_v1_1_1(extent: any): string;
39
- static get_bbox_v1_3_0(extent: any): string;
40
- constructor(name: any, options: any);
41
- /**
42
- * WMS layers string.
43
- * @public
44
- * @type {string}
45
- */
46
- public layers: string;
47
- /**
48
- * WMS tile width.
49
- * @public
50
- * @type {number}
51
- */
52
- public imageWidth: number;
53
- /**
54
- * WMS tile height.
55
- * @public
56
- * @type {number}
57
- */
58
- public imageHeight: number;
59
- _getBbox: typeof WMS.get_bbox_v1_1_1;
60
- setVersion(version: any): void;
61
- _version: any;
62
- }
63
- import { XYZ } from "./XYZ.js";
@@ -1,120 +0,0 @@
1
- /**
2
- * Represents an imagery tiles source provider.
3
- * @class
4
- * @extends {Layer}
5
- * @param {string} name - Layer name.
6
- * @param {Object} options:
7
- * @param {number} [options.opacity=1.0] - Layer opacity.
8
- * @param {Array.<number>} [options.transparentColor=[-1,-1,-1]] - RGB color that defines transparent color. (exactly 3 entries)
9
- * @param {Array.<string>} [options.subdomains=['a','b','c']] - Subdomains of the tile service.
10
- * @param {number} [options.minZoom=0] - Minimal visibility zoom level.
11
- * @param {number} [options.maxZoom=0] - Maximal visibility zoom level.
12
- * @param {number} [options.minNativeZoom=0] - Minimal available zoom level.
13
- * @param {number} [options.maxNativeZoom=19] - Maximal available zoom level.
14
- * @param {string} [options.attribution] - Layer attribution that displayed in the attribution area on the screen.
15
- * @param {boolean} [options.isBaseLayer=false] - Base layer flag.
16
- * @param {boolean} [options.visibility=true] - Layer visibility.
17
- * @param {string} [options.crossOrigin=true] - If true, all tiles will have their crossOrigin attribute set to ''.
18
- * @param {string} options.url - Tile url source template(see example below).
19
- * @param {string} options.textureFilter - texture gl filter. NEAREST, LINEAR, MIPMAP, ANISOTROPHIC.
20
- * @param {layer.XYZ~_urlRewriteCallback} options.urlRewrite - Url rewrite function.
21
- * @fires og.layer.XYZ#load
22
- * @fires og.layer.XYZ#loadend
23
- *
24
- * @example <caption>Creates OpenStreetMap base tile layer</caption>
25
- * new og.layer.XYZ("OpenStreetMap", {
26
- * isBaseLayer: true,
27
- * url: "http://b.tile.openstreetmap.org/{z}/{x}/{y}.png",
28
- * visibility: true,
29
- * attribution: 'Data @ <a href="http://www.openstreetmap.org/">OpenStreetMap</a> contributors, <a href="http://www.openstreetmap.org/copyright">ODbL</a>'
30
- * });
31
- */
32
- export class XYZ extends Layer {
33
- /**
34
- * @param {string} name - Layer name.
35
- * @param {*} options
36
- */
37
- constructor(name: string, options: any);
38
- /**
39
- * Tile url source template.
40
- * @public
41
- * @type {string}
42
- */
43
- public url: string;
44
- /**
45
- * @protected
46
- */
47
- protected _s: any;
48
- /**
49
- * Minimal native zoom level when tiles are available.
50
- * @public
51
- * @type {number}
52
- */
53
- public minNativeZoom: number;
54
- /**
55
- * Maximal native zoom level when tiles are available.
56
- * @public
57
- * @type {number}
58
- */
59
- public maxNativeZoom: number;
60
- /**
61
- * @protected
62
- */
63
- protected _crossOrigin: any;
64
- /**
65
- * Rewrites imagery tile url query.
66
- * @private
67
- * @callback og.layer.XYZ~_urlRewriteCallback
68
- * @param {Segment} segment - Segment to load.
69
- * @param {string} url - Created url.
70
- * @returns {string} - Url query string.
71
- */
72
- private _urlRewriteCallback;
73
- /**
74
- * Abort loading tiles.
75
- * @public
76
- */
77
- public abortLoading(): void;
78
- /**
79
- * Sets imagery tiles url source template.
80
- * @public
81
- * @param {string} url - Url template.
82
- * @example
83
- * http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png
84
- * where {z}, {x} and {y} - replaces by current tile values, {s} - random domen.
85
- */
86
- public setUrl(url: string): void;
87
- _checkSegment(segment: any): boolean;
88
- /**
89
- * Start to load tile material.
90
- * @public
91
- * @virtual
92
- * @param {Material} material - Loads current material.
93
- */
94
- public loadMaterial(material: any, forceLoading: any): void;
95
- /**
96
- * Creates query url.
97
- * @protected
98
- * @virtual
99
- * @param {Segment} segment - Creates specific url for current segment.
100
- * @returns {String} - Returns url string.
101
- */
102
- protected _createUrl(segment: any): string;
103
- _getSubdomain(): any;
104
- /**
105
- * Returns actual url query string.
106
- * @protected
107
- * @param {Segment} segment - Segment that loads image data.
108
- * @returns {string} - Url string.
109
- */
110
- protected _getHTTPRequestString(segment: any): string;
111
- /**
112
- * Sets url rewrite callback, used for custom url rewriting for every tile laoding.
113
- * @public
114
- * @param {layer.XYZ~_urlRewriteCallback} ur - The callback that returns tile custom created url.
115
- */
116
- public setUrlRewriteCallback(ur: any): void;
117
- applyMaterial(material: any): any;
118
- clearMaterial(material: any): void;
119
- }
120
- import { Layer } from "./Layer.js";
@@ -1,10 +0,0 @@
1
- import { CanvasTiles } from "./CanvasTiles.js";
2
- import { GeoImage } from "./GeoImage.js";
3
- import { GeoTexture2d } from "./GeoTexture2d.js";
4
- import { GeoVideo } from "./GeoVideo.js";
5
- import { KML } from "./KML.js";
6
- import { Layer } from "./Layer.js";
7
- import { Vector } from "./Vector.js";
8
- import { WMS } from "./WMS.js";
9
- import { XYZ } from "./XYZ.js";
10
- export { CanvasTiles, GeoImage, GeoTexture2d, GeoVideo, KML, Layer, Vector, WMS, XYZ };
@@ -1,178 +0,0 @@
1
- /**
2
- * Represents basic light source.
3
- * @class
4
- * @param {string} [name] - Light source name.
5
- * @param {Object} [params] - Light parameters:
6
- * @param {Vec3} [params.position] - Light source position if it is a point light, otherwise it is a light direction vector.
7
- * @param {Vec3} [params.ambient] - Ambient RGB color.
8
- * @param {Vec3} [params.diffuse] - Diffuse RGB color.
9
- * @param {Vec3} [params.specular] - Specular RGB color.
10
- * @param {number} [params.shininess] - Specular shininess.
11
- */
12
- export class LightSource {
13
- static set _staticCounter(arg: any);
14
- static get _staticCounter(): any;
15
- constructor(name: any, params: any);
16
- /**
17
- * Light name.
18
- * @protected
19
- * @type {string}
20
- */
21
- protected _name: string;
22
- /**
23
- * Render node where light is shines.
24
- * @protected
25
- * @type {RenderNode}
26
- */
27
- protected _renderNode: any;
28
- /**
29
- * Light position.
30
- * @protected
31
- * @type {Vec3}
32
- */
33
- protected _position: Vec3;
34
- /**
35
- * True if the light is directional.
36
- * @public
37
- * @type {boolean}
38
- */
39
- public directional: boolean;
40
- /**
41
- * Ambient color.
42
- * @protected
43
- * @type {Vec3}
44
- */
45
- protected _ambient: Vec3;
46
- /**
47
- * Diffuse color.
48
- * @protected
49
- * @type {Vec3}
50
- */
51
- protected _diffuse: Vec3;
52
- /**
53
- * Specular color.
54
- * @protected
55
- * @type {Vec3}
56
- */
57
- protected _specular: Vec3;
58
- /**
59
- * Shininess.
60
- * @protected
61
- * @type {number}
62
- */
63
- protected _shininess: number;
64
- /**
65
- * Light activity.
66
- * @protected
67
- * @type {boolean}
68
- */
69
- protected _active: boolean;
70
- _tempAmbient: Vec3;
71
- _tempDiffuse: Vec3;
72
- _tempSpecular: Vec3;
73
- _tempShininess: number;
74
- /**
75
- * Creates clone of the current light object.
76
- * @todo: TODO
77
- * @public
78
- * @returns {LightSource}
79
- */
80
- public clone(): LightSource;
81
- /**
82
- * Set light activity. If activity is false the light doesn't shine.
83
- * @public
84
- * @param {boolean} active - Light activity.
85
- */
86
- public setActive(active: boolean): void;
87
- /**
88
- * Gets light activity.
89
- * @public
90
- * @returns {boolean}
91
- */
92
- public isActive(): boolean;
93
- /**
94
- * Set light source position, or if it is a directional type sets light direction vector.
95
- * @public
96
- * @param {Vec3} position - Light position or direction vector.
97
- * @returns {LightSource}
98
- */
99
- public setPosition3v(position: Vec3): LightSource;
100
- /**
101
- * Set light source position, or if it is a directional type sets light direction vector.
102
- * @public
103
- * @param {Vec3} position - Light position or direction vector.
104
- * @returns {LightSource}
105
- */
106
- public setPosition(x: any, y: any, z: any): LightSource;
107
- /**
108
- * Returns light source position, or if it is a directional type sets light direction vector.
109
- * @public
110
- * @returns {Vec3} - Light source position/direction.
111
- */
112
- public getPosition(): Vec3;
113
- /**
114
- * Set ambient color.
115
- * @public
116
- * @param {Vec3} rgb - Ambient color.
117
- * @returns {LightSource}
118
- */
119
- public setAmbient3v(rgb: Vec3): LightSource;
120
- /**
121
- * Set diffuse color.
122
- * @public
123
- * @param {Vec3} rgb - Diffuse color.
124
- * @returns {LightSource}
125
- */
126
- public setDiffuse3v(rgb: Vec3): LightSource;
127
- /**
128
- * Set specular color.
129
- * @public
130
- * @param {Vec3} rgb - Specular color.
131
- * @returns {LightSource}
132
- */
133
- public setSpecular3v(rgb: Vec3): LightSource;
134
- /**
135
- * Set ambient color.
136
- * @public
137
- * @param {Vec3} rgb - Ambient color.
138
- * @returns {LightSource}
139
- */
140
- public setAmbient(r: any, g: any, b: any): LightSource;
141
- /**
142
- * Set diffuse color.
143
- * @public
144
- * @returns {LightSource}
145
- */
146
- public setDiffuse(r: any, g: any, b: any): LightSource;
147
- /**
148
- * Set specular color.
149
- * @public
150
- * @returns {LightSource}
151
- */
152
- public setSpecular(r: any, g: any, b: any): LightSource;
153
- /**
154
- * Set material shininess.
155
- * @public
156
- * @returns {LightSource}
157
- */
158
- public setShininess(shininess: any): LightSource;
159
- /**
160
- * Sets light to black.
161
- * @public
162
- * @returns {LightSource}
163
- */
164
- public setBlack(): LightSource;
165
- /**
166
- * Adds current light to the render node scene.
167
- * @public
168
- * @param {RenderNode} renderNode - Render node scene.
169
- * @returns {LightSource}
170
- */
171
- public addTo(renderNode: any): LightSource;
172
- /**
173
- * Removes from render node scene.
174
- * @public
175
- */
176
- public remove(): void;
177
- }
178
- import { Vec3 } from "../math/Vec3.js";
@@ -1,11 +0,0 @@
1
- export class Line2 {
2
- static get(p0: any, p1: any): Line2;
3
- static getParallel(l: any, p: any): Line2;
4
- static getIntersection(L0: any, L1: any): Vec2;
5
- constructor(a: any, b: any, c: any);
6
- a: any;
7
- b: any;
8
- c: any;
9
- intersects(l: any): Vec2;
10
- }
11
- import { Vec2 } from "./Vec2.js";
@@ -1,10 +0,0 @@
1
- export class Line3 {
2
- constructor(p0: any, p1: any);
3
- p0: any;
4
- p1: any;
5
- getMagnitude(): any;
6
- getSphereIntersection(sphere: any): Vec3 | Vec3[];
7
- intersects(line: any, res: any, res2: any): boolean;
8
- getNearestDistancePoint(point: any, res: any): boolean;
9
- }
10
- import { Vec3 } from "./Vec3.js";
@@ -1,65 +0,0 @@
1
- /**
2
- * Mat3 factory.
3
- * @static
4
- * @return {Mat3}
5
- */
6
- export function mat3(): Mat3;
7
- /**
8
- * Class represents a 3x3 matrix.
9
- * @class
10
- */
11
- export class Mat3 {
12
- /**
13
- * A 3x3 matrix, indexable as a column-major order array.
14
- * @public
15
- * @type {Array.<number>}
16
- */
17
- public _m: Array<number>;
18
- /**
19
- * Sets column-major order array matrix.
20
- * @public
21
- * @param {Array.<number>} m - Matrix array.
22
- * @returns {Mat3}
23
- */
24
- public set(m: Array<number>): Mat3;
25
- /**
26
- * Duplicates a Mat3 instance.
27
- * @public
28
- * @returns {Mat3}
29
- */
30
- public clone(): Mat3;
31
- /**
32
- * Copy matrix.
33
- * @public
34
- * @param {Mat3} a - Matrix to copy.
35
- * @returns {Mat3}
36
- */
37
- public copy(a: Mat3): Mat3;
38
- /**
39
- * Creates trasposed matrix from the current.
40
- * @public
41
- * @returns {Mat3}
42
- */
43
- public transposeTo(): Mat3;
44
- /**
45
- * Sets matrix to identity.
46
- * @public
47
- * @returns {Mat3}
48
- */
49
- public setIdentity(): Mat3;
50
- /**
51
- * Multiply to 3d vector.
52
- * @public
53
- * @params {Vec3} p - 3d vector.
54
- * @returns {Vec3}
55
- */
56
- public mulVec(p: any): Vec3;
57
- /**
58
- * Converts to 4x4 matrix.
59
- * @public
60
- * @returns {Mat4}
61
- */
62
- public toMatrix4(): Mat4;
63
- }
64
- import { Vec3 } from "./Vec3.js";
65
- import { Mat4 } from "./Mat4.js";
@@ -1,176 +0,0 @@
1
- /**
2
- * Mat4 factory.
3
- * @static
4
- * @returns {Mat4} -
5
- */
6
- export function mat4(): Mat4;
7
- /**
8
- * Class represents a 4x4 matrix.
9
- * @class
10
- */
11
- export class Mat4 {
12
- /**
13
- * Returns identity matrix instance.
14
- * @static
15
- * @returns {Mat4} -
16
- */
17
- static identity(): Mat4;
18
- /**
19
- * A 4x4 matrix, indexable as a column-major order array.
20
- * @public
21
- * @type {Array.<number>}
22
- */
23
- public _m: Array<number>;
24
- /**
25
- * Sets column-major order array matrix.
26
- * @public
27
- * @param {Array.<number>} m - Matrix array.
28
- * @returns {Mat4} -
29
- */
30
- public set(m: Array<number>): Mat4;
31
- /**
32
- * Duplicates a Matrix3 instance.
33
- * @public
34
- * @returns {Mat4} -
35
- */
36
- public clone(): Mat4;
37
- /**
38
- * Copy matrix.
39
- * @public
40
- * @param {Mat3} a - Matrix to copy.
41
- */
42
- public copy(a: Mat3): void;
43
- /**
44
- * Converts to 3x3 matrix.
45
- * @public
46
- * @returns {Mat3} -
47
- */
48
- public toMatrix3(): Mat3;
49
- /**
50
- * Multiply to 3d vector.
51
- * @public
52
- * @param {Vec3} p - 3d vector.
53
- * @returns {Vec3} -
54
- */
55
- public mulVec3(p: Vec3): Vec3;
56
- /**
57
- * Multiply to 4d vector.
58
- * @public
59
- * @param {Vec4} p - 4d vector.
60
- * @returns {Vec4} -
61
- */
62
- public mulVec4(p: Vec4): Vec4;
63
- /**
64
- * Creates an inversed 3x3 matrix of the current.
65
- * @public
66
- * @returns {Mat3} -
67
- */
68
- public toInverseMatrix3(): Mat3;
69
- /**
70
- * Creates an inversed matrix of the current.
71
- * @public
72
- * @returns {Mat4} -
73
- */
74
- public inverseTo(res: any): Mat4;
75
- /**
76
- * Creates a trasposed matrix of the current.
77
- * @public
78
- * @returns {Mat4} -
79
- */
80
- public transposeTo(): Mat4;
81
- /**
82
- * Sets matrix to identity.
83
- * @public
84
- * @returns {Mat4} -
85
- */
86
- public setIdentity(): Mat4;
87
- /**
88
- * Computes the product of two matrices.
89
- * @public
90
- * @param {Mat4} mx - Matrix to multiply.
91
- * @returns {Mat4} -
92
- */
93
- public mul(mx: Mat4): Mat4;
94
- /**
95
- * Add translation vector to the current matrix.
96
- * @public
97
- * @param {Vec3} v - Translate vector.
98
- * @returns {Mat4} -
99
- */
100
- public translate(v: Vec3): Mat4;
101
- /**
102
- * Sets translation matrix to the position.
103
- * @public
104
- * @param {Vec3} v - Translate to position.
105
- * @returns {Mat4} -
106
- */
107
- public translateToPosition(v: Vec3): Mat4;
108
- /**
109
- * Rotate currrent matrix around the aligned axis and angle.
110
- * @public
111
- * @param {Vec3} u - Aligned axis.
112
- * @param {number} angle - Aligned axis angle in radians.
113
- * @returns {Mat4} -
114
- * @todo: OPTIMIZE: reveal multiplication
115
- */
116
- public rotate(u: Vec3, angle: number): Mat4;
117
- /**
118
- * Sets current rotation matrix around the aligned axis and angle.
119
- * @public
120
- * @param {Vec3} u - Aligned axis.
121
- * @param {number} angle - Aligned axis angle in radians.
122
- * @returns {Mat4} -
123
- */
124
- public setRotation(u: Vec3, angle: number): Mat4;
125
- /**
126
- * Gets the rotation matrix from one vector to another.
127
- * @public
128
- * @param {Vec3} a - Firtst vector.
129
- * @param {Vec3} b - Second vector.
130
- * @returns {Mat4} -
131
- */
132
- public rotateBetweenVectors(a: Vec3, b: Vec3): Mat4;
133
- /**
134
- * Scale current matrix to the vector values.
135
- * @public
136
- * @param {Vec3} v - Scale vector.
137
- * @returns {Mat4} -
138
- */
139
- public scale(v: Vec3): Mat4;
140
- /**
141
- * Sets perspective projection matrix frustum values.
142
- * @public
143
- * @param {number} left -
144
- * @param {number} right -
145
- * @param {number} bottom -
146
- * @param {number} top -
147
- * @param {number} near -
148
- * @param {number} far -
149
- * @returns {Mat4} -
150
- */
151
- public setPerspective(left: number, right: number, bottom: number, top: number, near: number, far: number): Mat4;
152
- /**
153
- * Creates current orthographic projection matrix.
154
- * @public
155
- * @param {number} left -
156
- * @param {number} right -
157
- * @param {number} bottom -
158
- * @param {number} top -
159
- * @param {number} near -
160
- * @param {number} far -
161
- * @return {Mat4} -
162
- */
163
- public setOrtho(left: number, right: number, bottom: number, top: number, near: number, far: number): Mat4;
164
- /**
165
- * Sets current rotation matrix by euler's angles.
166
- * @public
167
- * @param {number} ax - Rotation angle in radians arond X axis.
168
- * @param {number} ay - Rotation angle in radians arond Y axis.
169
- * @param {number} az - Rotation angle in radians arond Z axis.
170
- * @returns {Mat4} -
171
- */
172
- public eulerToMatrix(ax: number, ay: number, az: number): Mat4;
173
- }
174
- import { Mat3 } from "./Mat3.js";
175
- import { Vec3 } from "./Vec3.js";
176
- import { Vec4 } from "./Vec4.js";
@@ -1,18 +0,0 @@
1
- /**
2
- * Plane class.
3
- * @constructor
4
- * @param {Vec3} [p] - Plane point.
5
- * @param {Vec3} [n] - Planet normal.
6
- */
7
- export class Plane {
8
- constructor(p: any, n: any);
9
- p: any;
10
- n: any;
11
- set(p: any, n: any): void;
12
- getNormal(): any;
13
- distance(p: any): any;
14
- getProjection(v: any, def: any): Vec3;
15
- getProjectionPoint(p: any, vh: any): any;
16
- getIntersection(Pn1: any, Pn2: any, L: any): 1 | 0 | 2;
17
- }
18
- import { Vec3 } from "./Vec3.js";