@openglobus/og 0.18.0 → 0.18.1

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 (476) hide show
  1. package/README.md +8 -8
  2. package/lib/@openglobus/og.esm.js +2 -0
  3. package/lib/@openglobus/og.esm.js.map +1 -0
  4. package/lib/@openglobus/og.umd.js +2 -0
  5. package/lib/@openglobus/og.umd.js.map +1 -0
  6. package/lib/js/Clock.d.ts +106 -0
  7. package/{src/Clock.ts → lib/js/Clock.js} +31 -126
  8. package/lib/js/Deferred.d.ts +6 -0
  9. package/lib/js/Deferred.js +13 -0
  10. package/lib/js/Events.d.ts +90 -0
  11. package/{src/Events.ts → lib/js/Events.js} +29 -84
  12. package/lib/js/Extent.d.ts +145 -0
  13. package/{src/Extent.ts → lib/js/Extent.js} +74 -120
  14. package/lib/js/Globe.d.ts +132 -0
  15. package/{src/Globe.ts → lib/js/Globe.js} +61 -159
  16. package/lib/js/ImageCanvas.d.ts +128 -0
  17. package/{src/ImageCanvas.ts → lib/js/ImageCanvas.js} +24 -65
  18. package/lib/js/Lock.d.ts +15 -0
  19. package/{src/Lock.ts → lib/js/Lock.js} +7 -21
  20. package/lib/js/LonLat.d.ts +128 -0
  21. package/{src/LonLat.ts → lib/js/LonLat.js} +44 -75
  22. package/lib/js/Object3d.d.ts +49 -0
  23. package/{src/Object3d.ts → lib/js/Object3d.js} +64 -184
  24. package/lib/js/Popup.d.ts +46 -0
  25. package/{src/Popup.ts → lib/js/Popup.js} +42 -110
  26. package/lib/js/QueueArray.d.ts +16 -0
  27. package/{src/QueueArray.ts → lib/js/QueueArray.js} +12 -25
  28. package/lib/js/Rectangle.d.ts +76 -0
  29. package/{src/Rectangle.ts → lib/js/Rectangle.js} +12 -50
  30. package/lib/js/Stack.d.ts +20 -0
  31. package/{src/Stack.ts → lib/js/Stack.js} +13 -29
  32. package/lib/js/astro/astro.d.ts +39 -0
  33. package/{src/astro/astro.ts → lib/js/astro/astro.js} +2 -8
  34. package/lib/js/astro/earth.d.ts +8 -0
  35. package/{src/astro/earth.ts → lib/js/astro/earth.js} +3 -39
  36. package/lib/js/astro/jd.d.ts +234 -0
  37. package/{src/astro/jd.ts → lib/js/astro/jd.js} +55 -134
  38. package/lib/js/astro/orbit.d.ts +5 -0
  39. package/{src/astro/orbit.ts → lib/js/astro/orbit.js} +26 -39
  40. package/lib/js/astro/rotation.d.ts +2 -0
  41. package/{src/astro/rotation.ts → lib/js/astro/rotation.js} +2 -11
  42. package/lib/js/bv/Box.d.ts +32 -0
  43. package/{src/bv/Box.ts → lib/js/bv/Box.js} +7 -35
  44. package/lib/js/bv/Sphere.d.ts +37 -0
  45. package/{src/bv/Sphere.ts → lib/js/bv/Sphere.js} +6 -34
  46. package/{src/bv/index.ts → lib/js/bv/index.d.ts} +0 -1
  47. package/lib/js/bv/index.js +3 -0
  48. package/lib/js/camera/Camera.d.ts +314 -0
  49. package/{src/camera/Camera.ts → lib/js/camera/Camera.js} +77 -326
  50. package/lib/js/camera/Frustum.d.ts +139 -0
  51. package/{src/camera/Frustum.ts → lib/js/camera/Frustum.js} +66 -185
  52. package/lib/js/camera/PlanetCamera.d.ts +234 -0
  53. package/{src/camera/PlanetCamera.ts → lib/js/camera/PlanetCamera.js} +65 -338
  54. package/{src/camera/index.ts → lib/js/camera/index.d.ts} +0 -1
  55. package/lib/js/camera/index.js +3 -0
  56. package/lib/js/cons.d.ts +40 -0
  57. package/{src/cons.ts → lib/js/cons.js} +10 -22
  58. package/lib/js/control/Atmosphere.d.ts +16 -0
  59. package/{src/control/Atmosphere.ts → lib/js/control/Atmosphere.js} +33 -86
  60. package/lib/js/control/CompassButton.d.ts +16 -0
  61. package/{src/control/CompassButton.ts → lib/js/control/CompassButton.js} +18 -43
  62. package/lib/js/control/Control.d.ts +100 -0
  63. package/{src/control/Control.ts → lib/js/control/Control.js} +22 -89
  64. package/lib/js/control/DebugInfo.d.ts +25 -0
  65. package/{src/control/DebugInfo.ts → lib/js/control/DebugInfo.js} +38 -84
  66. package/lib/js/control/DrawingSwitcher.d.ts +13 -0
  67. package/{src/control/DrawingSwitcher.ts → lib/js/control/DrawingSwitcher.js} +13 -30
  68. package/lib/js/control/EarthCoordinates.d.ts +41 -0
  69. package/{src/control/EarthCoordinates.ts → lib/js/control/EarthCoordinates.js} +58 -119
  70. package/lib/js/control/EarthNavigation.d.ts +50 -0
  71. package/{src/control/EarthNavigation.ts → lib/js/control/EarthNavigation.js} +70 -161
  72. package/lib/js/control/GeoImageDragControl.d.ts +22 -0
  73. package/{src/control/GeoImageDragControl.ts → lib/js/control/GeoImageDragControl.js} +26 -49
  74. package/lib/js/control/KeyboardNavigation.d.ts +28 -0
  75. package/{src/control/KeyboardNavigation.ts → lib/js/control/KeyboardNavigation.js} +67 -92
  76. package/lib/js/control/LayerAnimation.d.ts +71 -0
  77. package/{src/control/LayerAnimation.ts → lib/js/control/LayerAnimation.js} +82 -162
  78. package/lib/js/control/LayerSwitcher.d.ts +21 -0
  79. package/{src/control/LayerSwitcher.ts → lib/js/control/LayerSwitcher.js} +16 -41
  80. package/lib/js/control/Lighting.d.ts +49 -0
  81. package/{src/control/Lighting.ts → lib/js/control/Lighting.js} +106 -219
  82. package/lib/js/control/MouseNavigation.d.ts +62 -0
  83. package/{src/control/MouseNavigation.ts → lib/js/control/MouseNavigation.js} +105 -211
  84. package/lib/js/control/MouseWheelZoomControl.d.ts +44 -0
  85. package/lib/js/control/MouseWheelZoomControl.js +181 -0
  86. package/lib/js/control/RulerSwitcher.d.ts +17 -0
  87. package/{src/control/RulerSwitcher.ts → lib/js/control/RulerSwitcher.js} +13 -28
  88. package/lib/js/control/ScaleControl.d.ts +24 -0
  89. package/lib/js/control/ScaleControl.js +91 -0
  90. package/lib/js/control/SegmentBoundVisualization.d.ts +12 -0
  91. package/lib/js/control/SegmentBoundVisualization.js +37 -0
  92. package/lib/js/control/ShowFps.d.ts +9 -0
  93. package/lib/js/control/ShowFps.js +20 -0
  94. package/lib/js/control/SimpleNavigation.d.ts +25 -0
  95. package/{src/control/SimpleNavigation.ts → lib/js/control/SimpleNavigation.js} +29 -51
  96. package/lib/js/control/SimpleSkyBackground.d.ts +15 -0
  97. package/{src/control/SimpleSkyBackground.ts → lib/js/control/SimpleSkyBackground.js} +21 -48
  98. package/lib/js/control/Sun.d.ts +33 -0
  99. package/{src/control/Sun.ts → lib/js/control/Sun.js} +34 -85
  100. package/lib/js/control/ToggleWireframe.d.ts +14 -0
  101. package/lib/js/control/ToggleWireframe.js +28 -0
  102. package/lib/js/control/TouchNavigation.d.ts +52 -0
  103. package/{src/control/TouchNavigation.ts → lib/js/control/TouchNavigation.js} +88 -193
  104. package/lib/js/control/ZoomControl.d.ts +27 -0
  105. package/{src/control/ZoomControl.ts → lib/js/control/ZoomControl.js} +25 -50
  106. package/lib/js/control/drawing/DrawingControl.d.ts +12 -0
  107. package/{src/control/drawing/DrawingControl.ts → lib/js/control/drawing/DrawingControl.js} +10 -20
  108. package/lib/js/control/drawing/LineStringDrawingScene.d.ts +15 -0
  109. package/{src/control/drawing/LineStringDrawingScene.ts → lib/js/control/drawing/LineStringDrawingScene.js} +28 -85
  110. package/lib/js/control/drawing/PolygonDrawingScene.d.ts +98 -0
  111. package/{src/control/drawing/PolygonDrawingScene.ts → lib/js/control/drawing/PolygonDrawingScene.js} +190 -388
  112. package/lib/js/control/elevationProfile/ElevationProfile.d.ts +61 -0
  113. package/{src/control/elevationProfile/ElevationProfile.ts → lib/js/control/elevationProfile/ElevationProfile.js} +56 -148
  114. package/lib/js/control/heightRuler/HeightRuler.d.ts +7 -0
  115. package/{src/control/heightRuler/HeightRuler.ts → lib/js/control/heightRuler/HeightRuler.js} +4 -9
  116. package/lib/js/control/heightRuler/HeightRulerScene.d.ts +35 -0
  117. package/{src/control/heightRuler/HeightRulerScene.ts → lib/js/control/heightRuler/HeightRulerScene.js} +47 -99
  118. package/lib/js/control/heightRuler/HeightRulerSwitcher.d.ts +6 -0
  119. package/{src/control/heightRuler/HeightRulerSwitcher.ts → lib/js/control/heightRuler/HeightRulerSwitcher.js} +2 -4
  120. package/{src/control/index.ts → lib/js/control/index.d.ts} +1 -18
  121. package/lib/js/control/index.js +28 -0
  122. package/lib/js/control/ruler/Ruler.d.ts +13 -0
  123. package/lib/js/control/ruler/Ruler.js +23 -0
  124. package/lib/js/control/ruler/RulerScene.d.ts +88 -0
  125. package/lib/js/control/ruler/RulerScene.js +324 -0
  126. package/lib/js/control/selection/Selection.d.ts +55 -0
  127. package/{src/control/selection/Selection.ts → lib/js/control/selection/Selection.js} +15 -34
  128. package/lib/js/control/selection/SelectionScene.d.ts +44 -0
  129. package/{src/control/selection/SelectionScene.ts → lib/js/control/selection/SelectionScene.js} +26 -113
  130. package/lib/js/control/timeline/TimelineControl.d.ts +18 -0
  131. package/{src/control/timeline/TimelineControl.ts → lib/js/control/timeline/TimelineControl.js} +13 -43
  132. package/lib/js/control/timeline/TimelineModel.d.ts +41 -0
  133. package/{src/control/timeline/TimelineModel.ts → lib/js/control/timeline/TimelineModel.js} +26 -74
  134. package/lib/js/control/timeline/TimelineView.d.ts +85 -0
  135. package/{src/control/timeline/TimelineView.ts → lib/js/control/timeline/TimelineView.js} +133 -281
  136. package/lib/js/control/timeline/timelineUtils.d.ts +12 -0
  137. package/lib/js/control/timeline/timelineUtils.js +112 -0
  138. package/lib/js/control/visibleExtent/Segment.d.ts +277 -0
  139. package/{src → lib/js}/control/visibleExtent/Segment.js +145 -698
  140. package/lib/js/control/visibleExtent/VisibleExtent.d.ts +5 -0
  141. package/{src → lib/js}/control/visibleExtent/VisibleExtent.js +1 -18
  142. package/lib/js/control/visibleExtent/drawnode.d.ts +7 -0
  143. package/{src/control/visibleExtent/drawnode.ts → lib/js/control/visibleExtent/drawnode.js} +1 -28
  144. package/lib/js/ellipsoid/Ellipsoid.d.ts +187 -0
  145. package/{src/ellipsoid/Ellipsoid.ts → lib/js/ellipsoid/Ellipsoid.js} +82 -267
  146. package/lib/js/ellipsoid/index.d.ts +3 -0
  147. package/lib/js/ellipsoid/index.js +3 -0
  148. package/lib/js/ellipsoid/wgs84.d.ts +6 -0
  149. package/{src/ellipsoid/wgs84.ts → lib/js/ellipsoid/wgs84.js} +1 -2
  150. package/lib/js/entity/BaseBillboard.d.ts +222 -0
  151. package/{src/entity/BaseBillboard.ts → lib/js/entity/BaseBillboard.js} +48 -165
  152. package/lib/js/entity/BaseBillboardHandler.d.ts +81 -0
  153. package/{src/entity/BaseBillboardHandler.ts → lib/js/entity/BaseBillboardHandler.js} +139 -365
  154. package/lib/js/entity/Billboard.d.ts +113 -0
  155. package/{src/entity/Billboard.ts → lib/js/entity/Billboard.js} +19 -83
  156. package/lib/js/entity/BillboardHandler.d.ts +15 -0
  157. package/{src/entity/BillboardHandler.ts → lib/js/entity/BillboardHandler.js} +27 -59
  158. package/lib/js/entity/Entity.d.ts +354 -0
  159. package/{src/entity/Entity.ts → lib/js/entity/Entity.js} +101 -373
  160. package/lib/js/entity/EntityCollection.d.ts +364 -0
  161. package/{src/entity/EntityCollection.ts → lib/js/entity/EntityCollection.js} +51 -353
  162. package/lib/js/entity/GeoObject.d.ts +138 -0
  163. package/{src/entity/GeoObject.ts → lib/js/entity/GeoObject.js} +41 -146
  164. package/lib/js/entity/GeoObjectHandler.d.ts +99 -0
  165. package/{src/entity/GeoObjectHandler.ts → lib/js/entity/GeoObjectHandler.js} +162 -423
  166. package/lib/js/entity/Geometry.d.ts +111 -0
  167. package/lib/js/entity/Geometry.js +283 -0
  168. package/lib/js/entity/GeometryHandler.d.ts +84 -0
  169. package/{src/entity/GeometryHandler.ts → lib/js/entity/GeometryHandler.js} +162 -657
  170. package/lib/js/entity/Label.d.ts +207 -0
  171. package/{src/entity/Label.ts → lib/js/entity/Label.js} +62 -164
  172. package/lib/js/entity/LabelHandler.d.ts +65 -0
  173. package/{src/entity/LabelHandler.ts → lib/js/entity/LabelHandler.js} +175 -408
  174. package/lib/js/entity/LabelWorker.d.ts +15 -0
  175. package/{src/entity/LabelWorker.ts → lib/js/entity/LabelWorker.js} +24 -45
  176. package/lib/js/entity/PointCloud.d.ts +179 -0
  177. package/{src/entity/PointCloud.ts → lib/js/entity/PointCloud.js} +65 -265
  178. package/lib/js/entity/PointCloudHandler.d.ts +42 -0
  179. package/{src/entity/PointCloudHandler.ts → lib/js/entity/PointCloudHandler.js} +19 -62
  180. package/lib/js/entity/Polyline.d.ts +337 -0
  181. package/{src/entity/Polyline.ts → lib/js/entity/Polyline.js} +289 -924
  182. package/lib/js/entity/PolylineHandler.d.ts +22 -0
  183. package/{src/entity/PolylineHandler.ts → lib/js/entity/PolylineHandler.js} +12 -37
  184. package/lib/js/entity/Ray.d.ts +133 -0
  185. package/{src/entity/Ray.ts → lib/js/entity/Ray.js} +26 -146
  186. package/lib/js/entity/RayHandler.d.ts +70 -0
  187. package/{src/entity/RayHandler.ts → lib/js/entity/RayHandler.js} +102 -342
  188. package/lib/js/entity/Strip.d.ts +127 -0
  189. package/{src/entity/Strip.ts → lib/js/entity/Strip.js} +102 -372
  190. package/lib/js/entity/StripHandler.d.ts +42 -0
  191. package/{src/entity/StripHandler.ts → lib/js/entity/StripHandler.js} +22 -74
  192. package/{src/entity/index.ts → lib/js/entity/index.d.ts} +1 -2
  193. package/lib/js/entity/index.js +11 -0
  194. package/lib/js/index.d.ts +33 -0
  195. package/lib/js/index.js +33 -0
  196. package/lib/js/input/KeyboardHandler.d.ts +33 -0
  197. package/{src/input/KeyboardHandler.ts → lib/js/input/KeyboardHandler.js} +45 -84
  198. package/lib/js/input/MouseHandler.d.ts +16 -0
  199. package/{src/input/MouseHandler.ts → lib/js/input/MouseHandler.js} +12 -36
  200. package/lib/js/input/TouchHandler.d.ts +11 -0
  201. package/{src/input/TouchHandler.ts → lib/js/input/TouchHandler.js} +11 -23
  202. package/lib/js/input/input.d.ts +3 -0
  203. package/{src/input/input.ts → lib/js/input/input.js} +1 -1
  204. package/lib/js/layer/BaseGeoImage.d.ts +145 -0
  205. package/{src/layer/BaseGeoImage.ts → lib/js/layer/BaseGeoImage.js} +70 -235
  206. package/lib/js/layer/CanvasTiles.d.ts +103 -0
  207. package/{src/layer/CanvasTiles.ts → lib/js/layer/CanvasTiles.js} +54 -146
  208. package/lib/js/layer/GeoImage.d.ts +61 -0
  209. package/{src/layer/GeoImage.ts → lib/js/layer/GeoImage.js} +24 -54
  210. package/lib/js/layer/GeoTexture2d.d.ts +17 -0
  211. package/lib/js/layer/GeoTexture2d.js +37 -0
  212. package/lib/js/layer/GeoVideo.d.ts +68 -0
  213. package/{src/layer/GeoVideo.ts → lib/js/layer/GeoVideo.js} +31 -61
  214. package/lib/js/layer/KML.d.ts +72 -0
  215. package/{src/layer/KML.ts → lib/js/layer/KML.js} +94 -138
  216. package/lib/js/layer/Layer.d.ts +401 -0
  217. package/{src/layer/Layer.ts → lib/js/layer/Layer.js} +92 -443
  218. package/lib/js/layer/Material.d.ts +34 -0
  219. package/{src/layer/Material.ts → lib/js/layer/Material.js} +9 -43
  220. package/lib/js/layer/Vector.d.ts +244 -0
  221. package/{src/layer/Vector.ts → lib/js/layer/Vector.js} +147 -418
  222. package/lib/js/layer/WMS.d.ts +75 -0
  223. package/{src/layer/WMS.ts → lib/js/layer/WMS.js} +18 -100
  224. package/lib/js/layer/XYZ.d.ts +149 -0
  225. package/{src/layer/XYZ.ts → lib/js/layer/XYZ.js} +71 -171
  226. package/lib/js/layer/index.d.ts +11 -0
  227. package/lib/js/layer/index.js +11 -0
  228. package/lib/js/light/LightSource.d.ts +174 -0
  229. package/{src/light/LightSource.ts → lib/js/light/LightSource.js} +22 -131
  230. package/lib/js/math/Line2.d.ts +11 -0
  231. package/{src/math/Line2.ts → lib/js/math/Line2.js} +5 -15
  232. package/lib/js/math/Line3.d.ts +28 -0
  233. package/lib/js/math/Line3.js +85 -0
  234. package/lib/js/math/Mat3.d.ts +77 -0
  235. package/{src/math/Mat3.ts → lib/js/math/Mat3.js} +22 -51
  236. package/lib/js/math/Mat4.d.ts +195 -0
  237. package/{src/math/Mat4.ts → lib/js/math/Mat4.js} +53 -219
  238. package/lib/js/math/Plane.d.ts +20 -0
  239. package/{src/math/Plane.ts → lib/js/math/Plane.js} +26 -40
  240. package/lib/js/math/Quat.d.ts +373 -0
  241. package/{src/math/Quat.ts → lib/js/math/Quat.js} +106 -319
  242. package/lib/js/math/Ray.d.ts +76 -0
  243. package/{src/math/Ray.ts → lib/js/math/Ray.js} +21 -66
  244. package/lib/js/math/Vec2.d.ts +310 -0
  245. package/{src/math/Vec2.ts → lib/js/math/Vec2.js} +55 -121
  246. package/lib/js/math/Vec3.d.ts +472 -0
  247. package/{src/math/Vec3.ts → lib/js/math/Vec3.js} +103 -236
  248. package/lib/js/math/Vec4.d.ts +163 -0
  249. package/{src/math/Vec4.ts → lib/js/math/Vec4.js} +23 -79
  250. package/lib/js/math/coder.d.ts +51 -0
  251. package/{src/math/coder.ts → lib/js/math/coder.js} +14 -20
  252. package/lib/js/math/index.d.ts +11 -0
  253. package/lib/js/math/index.js +11 -0
  254. package/lib/js/math.d.ts +266 -0
  255. package/{src/math.ts → lib/js/math.js} +37 -85
  256. package/lib/js/mercator.d.ts +92 -0
  257. package/{src/mercator.ts → lib/js/mercator.js} +13 -37
  258. package/lib/js/proj/EPSG3857.d.ts +9 -0
  259. package/{src/proj/EPSG3857.ts → lib/js/proj/EPSG3857.js} +0 -2
  260. package/lib/js/proj/EPSG4326.d.ts +9 -0
  261. package/{src/proj/EPSG4326.ts → lib/js/proj/EPSG4326.js} +0 -2
  262. package/lib/js/proj/Proj.d.ts +43 -0
  263. package/{src/proj/Proj.ts → lib/js/proj/Proj.js} +4 -29
  264. package/lib/js/quadTree/EPSG4326QuadTreeStrategy.d.ts +6 -0
  265. package/lib/js/quadTree/EPSG4326QuadTreeStrategy.js +17 -0
  266. package/lib/js/quadTree/EarthQuadTreeStrategy.d.ts +6 -0
  267. package/lib/js/quadTree/EarthQuadTreeStrategy.js +19 -0
  268. package/lib/js/quadTree/EntityCollectionNode.d.ts +54 -0
  269. package/{src/quadTree/EntityCollectionNode.ts → lib/js/quadTree/EntityCollectionNode.js} +83 -150
  270. package/lib/js/quadTree/MarsQuadTreeStrategy.d.ts +6 -0
  271. package/lib/js/quadTree/MarsQuadTreeStrategy.js +17 -0
  272. package/lib/js/quadTree/Node.d.ts +61 -0
  273. package/{src/quadTree/Node.ts → lib/js/quadTree/Node.js} +140 -357
  274. package/lib/js/quadTree/QuadTreeStrategy.d.ts +25 -0
  275. package/{src/quadTree/QuadTreeStrategy.ts → lib/js/quadTree/QuadTreeStrategy.js} +13 -44
  276. package/lib/js/quadTree/Wgs84QuadTreeStrategy.d.ts +6 -0
  277. package/lib/js/quadTree/Wgs84QuadTreeStrategy.js +15 -0
  278. package/lib/js/quadTree/index.d.ts +12 -0
  279. package/lib/js/quadTree/index.js +12 -0
  280. package/lib/js/quadTree/quadTree.d.ts +40 -0
  281. package/{src/quadTree/quadTree.ts → lib/js/quadTree/quadTree.js} +0 -9
  282. package/lib/js/renderer/Renderer.d.ts +311 -0
  283. package/{src/renderer/Renderer.ts → lib/js/renderer/Renderer.js} +169 -611
  284. package/lib/js/renderer/RendererEvents.d.ts +237 -0
  285. package/{src/renderer/RendererEvents.ts → lib/js/renderer/RendererEvents.js} +134 -471
  286. package/lib/js/scene/Axes.d.ts +12 -0
  287. package/lib/js/scene/Axes.js +59 -0
  288. package/lib/js/scene/BaseNode.d.ts +61 -0
  289. package/{src/scene/BaseNode.ts → lib/js/scene/BaseNode.js} +11 -57
  290. package/lib/js/scene/Planet.d.ts +623 -0
  291. package/{src/scene/Planet.ts → lib/js/scene/Planet.js} +251 -935
  292. package/lib/js/scene/RenderNode.d.ts +150 -0
  293. package/{src/scene/RenderNode.ts → lib/js/scene/RenderNode.js} +33 -138
  294. package/lib/js/scene/SkyBox.d.ts +13 -0
  295. package/{src/scene/SkyBox.ts → lib/js/scene/SkyBox.js} +16 -37
  296. package/{src/scene/index.ts → lib/js/scene/index.d.ts} +0 -1
  297. package/lib/js/scene/index.js +5 -0
  298. package/lib/js/segment/Segment.d.ts +278 -0
  299. package/{src/segment/Segment.ts → lib/js/segment/Segment.js} +242 -913
  300. package/lib/js/segment/SegmentLonLat.d.ts +48 -0
  301. package/{src/segment/SegmentLonLat.ts → lib/js/segment/SegmentLonLat.js} +58 -132
  302. package/lib/js/segment/SegmentLonLatWgs84.d.ts +10 -0
  303. package/lib/js/segment/SegmentLonLatWgs84.js +23 -0
  304. package/lib/js/segment/Slice.d.ts +13 -0
  305. package/{src/segment/Slice.ts → lib/js/segment/Slice.js} +4 -22
  306. package/lib/js/segment/segmentHelper.d.ts +18 -0
  307. package/{src/segment/segmentHelper.ts → lib/js/segment/segmentHelper.js} +30 -88
  308. package/lib/js/shaders/atmos.d.ts +4 -0
  309. package/{src/shaders/atmos.ts → lib/js/shaders/atmos.js} +8 -26
  310. package/lib/js/shaders/billboard.d.ts +3 -0
  311. package/{src/shaders/billboard.ts → lib/js/shaders/billboard.js} +9 -18
  312. package/lib/js/shaders/bloom.d.ts +2 -0
  313. package/{src/shaders/bloom.ts → lib/js/shaders/bloom.js} +5 -8
  314. package/lib/js/shaders/blur.d.ts +3 -0
  315. package/{src/shaders/blur.ts → lib/js/shaders/blur.js} +11 -19
  316. package/lib/js/shaders/depth.d.ts +2 -0
  317. package/{src/shaders/depth.ts → lib/js/shaders/depth.js} +3 -6
  318. package/lib/js/shaders/drawnode.d.ts +8 -0
  319. package/{src/shaders/drawnode.ts → lib/js/shaders/drawnode.js} +23 -75
  320. package/lib/js/shaders/geoObject.d.ts +3 -0
  321. package/{src/shaders/geoObject.ts → lib/js/shaders/geoObject.js} +51 -63
  322. package/lib/js/shaders/label.d.ts +4 -0
  323. package/{src/shaders/label.ts → lib/js/shaders/label.js} +12 -25
  324. package/lib/js/shaders/lumFilter.d.ts +2 -0
  325. package/{src/shaders/lumFilter.ts → lib/js/shaders/lumFilter.js} +4 -7
  326. package/lib/js/shaders/pickingMask.d.ts +2 -0
  327. package/{src/shaders/pickingMask.ts → lib/js/shaders/pickingMask.js} +5 -8
  328. package/lib/js/shaders/pointCloud.d.ts +2 -0
  329. package/{src/shaders/pointCloud.ts → lib/js/shaders/pointCloud.js} +4 -7
  330. package/lib/js/shaders/polyline.d.ts +3 -0
  331. package/{src/shaders/polyline.ts → lib/js/shaders/polyline.js} +7 -22
  332. package/lib/js/shaders/ray.d.ts +2 -0
  333. package/{src/shaders/ray.ts → lib/js/shaders/ray.js} +4 -7
  334. package/lib/js/shaders/screenFrame.d.ts +2 -0
  335. package/{src/shaders/screenFrame.ts → lib/js/shaders/screenFrame.js} +5 -8
  336. package/lib/js/shaders/skybox.d.ts +2 -0
  337. package/{src/shaders/skybox.ts → lib/js/shaders/skybox.js} +10 -13
  338. package/lib/js/shaders/toneMapping.d.ts +2 -0
  339. package/{src/shaders/toneMapping.ts → lib/js/shaders/toneMapping.js} +5 -8
  340. package/lib/js/shaders/utils.d.ts +1 -0
  341. package/{src/shaders/utils.ts → lib/js/shaders/utils.js} +1 -1
  342. package/lib/js/terrain/BilTerrain.d.ts +18 -0
  343. package/{src/terrain/BilTerrain.ts → lib/js/terrain/BilTerrain.js} +21 -118
  344. package/lib/js/terrain/EmptyTerrain.d.ts +106 -0
  345. package/{src/terrain/EmptyTerrain.ts → lib/js/terrain/EmptyTerrain.js} +20 -144
  346. package/lib/js/terrain/Geoid.d.ts +33 -0
  347. package/lib/js/terrain/Geoid.js +191 -0
  348. package/lib/js/terrain/GlobusTerrain.d.ts +134 -0
  349. package/{src/terrain/GlobusTerrain.ts → lib/js/terrain/GlobusTerrain.js} +82 -239
  350. package/lib/js/terrain/MapboxTerrain.d.ts +21 -0
  351. package/{src/terrain/MapboxTerrain.ts → lib/js/terrain/MapboxTerrain.js} +46 -215
  352. package/{src/terrain/index.ts → lib/js/terrain/index.d.ts} +0 -1
  353. package/lib/js/terrain/index.js +5 -0
  354. package/lib/js/ui/Button.d.ts +32 -0
  355. package/lib/js/ui/Button.js +78 -0
  356. package/lib/js/ui/ButtonGroup.d.ts +16 -0
  357. package/lib/js/ui/ButtonGroup.js +41 -0
  358. package/lib/js/ui/Dialog.d.ts +55 -0
  359. package/lib/js/ui/Dialog.js +173 -0
  360. package/lib/js/ui/Slider.d.ts +38 -0
  361. package/lib/js/ui/Slider.js +129 -0
  362. package/lib/js/ui/ToggleButton.d.ts +20 -0
  363. package/lib/js/ui/ToggleButton.js +42 -0
  364. package/lib/js/ui/View.d.ts +37 -0
  365. package/{src/ui/View.ts → lib/js/ui/View.js} +31 -77
  366. package/lib/js/ui/icons.d.ts +1 -0
  367. package/{src/ui/icons.ts → lib/js/ui/icons.js} +1 -1
  368. package/lib/js/utils/BaseWorker.d.ts +14 -0
  369. package/{src/utils/BaseWorker.ts → lib/js/utils/BaseWorker.js} +15 -28
  370. package/lib/js/utils/FontAtlas.d.ts +82 -0
  371. package/{src/utils/FontAtlas.ts → lib/js/utils/FontAtlas.js} +45 -181
  372. package/lib/js/utils/GeoImageCreator.d.ts +34 -0
  373. package/{src/utils/GeoImageCreator.ts → lib/js/utils/GeoImageCreator.js} +34 -91
  374. package/lib/js/utils/ImagesCacheManager.d.ts +22 -0
  375. package/{src/utils/ImagesCacheManager.ts → lib/js/utils/ImagesCacheManager.js} +16 -38
  376. package/lib/js/utils/Loader.d.ts +63 -0
  377. package/lib/js/utils/Loader.js +156 -0
  378. package/lib/js/utils/NormalMapCreator.d.ts +52 -0
  379. package/{src/utils/NormalMapCreator.ts → lib/js/utils/NormalMapCreator.js} +64 -195
  380. package/lib/js/utils/PlainSegmentWorker.d.ts +24 -0
  381. package/{src/utils/PlainSegmentWorker.ts → lib/js/utils/PlainSegmentWorker.js} +24 -56
  382. package/lib/js/utils/TerrainWorker.d.ts +28 -0
  383. package/{src/utils/TerrainWorker.ts → lib/js/utils/TerrainWorker.js} +19 -56
  384. package/lib/js/utils/TextureAtlas.d.ts +113 -0
  385. package/{src/utils/TextureAtlas.ts → lib/js/utils/TextureAtlas.js} +40 -131
  386. package/lib/js/utils/VectorTileCreator.d.ts +18 -0
  387. package/{src/utils/VectorTileCreator.ts → lib/js/utils/VectorTileCreator.js} +61 -147
  388. package/lib/js/utils/colorTable.d.ts +3 -0
  389. package/{src/utils/colorTable.ts → lib/js/utils/colorTable.js} +2 -2
  390. package/lib/js/utils/earcut.d.ts +7 -0
  391. package/{src/utils/earcut.ts → lib/js/utils/earcut.js} +95 -223
  392. package/lib/js/utils/objParser.d.ts +24 -0
  393. package/{src/utils/objParser.ts → lib/js/utils/objParser.js} +38 -93
  394. package/lib/js/utils/shared.d.ts +267 -0
  395. package/{src/utils/shared.ts → lib/js/utils/shared.js} +184 -341
  396. package/lib/js/utils/units.d.ts +16 -0
  397. package/lib/js/utils/units.js +61 -0
  398. package/lib/js/webgl/BaseFramebuffer.d.ts +53 -0
  399. package/{src/webgl/BaseFramebuffer.ts → lib/js/webgl/BaseFramebuffer.js} +22 -59
  400. package/lib/js/webgl/Framebuffer.d.ts +69 -0
  401. package/{src/webgl/Framebuffer.ts → lib/js/webgl/Framebuffer.js} +30 -87
  402. package/lib/js/webgl/Handler.d.ts +473 -0
  403. package/{src/webgl/Handler.ts → lib/js/webgl/Handler.js} +175 -586
  404. package/lib/js/webgl/Multisample.d.ts +27 -0
  405. package/lib/js/webgl/Multisample.js +77 -0
  406. package/lib/js/webgl/Program.d.ts +159 -0
  407. package/{src/webgl/Program.ts → lib/js/webgl/Program.js} +73 -210
  408. package/lib/js/webgl/ProgramController.d.ts +86 -0
  409. package/{src/webgl/ProgramController.ts → lib/js/webgl/ProgramController.js} +11 -45
  410. package/{src/webgl/index.ts → lib/js/webgl/index.d.ts} +1 -8
  411. package/lib/js/webgl/index.js +6 -0
  412. package/lib/js/webgl/types.d.ts +9 -0
  413. package/{src/webgl/types.ts → lib/js/webgl/types.js} +5 -8
  414. package/lib/js/webgl/variableHandlers.d.ts +22 -0
  415. package/lib/js/webgl/variableHandlers.js +78 -0
  416. package/package.json +23 -34
  417. package/dist/@openglobus/og.esm.js +0 -2
  418. package/dist/@openglobus/og.esm.js.map +0 -1
  419. package/dist/@openglobus/og.umd.js +0 -2
  420. package/dist/@openglobus/og.umd.js.map +0 -1
  421. package/src/Deferred.ts +0 -17
  422. package/src/control/MouseWheelZoomControl.ts +0 -269
  423. package/src/control/ScaleControl.ts +0 -131
  424. package/src/control/SegmentBoundVisualization.ts +0 -50
  425. package/src/control/ShowFps.ts +0 -28
  426. package/src/control/ToggleWireframe.ts +0 -35
  427. package/src/control/ruler/Ruler.ts +0 -35
  428. package/src/control/ruler/RulerScene.ts +0 -437
  429. package/src/control/timeline/timelineUtils.ts +0 -133
  430. package/src/ellipsoid/index.ts +0 -4
  431. package/src/entity/Geometry.ts +0 -486
  432. package/src/index.ts +0 -173
  433. package/src/layer/GeoTexture2d.ts +0 -56
  434. package/src/layer/index.ts +0 -12
  435. package/src/math/Line3.ts +0 -162
  436. package/src/math/index.ts +0 -26
  437. package/src/quadTree/EPSG4326QuadTreeStrategy.ts +0 -24
  438. package/src/quadTree/EarthQuadTreeStrategy.ts +0 -28
  439. package/src/quadTree/MarsQuadTreeStrategy.ts +0 -25
  440. package/src/quadTree/Wgs84QuadTreeStrategy.ts +0 -22
  441. package/src/quadTree/index.ts +0 -14
  442. package/src/scene/Axes.ts +0 -78
  443. package/src/segment/SegmentLonLatWgs84.ts +0 -33
  444. package/src/terrain/Geoid.ts +0 -273
  445. package/src/ui/Button.ts +0 -121
  446. package/src/ui/ButtonGroup.ts +0 -63
  447. package/src/ui/Dialog.ts +0 -244
  448. package/src/ui/Slider.ts +0 -188
  449. package/src/ui/ToggleButton.ts +0 -68
  450. package/src/utils/Loader.ts +0 -247
  451. package/src/utils/units.ts +0 -78
  452. package/src/webgl/Multisample.ts +0 -153
  453. package/src/webgl/variableHandlers.ts +0 -114
  454. /package/{dist → lib}/@openglobus/og.css +0 -0
  455. /package/{dist → lib}/@openglobus/res/fonts/Karla-Bold.json +0 -0
  456. /package/{dist → lib}/@openglobus/res/fonts/Karla-Bold.ttf.cfg +0 -0
  457. /package/{dist → lib}/@openglobus/res/fonts/Karla-Bold.ttf.png +0 -0
  458. /package/{dist → lib}/@openglobus/res/fonts/Karla-Light.json +0 -0
  459. /package/{dist → lib}/@openglobus/res/fonts/Karla-Light.ttf.cfg +0 -0
  460. /package/{dist → lib}/@openglobus/res/fonts/Karla-Light.ttf.png +0 -0
  461. /package/{dist → lib}/@openglobus/res/fonts/Karla-Medium.json +0 -0
  462. /package/{dist → lib}/@openglobus/res/fonts/Karla-Medium.ttf.cfg +0 -0
  463. /package/{dist → lib}/@openglobus/res/fonts/Karla-Medium.ttf.png +0 -0
  464. /package/{dist → lib}/@openglobus/res/fonts/NotoSansArabic-Regular.json +0 -0
  465. /package/{dist → lib}/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.cfg +0 -0
  466. /package/{dist → lib}/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.png +0 -0
  467. /package/{dist → lib}/@openglobus/res/fonts/Roboto-Regular.json +0 -0
  468. /package/{dist → lib}/@openglobus/res/fonts/Roboto-Regular.ttf.cfg +0 -0
  469. /package/{dist → lib}/@openglobus/res/fonts/Roboto-Regular.ttf.png +0 -0
  470. /package/{dist → lib}/@openglobus/res/fonts/arial.js +0 -0
  471. /package/{dist → lib}/@openglobus/res/fonts/arial.json +0 -0
  472. /package/{dist → lib}/@openglobus/res/fonts/arial.ttf.cfg +0 -0
  473. /package/{dist → lib}/@openglobus/res/fonts/arial.ttf.png +0 -0
  474. /package/{dist → lib}/@openglobus/res/night-4326.png +0 -0
  475. /package/{dist → lib}/@openglobus/res/night.png +0 -0
  476. /package/{dist → lib}/@openglobus/res/spec.png +0 -0
@@ -1,15 +1,4 @@
1
- import {Vec3} from "../math/Vec3";
2
- import {RenderNode} from "../scene/RenderNode";
3
-
4
- export interface ILightSourceParams {
5
- position?: Vec3;
6
- directional?: boolean;
7
- ambient?: Vec3;
8
- diffuse?: Vec3;
9
- specular?: Vec3;
10
- shininess?: number;
11
- }
12
-
1
+ import { Vec3 } from "../math/Vec3";
13
2
  /**
14
3
  * Represents basic light source.
15
4
  * @class
@@ -22,164 +11,81 @@ export interface ILightSourceParams {
22
11
  * @param {number} [params.shininess] - Specular shininess.
23
12
  */
24
13
  class LightSource {
25
-
26
- static __counter__: number = 0;
27
-
28
- /**
29
- * Light name.
30
- * @protected
31
- * @type {string}
32
- */
33
- protected _name: string;
34
-
35
- /**
36
- * Render node where light is shines.
37
- * @protected
38
- * @type {RenderNode}
39
- */
40
- protected _renderNode: RenderNode | null;
41
-
42
- /**
43
- * Light position.
44
- * @public
45
- * @type {Vec3}
46
- */
47
- public _position: Vec3;
48
-
49
- /**
50
- * True if the light is directional.
51
- * @public
52
- * @type {boolean}
53
- */
54
- public directional: boolean;
55
-
56
- /**
57
- * Ambient color.
58
- * @protected
59
- * @type {Vec3}
60
- */
61
- protected _ambient: Vec3;
62
-
63
- /**
64
- * Diffuse color.
65
- * @protected
66
- * @type {Vec3}
67
- */
68
- protected _diffuse: Vec3;
69
-
70
- /**
71
- * Specular color.
72
- * @protected
73
- * @type {Vec3}
74
- */
75
- protected _specular: Vec3;
76
-
77
- /**
78
- * Shininess.
79
- * @protected
80
- * @type {number}
81
- */
82
- protected _shininess: number;
83
-
84
- /**
85
- * Light activity.
86
- * @protected
87
- * @type {boolean}
88
- */
89
- protected _active: boolean;
90
-
91
- protected _tempAmbient: Vec3;
92
- protected _tempDiffuse: Vec3;
93
- protected _tempSpecular: Vec3;
94
- protected _tempShininess: number;
95
-
96
- constructor(name: string, params: ILightSourceParams) {
97
-
14
+ constructor(name, params) {
98
15
  /**
99
16
  * Light name.
100
17
  * @protected
101
18
  * @type {string}
102
19
  */
103
20
  this._name = name || "light_" + LightSource.__counter__++;
104
-
105
21
  /**
106
22
  * Render node where light is shines.
107
23
  * @protected
108
24
  * @type {RenderNode}
109
25
  */
110
26
  this._renderNode = null;
111
-
112
27
  /**
113
28
  * Light position.
114
29
  * @public
115
30
  * @type {Vec3}
116
31
  */
117
32
  this._position = params.position || new Vec3();
118
-
119
33
  /**
120
34
  * True if the light is directional.
121
35
  * @public
122
36
  * @type {boolean}
123
37
  */
124
38
  this.directional = params.directional != undefined ? params.directional : true;
125
-
126
39
  /**
127
40
  * Ambient color.
128
41
  * @protected
129
42
  * @type {Vec3}
130
43
  */
131
44
  this._ambient = params.ambient || new Vec3();
132
-
133
45
  /**
134
46
  * Diffuse color.
135
47
  * @protected
136
48
  * @type {Vec3}
137
49
  */
138
50
  this._diffuse = params.diffuse || new Vec3(0.8, 0.8, 0.8);
139
-
140
51
  /**
141
52
  * Specular color.
142
53
  * @protected
143
54
  * @type {Vec3}
144
55
  */
145
56
  this._specular = params.specular || new Vec3(0.18, 0.18, 0.18);
146
-
147
57
  /**
148
58
  * Shininess.
149
59
  * @protected
150
60
  * @type {number}
151
61
  */
152
62
  this._shininess = params.shininess != undefined ? params.shininess : 3.3;
153
-
154
63
  /**
155
64
  * Light activity.
156
65
  * @protected
157
66
  * @type {boolean}
158
67
  */
159
68
  this._active = true;
160
-
161
69
  this._tempAmbient = this._ambient.clone();
162
70
  this._tempDiffuse = this._diffuse.clone();
163
71
  this._tempSpecular = this._specular.clone();
164
72
  this._tempShininess = this._shininess;
165
73
  }
166
-
167
74
  /**
168
75
  * Creates clone of the current light object.
169
76
  * @todo: TODO
170
77
  * @public
171
78
  * @returns {LightSource}
172
79
  */
173
- public clone() {
80
+ clone() {
174
81
  // TODO
175
82
  }
176
-
177
83
  /**
178
84
  * Set light activity. If activity is false the light doesn't shine.
179
85
  * @public
180
86
  * @param {boolean} active - Light activity.
181
87
  */
182
- public setActive(active: boolean) {
88
+ setActive(active) {
183
89
  if (active && !this._active) {
184
90
  const rn = this._renderNode;
185
91
  if (rn) {
@@ -190,18 +96,17 @@ class LightSource {
190
96
  this._ambient.x = rn._lightsParamsv[index] = this._tempAmbient.x;
191
97
  this._ambient.y = rn._lightsParamsv[index + 1] = this._tempAmbient.y;
192
98
  this._ambient.z = rn._lightsParamsv[index + 2] = this._tempAmbient.z;
193
-
194
99
  this._diffuse.x = rn._lightsParamsv[index + 3] = this._tempDiffuse.x;
195
100
  this._diffuse.y = rn._lightsParamsv[index + 4] = this._tempDiffuse.y;
196
101
  this._diffuse.z = rn._lightsParamsv[index + 5] = this._tempDiffuse.z;
197
-
198
102
  this._specular.x = rn._lightsParamsv[index + 6] = this._tempSpecular.x;
199
103
  this._specular.y = rn._lightsParamsv[index + 7] = this._tempSpecular.y;
200
104
  this._specular.z = rn._lightsParamsv[index + 8] = this._tempSpecular.z;
201
105
  }
202
106
  }
203
107
  this._active = true;
204
- } else if (!active && this._active) {
108
+ }
109
+ else if (!active && this._active) {
205
110
  this._tempAmbient = this._ambient.clone();
206
111
  this._tempDiffuse = this._diffuse.clone();
207
112
  this._tempSpecular = this._specular.clone();
@@ -210,78 +115,70 @@ class LightSource {
210
115
  this._active = false;
211
116
  }
212
117
  }
213
-
214
118
  /**
215
119
  * Gets light activity.
216
120
  * @public
217
121
  * @returns {boolean}
218
122
  */
219
- public isActive(): boolean {
123
+ isActive() {
220
124
  return this._active;
221
125
  }
222
-
223
126
  /**
224
127
  * Set light source position, or if it is a directional type sets light direction vector.
225
128
  * @public
226
129
  * @param {Vec3} position - Light position or direction vector.
227
130
  */
228
- public setPosition3v(position: Vec3) {
131
+ setPosition3v(position) {
229
132
  this._position.x = position.x;
230
133
  this._position.y = position.y;
231
134
  this._position.z = position.z;
232
135
  }
233
-
234
136
  /**
235
137
  * Set light source position, or if it is a directional type sets light direction vector.
236
138
  * @public
237
139
  */
238
- public setPosition(x: number, y: number, z: number) {
140
+ setPosition(x, y, z) {
239
141
  this._position.x = x;
240
142
  this._position.y = y;
241
143
  this._position.z = z;
242
144
  }
243
-
244
145
  /**
245
146
  * Returns light source position, or if it is a directional type sets light direction vector.
246
147
  * @public
247
148
  * @returns {Vec3} - Light source position/direction.
248
149
  */
249
- public getPosition(): Vec3 {
150
+ getPosition() {
250
151
  return this._position.clone();
251
152
  }
252
-
253
153
  /**
254
154
  * Set ambient color.
255
155
  * @public
256
156
  * @param {Vec3} rgb - Ambient color.
257
157
  */
258
- public setAmbient3v(rgb: Vec3) {
158
+ setAmbient3v(rgb) {
259
159
  this.setAmbient(rgb.x, rgb.y, rgb.z);
260
160
  }
261
-
262
161
  /**
263
162
  * Set diffuse color.
264
163
  * @public
265
164
  * @param {Vec3} rgb - Diffuse color.
266
165
  */
267
- public setDiffuse3v(rgb: Vec3) {
166
+ setDiffuse3v(rgb) {
268
167
  this.setDiffuse(rgb.x, rgb.y, rgb.z);
269
168
  }
270
-
271
169
  /**
272
170
  * Set specular color.
273
171
  * @public
274
172
  * @param {Vec3} rgb - Specular color.
275
173
  */
276
- public setSpecular3v(rgb: Vec3) {
174
+ setSpecular3v(rgb) {
277
175
  this.setSpecular(rgb.x, rgb.y, rgb.z);
278
176
  }
279
-
280
177
  /**
281
178
  * Set ambient color.
282
179
  * @public
283
180
  */
284
- public setAmbient(r: number, g: number, b: number) {
181
+ setAmbient(r, g, b) {
285
182
  this._ambient.set(r, g, b);
286
183
  const rn = this._renderNode;
287
184
  if (rn) {
@@ -293,12 +190,11 @@ class LightSource {
293
190
  }
294
191
  }
295
192
  }
296
-
297
193
  /**
298
194
  * Set diffuse color.
299
195
  * @public
300
196
  */
301
- public setDiffuse(r: number, g: number, b: number) {
197
+ setDiffuse(r, g, b) {
302
198
  this._diffuse.set(r, g, b);
303
199
  const rn = this._renderNode;
304
200
  if (rn) {
@@ -310,12 +206,11 @@ class LightSource {
310
206
  }
311
207
  }
312
208
  }
313
-
314
209
  /**
315
210
  * Set specular color.
316
211
  * @public
317
212
  */
318
- public setSpecular(r: number, g: number, b: number) {
213
+ setSpecular(r, g, b) {
319
214
  this._specular.set(r, g, b);
320
215
  const rn = this._renderNode;
321
216
  if (rn) {
@@ -327,12 +222,11 @@ class LightSource {
327
222
  }
328
223
  }
329
224
  }
330
-
331
225
  /**
332
226
  * Set material shininess.
333
227
  * @public
334
228
  */
335
- public setShininess(shininess: number) {
229
+ setShininess(shininess) {
336
230
  this._shininess = shininess;
337
231
  const rn = this._renderNode;
338
232
  if (rn) {
@@ -342,12 +236,11 @@ class LightSource {
342
236
  }
343
237
  }
344
238
  }
345
-
346
239
  /**
347
240
  * Sets light to black.
348
241
  * @public
349
242
  */
350
- public setBlack() {
243
+ setBlack() {
351
244
  this._ambient.clear();
352
245
  this._diffuse.clear();
353
246
  this._specular.clear();
@@ -362,13 +255,12 @@ class LightSource {
362
255
  }
363
256
  }
364
257
  }
365
-
366
258
  /**
367
259
  * Adds current light to the render node scene.
368
260
  * @public
369
261
  * @param {RenderNode} renderNode - Render node scene.
370
262
  */
371
- public addTo(renderNode: RenderNode) {
263
+ addTo(renderNode) {
372
264
  this._renderNode = renderNode;
373
265
  renderNode._lights.push(this);
374
266
  renderNode._lightsNames.push(this._name);
@@ -378,12 +270,11 @@ class LightSource {
378
270
  renderNode._lightsParamsv.push.apply(renderNode._lightsParamsv, this._specular.toArray());
379
271
  renderNode.transformLights();
380
272
  }
381
-
382
273
  /**
383
274
  * Removes from render node scene.
384
275
  * @public
385
276
  */
386
- public remove() {
277
+ remove() {
387
278
  const rn = this._renderNode;
388
279
  if (rn) {
389
280
  // let li = rn.getLightById(this._name);
@@ -397,5 +288,5 @@ class LightSource {
397
288
  this._renderNode = null;
398
289
  }
399
290
  }
400
-
401
- export {LightSource};
291
+ LightSource.__counter__ = 0;
292
+ export { LightSource };
@@ -0,0 +1,11 @@
1
+ import { Vec2 } from './Vec2';
2
+ export declare class Line2 {
3
+ a: number;
4
+ b: number;
5
+ c: number;
6
+ constructor(a?: number, b?: number, c?: number);
7
+ static get(p0: Vec2, p1: Vec2): Line2;
8
+ static getParallel(l: Line2, p: Vec2): Line2;
9
+ static getIntersection(L0: Line2, L1: Line2): Vec2;
10
+ intersects(l: Line2): Vec2;
11
+ }
@@ -1,31 +1,21 @@
1
- import {Vec2} from './Vec2';
2
-
1
+ import { Vec2 } from './Vec2';
3
2
  export class Line2 {
4
-
5
- public a: number;
6
- public b: number;
7
- public c: number;
8
-
9
3
  constructor(a = 0, b = 0, c = 0) {
10
4
  this.a = a;
11
5
  this.b = b;
12
6
  this.c = c;
13
7
  }
14
-
15
- static get(p0: Vec2, p1: Vec2): Line2 {
8
+ static get(p0, p1) {
16
9
  return new Line2(p1.y - p0.y, p0.x - p1.x, p1.x * p0.y - p0.x * p1.y);
17
10
  }
18
-
19
- static getParallel(l: Line2, p: Vec2): Line2 {
11
+ static getParallel(l, p) {
20
12
  return new Line2(l.a, l.b, -l.a * p.x - l.b * p.y);
21
13
  }
22
-
23
- static getIntersection(L0: Line2, L1: Line2): Vec2 {
14
+ static getIntersection(L0, L1) {
24
15
  let x = (L1.b * L0.c - L0.b * L1.c) / (L0.b * L1.a - L1.b * L0.a);
25
16
  return new Vec2(x, -(L0.c + L0.a * x) / L0.b);
26
17
  }
27
-
28
- public intersects(l: Line2): Vec2 {
18
+ intersects(l) {
29
19
  return Line2.getIntersection(this, l);
30
20
  }
31
21
  }
@@ -0,0 +1,28 @@
1
+ import { Sphere } from "../bv/Sphere";
2
+ import { Vec3 } from './Vec3';
3
+ /**
4
+ * @todo: write tests
5
+ * @class Line3
6
+ * Represents a line segment in 3d space.
7
+ * @param {Vec3} [p0] - First point of the line
8
+ * @param {Vec3} [p1] - Second point of the line
9
+ */
10
+ export declare class Line3 {
11
+ /**
12
+ * First point of the line
13
+ * @public
14
+ * @type: Vec3
15
+ */
16
+ p0: Vec3;
17
+ /**
18
+ * Second point of the line
19
+ * @public
20
+ * @type: Vec3
21
+ */
22
+ p1: Vec3;
23
+ constructor(p0?: Vec3, p1?: Vec3);
24
+ getMagnitude(): number;
25
+ getSphereIntersection(sphere: Sphere): [Vec3] | [Vec3, Vec3] | [];
26
+ intersects(line: Line3, res: Vec3, res2?: Vec3): boolean;
27
+ getNearestDistancePoint(point: Vec3, res: Vec3): boolean;
28
+ }
@@ -0,0 +1,85 @@
1
+ import { EPS10 } from '../math';
2
+ import { Vec3 } from './Vec3';
3
+ /**
4
+ * @todo: write tests
5
+ * @class Line3
6
+ * Represents a line segment in 3d space.
7
+ * @param {Vec3} [p0] - First point of the line
8
+ * @param {Vec3} [p1] - Second point of the line
9
+ */
10
+ export class Line3 {
11
+ constructor(p0, p1) {
12
+ this.p0 = p0 || new Vec3();
13
+ this.p1 = p1 || new Vec3();
14
+ }
15
+ getMagnitude() {
16
+ return this.p0.distance(this.p1);
17
+ }
18
+ getSphereIntersection(sphere) {
19
+ let p0 = this.p0, p1 = this.p1;
20
+ let cx = sphere.center.x, cy = sphere.center.y, cz = sphere.center.z;
21
+ let px = p0.x, py = p0.y, pz = p0.z;
22
+ let vx = p1.x - px, vy = p1.y - py, vz = p1.z - pz;
23
+ let A = vx * vx + vy * vy + vz * vz, B = 2.0 * (px * vx + py * vy + pz * vz - vx * cx - vy * cy - vz * cz), C = px * px - 2 * px * cx + cx * cx + py * py - 2 * py * cy + cy * cy +
24
+ pz * pz - 2 * pz * cz + cz * cz - sphere.radius * sphere.radius;
25
+ let D = B * B - 4 * A * C;
26
+ if (D < 0) {
27
+ // no solutions
28
+ return [];
29
+ }
30
+ let t1 = (-B - Math.sqrt(D)) / (2.0 * A);
31
+ let solution1 = new Vec3(p0.x * (1 - t1) + t1 * p1.x, p0.y * (1 - t1) + t1 * p1.y, p0.z * (1 - t1) + t1 * p1.z);
32
+ if (D == 0) {
33
+ return [solution1];
34
+ }
35
+ let t2 = (-B + Math.sqrt(D)) / (2.0 * A);
36
+ let solution2 = new Vec3(p0.x * (1 - t2) + t2 * p1.x, p0.y * (1 - t2) + t2 * p1.y, p0.z * (1 - t2) + t2 * p1.z);
37
+ // prefer a solution that's on the line segment itself
38
+ if (Math.abs(t1 - 0.5) < Math.abs(t2 - 0.5)) {
39
+ return [solution1, solution2];
40
+ }
41
+ return [solution2, solution1];
42
+ }
43
+ intersects(line, res, res2) {
44
+ let p13 = this.p0.sub(line.p0), p43 = line.p1.sub(line.p0);
45
+ if (Math.abs(p43.x) < EPS10 && Math.abs(p43.y) < EPS10 && Math.abs(p43.z) < EPS10) {
46
+ return false;
47
+ }
48
+ let p21 = this.p1.sub(this.p0);
49
+ if (Math.abs(p21.x) < EPS10 && Math.abs(p21.y) < EPS10 && Math.abs(p21.z) < EPS10) {
50
+ return false;
51
+ }
52
+ let d1343 = p13.x * p43.x + p13.y * p43.y + p13.z * p43.z, d4321 = p43.x * p21.x + p43.y * p21.y + p43.z * p21.z, d1321 = p13.x * p21.x + p13.y * p21.y + p13.z * p21.z, d4343 = p43.x * p43.x + p43.y * p43.y + p43.z * p43.z, d2121 = p21.x * p21.x + p21.y * p21.y + p21.z * p21.z;
53
+ let denom = d2121 * d4343 - d4321 * d4321;
54
+ if (Math.abs(denom) < EPS10) {
55
+ return false;
56
+ }
57
+ let numer = d1343 * d4321 - d1321 * d4343;
58
+ let mua = numer / denom;
59
+ res.x = this.p0.x + mua * p21.x;
60
+ res.y = this.p0.y + mua * p21.y;
61
+ res.z = this.p0.z + mua * p21.z;
62
+ if (res2) {
63
+ let mub = (d1343 + d4321 * mua) / d4343;
64
+ res2.x = line.p0.x + mub * p43.x;
65
+ res2.y = line.p0.y + mub * p43.y;
66
+ res2.z = line.p0.z + mub * p43.z;
67
+ }
68
+ return true;
69
+ }
70
+ getNearestDistancePoint(point, res) {
71
+ let p0 = this.p0, p1 = this.p1;
72
+ let mag = this.getMagnitude();
73
+ let u = (((point.x - p0.x) * (p1.x - p0.x)) +
74
+ ((point.y - p0.y) * (p1.y - p0.y)) +
75
+ ((point.z - p0.z) * (p1.z - p0.z))) /
76
+ (mag * mag);
77
+ res.x = p0.x + u * (p1.x - p0.x);
78
+ res.y = p0.y + u * (p1.y - p0.y);
79
+ res.z = p0.z + u * (p1.z - p0.z);
80
+ if (u < 0.0 || u > 1.0) {
81
+ return false;
82
+ }
83
+ return true;
84
+ }
85
+ }
@@ -0,0 +1,77 @@
1
+ import { Mat4 } from "./Mat4";
2
+ import { Vec3 } from "./Vec3";
3
+ export type NumberArray9 = [
4
+ number,
5
+ number,
6
+ number,
7
+ number,
8
+ number,
9
+ number,
10
+ number,
11
+ number,
12
+ number
13
+ ];
14
+ /**
15
+ * Class represents a 3x3 matrix.
16
+ * @class
17
+ */
18
+ export declare class Mat3 {
19
+ /**
20
+ * A 3x3 matrix, indexing as a column-major order array.
21
+ * @public
22
+ * @type {Array.<number>}
23
+ */
24
+ _m: NumberArray9;
25
+ constructor();
26
+ /**
27
+ * Sets column-major order array matrix.
28
+ * @public
29
+ * @param {Array.<number>} m - Matrix array.
30
+ * @returns {Mat3}
31
+ */
32
+ set(m: NumberArray9): Mat3;
33
+ /**
34
+ * Duplicates a Mat3 instance.
35
+ * @public
36
+ * @returns {Mat3}
37
+ */
38
+ clone(): Mat3;
39
+ /**
40
+ * Copy matrix.
41
+ * @public
42
+ * @param {Mat3} a - Matrix to copy.
43
+ * @returns {Mat3}
44
+ */
45
+ copy(a: Mat3): Mat3;
46
+ /**
47
+ * Creates transposed matrix from the current.
48
+ * @public
49
+ * @returns {Mat3}
50
+ */
51
+ transposeTo(): Mat3;
52
+ /**
53
+ * Sets matrix to identity.
54
+ * @public
55
+ * @returns {Mat3}
56
+ */
57
+ setIdentity(): Mat3;
58
+ /**
59
+ * Multiply to 3d vector.
60
+ * @public
61
+ * @params {Vec3} p - 3d vector.
62
+ * @returns {Vec3}
63
+ */
64
+ mulVec(p: Vec3): Vec3;
65
+ /**
66
+ * Converts to 4x4 matrix.
67
+ * @public
68
+ * @returns {Mat4}
69
+ */
70
+ toMatrix4(): Mat4;
71
+ }
72
+ /**
73
+ * Mat3 factory.
74
+ * @static
75
+ * @return {Mat3}
76
+ */
77
+ export declare function mat3(): Mat3;