@openglobus/og 0.11.5 → 0.12.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 (267) hide show
  1. package/css/og.css +5 -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 +25 -10
  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/Camera.js +70 -79
  18. package/src/og/camera/Frustum.js +19 -12
  19. package/src/og/camera/PlanetCamera.js +33 -34
  20. package/src/og/control/CompassButton.js +1 -2
  21. package/src/og/control/Control.js +7 -9
  22. package/src/og/control/DebugInfo.js +2 -3
  23. package/src/og/control/EarthNavigation.js +26 -17
  24. package/src/og/control/KeyboardNavigation.js +9 -9
  25. package/src/og/control/LayerSwitcher.js +21 -20
  26. package/src/og/control/Lighting.js +74 -64
  27. package/src/og/control/MouseNavigation.js +30 -29
  28. package/src/og/control/MouseWheelZoomControl.js +257 -0
  29. package/src/og/control/SegmentBoundVisualization.js +5 -6
  30. package/src/og/control/ShowFps.js +12 -7
  31. package/src/og/control/SimpleNavigation.js +5 -7
  32. package/src/og/control/Sun.js +24 -14
  33. package/src/og/control/ToggleWireframe.js +3 -3
  34. package/src/og/control/TouchNavigation.js +43 -32
  35. package/src/og/control/ZoomControl.js +40 -24
  36. package/src/og/control/index.js +2 -0
  37. package/src/og/control/visibleExtent/Segment.js +1862 -0
  38. package/src/og/control/visibleExtent/VisibleExtent.js +80 -0
  39. package/src/og/control/visibleExtent/drawnode.js +751 -0
  40. package/src/og/ellipsoid/Ellipsoid.js +149 -57
  41. package/src/og/ellipsoid/wgs84.js +3 -3
  42. package/src/og/entity/BaseBillboard.js +72 -30
  43. package/src/og/entity/Billboard.js +9 -5
  44. package/src/og/entity/BillboardHandler.js +315 -62
  45. package/src/og/entity/Entity.js +742 -704
  46. package/src/og/entity/EntityCollection.js +47 -24
  47. package/src/og/entity/GeoObject.js +228 -0
  48. package/src/og/entity/GeoObjectHandler.js +895 -0
  49. package/src/og/entity/GeometryHandler.js +595 -123
  50. package/src/og/entity/Label.js +62 -30
  51. package/src/og/entity/LabelHandler.js +42 -243
  52. package/src/og/entity/LabelWorker.js +218 -0
  53. package/src/og/entity/Object3d.js +504 -0
  54. package/src/og/entity/PointCloud.js +76 -28
  55. package/src/og/entity/PointCloudHandler.js +5 -5
  56. package/src/og/entity/Ray.js +49 -16
  57. package/src/og/entity/Strip.js +72 -43
  58. package/src/og/entity/StripHandler.js +23 -23
  59. package/src/og/layer/BaseGeoImage.js +50 -19
  60. package/src/og/layer/CanvasTiles.js +16 -17
  61. package/src/og/layer/GeoImage.js +8 -16
  62. package/src/og/layer/GeoTexture2d.js +2 -10
  63. package/src/og/layer/GeoVideo.js +2 -10
  64. package/src/og/layer/KML.js +55 -33
  65. package/src/og/layer/Layer.js +24 -33
  66. package/src/og/layer/Material.js +1 -1
  67. package/src/og/layer/Vector.js +94 -48
  68. package/src/og/layer/WMS.js +33 -18
  69. package/src/og/layer/XYZ.js +24 -26
  70. package/src/og/light/LightSource.js +19 -12
  71. package/src/og/math/Mat3.js +24 -12
  72. package/src/og/math/Mat4.js +603 -603
  73. package/src/og/math/Plane.js +19 -18
  74. package/src/og/math/Ray.js +17 -12
  75. package/src/og/math/Vec2.js +24 -14
  76. package/src/og/math/Vec3.js +78 -32
  77. package/src/og/math/coder.js +7 -7
  78. package/src/og/proj/EPSG3857.js +3 -3
  79. package/src/og/proj/EPSG4326.js +3 -3
  80. package/src/og/proj/Proj.js +2 -4
  81. package/src/og/quadTree/Node.js +50 -95
  82. package/src/og/quadTree/quadTree.js +1 -1
  83. package/src/og/renderer/Renderer.js +106 -126
  84. package/src/og/renderer/RendererEvents.js +45 -23
  85. package/src/og/scene/BaseNode.js +2 -3
  86. package/src/og/scene/Planet.js +139 -191
  87. package/src/og/scene/RenderNode.js +15 -8
  88. package/src/og/segment/Segment.js +93 -268
  89. package/src/og/segment/Slice.js +45 -0
  90. package/src/og/shaders/drawnode.js +174 -360
  91. package/src/og/shaders/geoObject.js +211 -0
  92. package/src/og/shaders/pointCloud.js +41 -41
  93. package/src/og/shaders/shape.js +12 -18
  94. package/src/og/shaders/skybox.js +36 -36
  95. package/src/og/shaders/toneMapping.js +1 -0
  96. package/src/og/shapes/BaseShape.js +108 -36
  97. package/src/og/shapes/Icosphere.js +25 -10
  98. package/src/og/shapes/Sphere.js +8 -11
  99. package/src/og/terrain/EmptyTerrain.js +3 -2
  100. package/src/og/terrain/GlobusTerrain.js +2 -0
  101. package/src/og/utils/FontAtlas.js +6 -2
  102. package/src/og/utils/GeoImageCreator.js +5 -1
  103. package/src/og/utils/Loader.js +1 -1
  104. package/src/og/utils/PlainSegmentWorker.js +0 -13
  105. package/src/og/utils/TextureAtlas.js +18 -20
  106. package/src/og/utils/VectorTileCreator.js +1 -3
  107. package/src/og/utils/shared.js +2 -2
  108. package/src/og/webgl/Handler.js +219 -162
  109. package/src/og/webgl/Multisample.js +44 -16
  110. package/src/og/webgl/Program.js +78 -33
  111. package/src/og/webgl/callbacks.js +3 -3
  112. package/types/Clock.d.ts +0 -94
  113. package/types/Deferred.d.ts +0 -6
  114. package/types/Events.d.ts +0 -77
  115. package/types/Extent.d.ts +0 -166
  116. package/types/Globe.d.ts +0 -82
  117. package/types/ImageCanvas.d.ts +0 -123
  118. package/types/Lock.d.ts +0 -12
  119. package/types/LonLat.d.ts +0 -108
  120. package/types/Popup.d.ts +0 -42
  121. package/types/QueueArray.d.ts +0 -19
  122. package/types/Rectangle.d.ts +0 -80
  123. package/types/Stack.d.ts +0 -19
  124. package/types/ajax.d.ts +0 -24
  125. package/types/arial.d.ts +0 -48
  126. package/types/astro/astro.d.ts +0 -38
  127. package/types/astro/earth.d.ts +0 -7
  128. package/types/astro/jd.d.ts +0 -254
  129. package/types/bv/Box.d.ts +0 -30
  130. package/types/bv/Sphere.d.ts +0 -38
  131. package/types/bv/index.d.ts +0 -3
  132. package/types/camera/Camera.d.ts +0 -312
  133. package/types/camera/Frustum.d.ts +0 -133
  134. package/types/camera/PlanetCamera.d.ts +0 -218
  135. package/types/camera/index.d.ts +0 -3
  136. package/types/cons.d.ts +0 -40
  137. package/types/control/CompassButton.d.ts +0 -17
  138. package/types/control/Control.d.ts +0 -104
  139. package/types/control/DebugInfo.d.ts +0 -15
  140. package/types/control/EarthCoordinates.d.ts +0 -47
  141. package/types/control/EarthNavigation.d.ts +0 -42
  142. package/types/control/GeoImageDragControl.d.ts +0 -6
  143. package/types/control/KeyboardNavigation.d.ts +0 -21
  144. package/types/control/LayerSwitcher.d.ts +0 -21
  145. package/types/control/Lighting.d.ts +0 -16
  146. package/types/control/MouseNavigation.d.ts +0 -47
  147. package/types/control/ScaleControl.d.ts +0 -22
  148. package/types/control/ShowFps.d.ts +0 -11
  149. package/types/control/SimpleNavigation.d.ts +0 -25
  150. package/types/control/Sun.d.ts +0 -50
  151. package/types/control/ToggleWireframe.d.ts +0 -12
  152. package/types/control/TouchNavigation.d.ts +0 -48
  153. package/types/control/ZoomControl.d.ts +0 -27
  154. package/types/control/index.d.ts +0 -17
  155. package/types/ellipsoid/Ellipsoid.d.ts +0 -146
  156. package/types/ellipsoid/index.d.ts +0 -3
  157. package/types/ellipsoid/wgs84.d.ts +0 -6
  158. package/types/entity/BaseBillboard.d.ts +0 -208
  159. package/types/entity/Billboard.d.ts +0 -94
  160. package/types/entity/BillboardHandler.d.ts +0 -78
  161. package/types/entity/Entity.d.ts +0 -333
  162. package/types/entity/EntityCollection.d.ts +0 -311
  163. package/types/entity/Geometry.d.ts +0 -74
  164. package/types/entity/GeometryHandler.d.ts +0 -76
  165. package/types/entity/Label.d.ts +0 -189
  166. package/types/entity/LabelHandler.d.ts +0 -29
  167. package/types/entity/PointCloud.d.ts +0 -174
  168. package/types/entity/PointCloudHandler.d.ts +0 -38
  169. package/types/entity/Polyline.d.ts +0 -306
  170. package/types/entity/PolylineHandler.d.ts +0 -18
  171. package/types/entity/Ray.d.ts +0 -124
  172. package/types/entity/RayHandler.d.ts +0 -67
  173. package/types/entity/ShapeHandler.d.ts +0 -22
  174. package/types/entity/Strip.d.ts +0 -119
  175. package/types/entity/StripHandler.d.ts +0 -38
  176. package/types/entity/index.d.ts +0 -8
  177. package/types/index.core.d.ts +0 -65
  178. package/types/index.d.ts +0 -45
  179. package/types/index.webgl.d.ts +0 -7
  180. package/types/input/KeyboardHandler.d.ts +0 -10
  181. package/types/input/MouseHandler.d.ts +0 -5
  182. package/types/input/TouchHandler.d.ts +0 -5
  183. package/types/input/input.d.ts +0 -34
  184. package/types/layer/BaseGeoImage.d.ts +0 -94
  185. package/types/layer/CanvasTiles.d.ts +0 -68
  186. package/types/layer/GeoImage.d.ts +0 -52
  187. package/types/layer/GeoTexture2d.d.ts +0 -8
  188. package/types/layer/GeoVideo.d.ts +0 -55
  189. package/types/layer/KML.d.ts +0 -63
  190. package/types/layer/Layer.d.ts +0 -326
  191. package/types/layer/Material.d.ts +0 -45
  192. package/types/layer/Vector.d.ts +0 -208
  193. package/types/layer/WMS.d.ts +0 -63
  194. package/types/layer/XYZ.d.ts +0 -120
  195. package/types/layer/index.d.ts +0 -10
  196. package/types/light/LightSource.d.ts +0 -178
  197. package/types/math/Line2.d.ts +0 -11
  198. package/types/math/Line3.d.ts +0 -10
  199. package/types/math/Mat3.d.ts +0 -65
  200. package/types/math/Mat4.d.ts +0 -176
  201. package/types/math/Plane.d.ts +0 -18
  202. package/types/math/Quat.d.ts +0 -379
  203. package/types/math/Ray.d.ts +0 -82
  204. package/types/math/Vec2.d.ts +0 -309
  205. package/types/math/Vec3.d.ts +0 -460
  206. package/types/math/Vec4.d.ts +0 -162
  207. package/types/math/coder.d.ts +0 -43
  208. package/types/math/index.d.ts +0 -11
  209. package/types/math.d.ts +0 -261
  210. package/types/mercator.d.ts +0 -92
  211. package/types/proj/EPSG3857.d.ts +0 -6
  212. package/types/proj/EPSG4326.d.ts +0 -6
  213. package/types/proj/Proj.d.ts +0 -42
  214. package/types/quadTree/EntityCollectionNode.d.ts +0 -34
  215. package/types/quadTree/Node.d.ts +0 -61
  216. package/types/quadTree/quadTree.d.ts +0 -40
  217. package/types/renderer/Renderer.d.ts +0 -298
  218. package/types/renderer/RendererEvents.d.ts +0 -233
  219. package/types/res/images.d.ts +0 -3
  220. package/types/scene/Axes.d.ts +0 -11
  221. package/types/scene/BaseNode.d.ts +0 -60
  222. package/types/scene/Planet.d.ts +0 -577
  223. package/types/scene/RenderNode.d.ts +0 -142
  224. package/types/scene/SkyBox.d.ts +0 -10
  225. package/types/scene/index.d.ts +0 -4
  226. package/types/segment/Segment.d.ts +0 -279
  227. package/types/segment/SegmentLonLat.d.ts +0 -16
  228. package/types/segment/segmentHelper.d.ts +0 -13
  229. package/types/shaders/billboard.d.ts +0 -3
  230. package/types/shaders/depth.d.ts +0 -2
  231. package/types/shaders/drawnode.d.ts +0 -7
  232. package/types/shaders/label.d.ts +0 -4
  233. package/types/shaders/pointCloud.d.ts +0 -2
  234. package/types/shaders/polyline.d.ts +0 -3
  235. package/types/shaders/ray.d.ts +0 -2
  236. package/types/shaders/screenFrame.d.ts +0 -2
  237. package/types/shaders/shape.d.ts +0 -4
  238. package/types/shaders/skybox.d.ts +0 -2
  239. package/types/shaders/toneMapping.d.ts +0 -2
  240. package/types/shapes/BaseShape.d.ts +0 -250
  241. package/types/shapes/Sphere.d.ts +0 -41
  242. package/types/terrain/BilTerrain.d.ts +0 -7
  243. package/types/terrain/EmptyTerrain.d.ts +0 -72
  244. package/types/terrain/Geoid.d.ts +0 -26
  245. package/types/terrain/GlobusTerrain.d.ts +0 -116
  246. package/types/terrain/MapboxTerrain.d.ts +0 -7
  247. package/types/terrain/index.d.ts +0 -5
  248. package/types/utils/FontAtlas.d.ts +0 -14
  249. package/types/utils/GeoImageCreator.d.ts +0 -30
  250. package/types/utils/ImagesCacheManager.d.ts +0 -10
  251. package/types/utils/Loader.d.ts +0 -25
  252. package/types/utils/NormalMapCreator.d.ts +0 -39
  253. package/types/utils/PlainSegmentWorker.d.ts +0 -10
  254. package/types/utils/TerrainWorker.d.ts +0 -9
  255. package/types/utils/TextureAtlas.d.ts +0 -111
  256. package/types/utils/VectorTileCreator.d.ts +0 -16
  257. package/types/utils/colorTable.d.ts +0 -143
  258. package/types/utils/earcut.d.ts +0 -6
  259. package/types/utils/shared.d.ts +0 -231
  260. package/types/webgl/Framebuffer.d.ts +0 -135
  261. package/types/webgl/Handler.d.ts +0 -388
  262. package/types/webgl/Multisample.d.ts +0 -89
  263. package/types/webgl/Program.d.ts +0 -155
  264. package/types/webgl/ProgramController.d.ts +0 -89
  265. package/types/webgl/callbacks.d.ts +0 -1
  266. package/types/webgl/index.d.ts +0 -6
  267. 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";