@tolokoban/tgd 2.0.18 → 2.0.22

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 (395) hide show
  1. package/lib/dist/buffer/buffer.d.ts +5 -2
  2. package/lib/dist/buffer/buffer.d.ts.map +1 -1
  3. package/lib/dist/buffer/buffer.js +14 -14
  4. package/lib/dist/camera/camera-node.d.ts +2 -2
  5. package/lib/dist/camera/camera-node.d.ts.map +1 -1
  6. package/lib/dist/camera/camera-node.js +4 -5
  7. package/lib/dist/camera/camera-orthographic.d.ts.map +1 -1
  8. package/lib/dist/camera/camera-orthographic.js +14 -12
  9. package/lib/dist/camera/camera-perspective.d.ts.map +1 -1
  10. package/lib/dist/camera/camera-perspective.js +20 -38
  11. package/lib/dist/camera/camera.d.ts +9 -56
  12. package/lib/dist/camera/camera.d.ts.map +1 -1
  13. package/lib/dist/camera/camera.js +50 -279
  14. package/lib/dist/camera/index.d.ts +0 -1
  15. package/lib/dist/camera/index.d.ts.map +1 -1
  16. package/lib/dist/camera/index.js +1 -2
  17. package/lib/dist/canvas/gizmo/gizmo.d.ts.map +1 -1
  18. package/lib/dist/canvas/gizmo/gizmo.js +72 -78
  19. package/lib/dist/canvas/gizmo/painter/tips.d.ts +0 -1
  20. package/lib/dist/canvas/gizmo/painter/tips.d.ts.map +1 -1
  21. package/lib/dist/canvas/gizmo/painter/tips.js +38 -36
  22. package/lib/dist/canvas/landscape/landscape.js +4 -11
  23. package/lib/dist/code/color.d.ts +12 -0
  24. package/lib/dist/code/color.d.ts.map +1 -0
  25. package/lib/dist/code/color.js +26 -0
  26. package/lib/dist/code/consts.d.ts +16 -0
  27. package/lib/dist/code/consts.d.ts.map +1 -0
  28. package/lib/dist/code/consts.js +20 -0
  29. package/lib/dist/code/coords.d.ts +46 -0
  30. package/lib/dist/code/coords.d.ts.map +1 -0
  31. package/lib/dist/code/coords.js +95 -0
  32. package/lib/dist/code/index.d.ts +6 -0
  33. package/lib/dist/code/index.d.ts.map +1 -0
  34. package/lib/dist/code/index.js +6 -0
  35. package/lib/dist/code/random.d.ts +8 -0
  36. package/lib/dist/code/random.d.ts.map +1 -0
  37. package/lib/dist/code/random.js +13 -0
  38. package/lib/dist/code/transfo.d.ts +8 -0
  39. package/lib/dist/code/transfo.d.ts.map +1 -0
  40. package/lib/dist/code/transfo.js +19 -0
  41. package/lib/dist/color/color.js +24 -24
  42. package/lib/dist/context/animation/animation-manager.js +9 -6
  43. package/lib/dist/context/context.d.ts +11 -18
  44. package/lib/dist/context/context.d.ts.map +1 -1
  45. package/lib/dist/context/context.js +71 -96
  46. package/lib/dist/controller/camera/orbit.d.ts +33 -4
  47. package/lib/dist/controller/camera/orbit.d.ts.map +1 -1
  48. package/lib/dist/controller/camera/orbit.js +163 -117
  49. package/lib/dist/dataset/dataset.d.ts +1 -1
  50. package/lib/dist/dataset/dataset.d.ts.map +1 -1
  51. package/lib/dist/dataset/dataset.js +72 -72
  52. package/lib/dist/debug/debug.d.ts +1 -1
  53. package/lib/dist/debug/debug.d.ts.map +1 -1
  54. package/lib/dist/debug/debug.js +8 -7
  55. package/lib/dist/debug/tools.js +3 -3
  56. package/lib/dist/event/event.js +6 -3
  57. package/lib/dist/filter/blur.d.ts.map +1 -1
  58. package/lib/dist/filter/blur.js +9 -8
  59. package/lib/dist/filter/chromatic-aberration.js +10 -10
  60. package/lib/dist/filter/filter.d.ts +2 -1
  61. package/lib/dist/filter/filter.d.ts.map +1 -1
  62. package/lib/dist/filter/filter.js +22 -22
  63. package/lib/dist/filter/hue-rotation.d.ts +1 -1
  64. package/lib/dist/filter/hue-rotation.d.ts.map +1 -1
  65. package/lib/dist/filter/hue-rotation.js +5 -5
  66. package/lib/dist/filter/index.d.ts +1 -0
  67. package/lib/dist/filter/index.d.ts.map +1 -1
  68. package/lib/dist/filter/index.js +2 -1
  69. package/lib/dist/filter/verbatim.d.ts +8 -0
  70. package/lib/dist/filter/verbatim.d.ts.map +1 -0
  71. package/lib/dist/filter/verbatim.js +20 -0
  72. package/lib/dist/filter/zoom.d.ts +3 -1
  73. package/lib/dist/filter/zoom.d.ts.map +1 -1
  74. package/lib/dist/filter/zoom.js +10 -6
  75. package/lib/dist/geometry/box.d.ts +2 -1
  76. package/lib/dist/geometry/box.d.ts.map +1 -1
  77. package/lib/dist/geometry/box.js +103 -115
  78. package/lib/dist/geometry/geometry.d.ts.map +1 -1
  79. package/lib/dist/geometry/geometry.js +38 -48
  80. package/lib/dist/geometry/index.d.ts +1 -0
  81. package/lib/dist/geometry/index.d.ts.map +1 -1
  82. package/lib/dist/geometry/index.js +2 -1
  83. package/lib/dist/geometry/plane.d.ts +12 -0
  84. package/lib/dist/geometry/plane.d.ts.map +1 -0
  85. package/lib/dist/geometry/plane.js +51 -0
  86. package/lib/dist/index.d.ts +6 -1
  87. package/lib/dist/index.d.ts.map +1 -1
  88. package/lib/dist/index.js +7 -2
  89. package/lib/dist/input/inputs.js +3 -4
  90. package/lib/dist/input/keyboard.js +14 -14
  91. package/lib/dist/input/pointer.d.ts.map +1 -1
  92. package/lib/dist/input/pointer.js +85 -112
  93. package/lib/dist/interface/transformable.d.ts +3 -1
  94. package/lib/dist/interface/transformable.d.ts.map +1 -1
  95. package/lib/dist/light/light.js +5 -8
  96. package/lib/dist/loader/asset.js +15 -12
  97. package/lib/dist/loader/binary.js +29 -24
  98. package/lib/dist/loader/image.js +31 -24
  99. package/lib/dist/loader/index.d.ts +1 -0
  100. package/lib/dist/loader/index.d.ts.map +1 -1
  101. package/lib/dist/loader/index.js +2 -1
  102. package/lib/dist/loader/video.d.ts +6 -0
  103. package/lib/dist/loader/video.d.ts.map +1 -0
  104. package/lib/dist/loader/video.js +23 -0
  105. package/lib/dist/log.d.ts +1 -1
  106. package/lib/dist/log.d.ts.map +1 -1
  107. package/lib/dist/log.js +19 -16
  108. package/lib/dist/material/diffuse.d.ts +3 -1
  109. package/lib/dist/material/diffuse.d.ts.map +1 -1
  110. package/lib/dist/material/diffuse.js +17 -20
  111. package/lib/dist/material/ghost.d.ts +2 -1
  112. package/lib/dist/material/ghost.d.ts.map +1 -1
  113. package/lib/dist/material/ghost.js +1 -4
  114. package/lib/dist/material/hull.d.ts +2 -1
  115. package/lib/dist/material/hull.d.ts.map +1 -1
  116. package/lib/dist/material/hull.js +10 -13
  117. package/lib/dist/material/material.d.ts +2 -1
  118. package/lib/dist/material/material.d.ts.map +1 -1
  119. package/lib/dist/material/material.js +14 -20
  120. package/lib/dist/material/normals.d.ts +2 -1
  121. package/lib/dist/material/normals.d.ts.map +1 -1
  122. package/lib/dist/material/normals.js +1 -4
  123. package/lib/dist/material/solid.d.ts +2 -1
  124. package/lib/dist/material/solid.d.ts.map +1 -1
  125. package/lib/dist/material/solid.js +6 -9
  126. package/lib/dist/math/common.test.d.ts +2 -0
  127. package/lib/dist/math/common.test.d.ts.map +1 -0
  128. package/lib/dist/math/common.test.js +22 -0
  129. package/lib/dist/math/index.d.ts +0 -1
  130. package/lib/dist/math/index.d.ts.map +1 -1
  131. package/lib/dist/math/index.js +1 -2
  132. package/lib/dist/math/mat3.d.ts +44 -16
  133. package/lib/dist/math/mat3.d.ts.map +1 -1
  134. package/lib/dist/math/mat3.js +140 -74
  135. package/lib/dist/math/mat3.test.d.ts +2 -0
  136. package/lib/dist/math/mat3.test.d.ts.map +1 -0
  137. package/lib/dist/math/mat3.test.js +32 -0
  138. package/lib/dist/math/mat4.d.ts +54 -121
  139. package/lib/dist/math/mat4.d.ts.map +1 -1
  140. package/lib/dist/math/mat4.js +167 -288
  141. package/lib/dist/math/quat.d.ts +9 -4
  142. package/lib/dist/math/quat.d.ts.map +1 -1
  143. package/lib/dist/math/quat.js +57 -70
  144. package/lib/dist/math/quat.test.d.ts +1 -0
  145. package/lib/dist/math/quat.test.d.ts.map +1 -1
  146. package/lib/dist/math/quat.test.js +81 -27
  147. package/lib/dist/math/transfo.d.ts +32 -5
  148. package/lib/dist/math/transfo.d.ts.map +1 -1
  149. package/lib/dist/math/transfo.js +135 -46
  150. package/lib/dist/math/vec2.js +6 -6
  151. package/lib/dist/math/vec3.d.ts +11 -3
  152. package/lib/dist/math/vec3.d.ts.map +1 -1
  153. package/lib/dist/math/vec3.js +30 -17
  154. package/lib/dist/math/vec3.test.js +20 -1
  155. package/lib/dist/math/vec4.d.ts +12 -3
  156. package/lib/dist/math/vec4.d.ts.map +1 -1
  157. package/lib/dist/math/vec4.js +36 -18
  158. package/lib/dist/painter/{axis/axis.d.ts → axes/axes.d.ts} +4 -4
  159. package/lib/dist/painter/{axis/axis.d.ts.map → axes/axes.d.ts.map} +1 -1
  160. package/lib/dist/painter/{axis/axis.frag → axes/axes.frag} +0 -0
  161. package/lib/dist/painter/axes/axes.js +82 -0
  162. package/lib/dist/painter/{axis/axis.vert → axes/axes.vert} +0 -0
  163. package/lib/dist/painter/axes/index.d.ts +2 -0
  164. package/lib/dist/painter/axes/index.d.ts.map +1 -0
  165. package/lib/dist/painter/axes/index.js +2 -0
  166. package/lib/dist/painter/background/background.d.ts +4 -3
  167. package/lib/dist/painter/background/background.d.ts.map +1 -1
  168. package/lib/dist/painter/background/background.js +15 -17
  169. package/lib/dist/painter/clear.d.ts +4 -3
  170. package/lib/dist/painter/clear.d.ts.map +1 -1
  171. package/lib/dist/painter/clear.js +18 -22
  172. package/lib/dist/painter/debug/index.d.ts +2 -0
  173. package/lib/dist/painter/debug/index.d.ts.map +1 -0
  174. package/lib/dist/painter/debug/index.js +2 -0
  175. package/lib/dist/painter/debug/stencil/index.d.ts +2 -0
  176. package/lib/dist/painter/debug/stencil/index.d.ts.map +1 -0
  177. package/lib/dist/painter/debug/stencil/index.js +2 -0
  178. package/lib/dist/painter/debug/stencil/stencil.d.ts +11 -0
  179. package/lib/dist/painter/debug/stencil/stencil.d.ts.map +1 -0
  180. package/lib/dist/painter/debug/stencil/stencil.frag +10 -0
  181. package/lib/dist/painter/debug/stencil/stencil.js +53 -0
  182. package/lib/dist/painter/debug/stencil/stencil.vert +7 -0
  183. package/lib/dist/painter/depth.d.ts +7 -5
  184. package/lib/dist/painter/depth.d.ts.map +1 -1
  185. package/lib/dist/painter/depth.js +5 -11
  186. package/lib/dist/painter/filter/filter.d.ts +3 -3
  187. package/lib/dist/painter/filter/filter.d.ts.map +1 -1
  188. package/lib/dist/painter/filter/filter.js +44 -46
  189. package/lib/dist/painter/framebuffer.d.ts +25 -4
  190. package/lib/dist/painter/framebuffer.d.ts.map +1 -1
  191. package/lib/dist/painter/framebuffer.js +76 -43
  192. package/lib/dist/painter/group.js +11 -12
  193. package/lib/dist/painter/index.d.ts +2 -1
  194. package/lib/dist/painter/index.d.ts.map +1 -1
  195. package/lib/dist/painter/index.js +3 -2
  196. package/lib/dist/painter/logic.js +3 -3
  197. package/lib/dist/painter/mesh/gltf/gltf.d.ts +1 -1
  198. package/lib/dist/painter/mesh/gltf/gltf.d.ts.map +1 -1
  199. package/lib/dist/painter/mesh/gltf/gltf.js +9 -10
  200. package/lib/dist/painter/mesh/mesh/mesh.d.ts +2 -2
  201. package/lib/dist/painter/mesh/mesh/mesh.d.ts.map +1 -1
  202. package/lib/dist/painter/mesh/mesh/mesh.js +45 -43
  203. package/lib/dist/painter/mesh/normals/normals.d.ts.map +1 -1
  204. package/lib/dist/painter/mesh/normals/normals.js +19 -22
  205. package/lib/dist/painter/node/node.d.ts +12 -12
  206. package/lib/dist/painter/node/node.d.ts.map +1 -1
  207. package/lib/dist/painter/node/node.js +32 -43
  208. package/lib/dist/painter/painter.js +11 -9
  209. package/lib/dist/painter/segments/segments.d.ts +11 -3
  210. package/lib/dist/painter/segments/segments.d.ts.map +1 -1
  211. package/lib/dist/painter/segments/segments.js +38 -38
  212. package/lib/dist/painter/skybox/skybox.d.ts.map +1 -1
  213. package/lib/dist/painter/skybox/skybox.js +13 -14
  214. package/lib/dist/painter/state/state.d.ts +4 -6
  215. package/lib/dist/painter/state/state.d.ts.map +1 -1
  216. package/lib/dist/painter/state/state.js +83 -65
  217. package/lib/dist/parser/for-each-line.d.ts.map +1 -1
  218. package/lib/dist/parser/for-each-line.js +5 -5
  219. package/lib/dist/parser/gltf/gltf.d.ts +5 -2
  220. package/lib/dist/parser/gltf/gltf.d.ts.map +1 -1
  221. package/lib/dist/parser/gltf/gltf.js +114 -83
  222. package/lib/dist/parser/gltf/parser.js +10 -11
  223. package/lib/dist/parser/mesh/wavefront.d.ts.map +1 -1
  224. package/lib/dist/parser/mesh/wavefront.js +106 -111
  225. package/lib/dist/program/program.d.ts +2 -2
  226. package/lib/dist/program/program.d.ts.map +1 -1
  227. package/lib/dist/program/program.js +27 -33
  228. package/lib/dist/{ref-map.d.ts → reference-map.d.ts} +4 -4
  229. package/lib/dist/reference-map.d.ts.map +1 -0
  230. package/lib/dist/reference-map.js +52 -0
  231. package/lib/dist/shader/code.d.ts +2 -2
  232. package/lib/dist/shader/code.d.ts.map +1 -1
  233. package/lib/dist/shader/code.js +12 -12
  234. package/lib/dist/shader/fragment.js +7 -19
  235. package/lib/dist/shader/vertex.js +7 -12
  236. package/lib/dist/table/index.d.ts +2 -0
  237. package/lib/dist/table/index.d.ts.map +1 -0
  238. package/lib/dist/table/index.js +2 -0
  239. package/lib/dist/table/table.d.ts +41 -0
  240. package/lib/dist/table/table.d.ts.map +1 -0
  241. package/lib/dist/table/table.js +104 -0
  242. package/lib/dist/texture/index.d.ts +1 -1
  243. package/lib/dist/texture/index.d.ts.map +1 -1
  244. package/lib/dist/texture/index.js +2 -2
  245. package/lib/dist/texture/texture-cube.d.ts +24 -0
  246. package/lib/dist/texture/texture-cube.d.ts.map +1 -0
  247. package/lib/dist/texture/texture-cube.js +69 -0
  248. package/lib/dist/texture/texture2d.d.ts +47 -21
  249. package/lib/dist/texture/texture2d.d.ts.map +1 -1
  250. package/lib/dist/texture/texture2d.js +178 -133
  251. package/lib/dist/types/elements.js +2 -2
  252. package/lib/dist/types/gltf.js +3 -9
  253. package/lib/dist/types/guards.d.ts.map +1 -1
  254. package/lib/dist/types/guards.js +36 -37
  255. package/lib/dist/types/index.d.ts +1 -3
  256. package/lib/dist/types/index.d.ts.map +1 -1
  257. package/lib/dist/types/index.js +2 -4
  258. package/lib/dist/types/program.d.ts +0 -37
  259. package/lib/dist/types/program.d.ts.map +1 -1
  260. package/lib/dist/types/{textureCube.d.ts → texture-cube.d.ts} +7 -16
  261. package/lib/dist/types/texture-cube.d.ts.map +1 -0
  262. package/lib/dist/types/texture-cube.js +2 -0
  263. package/lib/dist/types/webgl.d.ts +15 -5
  264. package/lib/dist/types/webgl.d.ts.map +1 -1
  265. package/lib/dist/types/webgl.js +37 -30
  266. package/lib/dist/utils/action/camera.d.ts.map +1 -1
  267. package/lib/dist/utils/action/camera.js +15 -25
  268. package/lib/dist/utils/action/transfo.d.ts +3 -0
  269. package/lib/dist/utils/action/transfo.d.ts.map +1 -0
  270. package/lib/dist/utils/action/transfo.js +18 -0
  271. package/lib/dist/utils/action/vector.d.ts.map +1 -1
  272. package/lib/dist/utils/action/vector.js +11 -11
  273. package/lib/dist/utils/assert.d.ts.map +1 -1
  274. package/lib/dist/utils/assert.js +2 -2
  275. package/lib/dist/utils/bbox.js +3 -3
  276. package/lib/dist/utils/bbox.test.js +18 -19
  277. package/lib/dist/utils/canvas.d.ts +28 -0
  278. package/lib/dist/utils/canvas.d.ts.map +1 -1
  279. package/lib/dist/utils/canvas.js +59 -5
  280. package/lib/dist/utils/{ease-func/ease-func.d.ts → easing-function/easing-function.d.ts} +1 -1
  281. package/lib/dist/utils/easing-function/easing-function.d.ts.map +1 -0
  282. package/lib/dist/utils/easing-function/easing-function.js +142 -0
  283. package/lib/dist/utils/easing-function/index.d.ts +2 -0
  284. package/lib/dist/utils/easing-function/index.d.ts.map +1 -0
  285. package/lib/dist/utils/easing-function/index.js +2 -0
  286. package/lib/dist/utils/framebuffer.d.ts +2 -0
  287. package/lib/dist/utils/framebuffer.d.ts.map +1 -0
  288. package/lib/dist/utils/framebuffer.js +7 -0
  289. package/lib/dist/utils/fullscreen.d.ts +1 -1
  290. package/lib/dist/utils/fullscreen.d.ts.map +1 -1
  291. package/lib/dist/utils/fullscreen.js +44 -37
  292. package/lib/dist/utils/index.d.ts +4 -1
  293. package/lib/dist/utils/index.d.ts.map +1 -1
  294. package/lib/dist/utils/index.js +5 -2
  295. package/lib/dist/utils/math.d.ts +4 -2
  296. package/lib/dist/utils/math.d.ts.map +1 -1
  297. package/lib/dist/utils/math.js +12 -4
  298. package/lib/dist/utils/pbo.d.ts +9 -0
  299. package/lib/dist/utils/pbo.d.ts.map +1 -0
  300. package/lib/dist/utils/pbo.js +32 -0
  301. package/lib/dist/utils/{ref-map.d.ts → reference-map.d.ts} +4 -4
  302. package/lib/dist/utils/reference-map.d.ts.map +1 -0
  303. package/lib/dist/utils/reference-map.js +52 -0
  304. package/lib/dist/utils/state/blend.d.ts +5 -5
  305. package/lib/dist/utils/state/blend.d.ts.map +1 -1
  306. package/lib/dist/utils/state/blend.js +10 -10
  307. package/lib/dist/utils/state/depth.d.ts +2 -2
  308. package/lib/dist/utils/state/depth.d.ts.map +1 -1
  309. package/lib/dist/utils/state/depth.js +5 -5
  310. package/lib/dist/utils/state/stencil.d.ts +55 -1
  311. package/lib/dist/utils/state/stencil.d.ts.map +1 -1
  312. package/lib/dist/utils/state/stencil.js +28 -46
  313. package/lib/dist/utils/template.js +3 -3
  314. package/lib/dist/utils/webgl.d.ts +1 -1
  315. package/lib/dist/utils/webgl.d.ts.map +1 -1
  316. package/lib/dist/utils/webgl.js +5 -5
  317. package/lib/dist/vao/vao.d.ts +2 -1
  318. package/lib/dist/vao/vao.d.ts.map +1 -1
  319. package/lib/dist/vao/vao.js +19 -19
  320. package/lib/dist/webgl/index.d.ts +2 -0
  321. package/lib/dist/webgl/index.d.ts.map +1 -0
  322. package/lib/dist/webgl/index.js +2 -0
  323. package/lib/dist/webgl/texture/index.d.ts +3 -0
  324. package/lib/dist/webgl/texture/index.d.ts.map +1 -0
  325. package/lib/dist/webgl/texture/index.js +3 -0
  326. package/lib/dist/webgl/texture/texture2d.d.ts +38 -0
  327. package/lib/dist/webgl/texture/texture2d.d.ts.map +1 -0
  328. package/lib/dist/webgl/texture/texture2d.js +35 -0
  329. package/lib/dist/webgl/texture/types.d.ts +4 -0
  330. package/lib/dist/webgl/texture/types.d.ts.map +1 -0
  331. package/lib/dist/webgl/texture/types.js +2 -0
  332. package/package.json +1 -1
  333. package/lib/dist/math/math.d.ts +0 -9
  334. package/lib/dist/math/math.d.ts.map +0 -1
  335. package/lib/dist/math/math.js +0 -13
  336. package/lib/dist/painter/axis/axis.js +0 -84
  337. package/lib/dist/painter/axis/index.d.ts +0 -2
  338. package/lib/dist/painter/axis/index.d.ts.map +0 -1
  339. package/lib/dist/painter/axis/index.js +0 -2
  340. package/lib/dist/painter/framebuffer-old.d.ts +0 -38
  341. package/lib/dist/painter/framebuffer-old.d.ts.map +0 -1
  342. package/lib/dist/painter/framebuffer-old.js +0 -102
  343. package/lib/dist/painter/framebuffer.backup.d.ts +0 -39
  344. package/lib/dist/painter/framebuffer.backup.d.ts.map +0 -1
  345. package/lib/dist/painter/framebuffer.backup.js +0 -125
  346. package/lib/dist/painter/mesh/hull/hull.d.ts +0 -12
  347. package/lib/dist/painter/mesh/hull/hull.d.ts.map +0 -1
  348. package/lib/dist/painter/mesh/hull/hull.js +0 -11
  349. package/lib/dist/painter/node.d.ts +0 -32
  350. package/lib/dist/painter/node.d.ts.map +0 -1
  351. package/lib/dist/painter/node.js +0 -73
  352. package/lib/dist/ref-map.d.ts.map +0 -1
  353. package/lib/dist/ref-map.js +0 -48
  354. package/lib/dist/resource/index.d.ts +0 -5
  355. package/lib/dist/resource/index.d.ts.map +0 -1
  356. package/lib/dist/resource/index.js +0 -5
  357. package/lib/dist/resource/program.d.ts +0 -10
  358. package/lib/dist/resource/program.d.ts.map +0 -1
  359. package/lib/dist/resource/program.js +0 -20
  360. package/lib/dist/resource/resource.d.ts +0 -17
  361. package/lib/dist/resource/resource.d.ts.map +0 -1
  362. package/lib/dist/resource/resource.js +0 -48
  363. package/lib/dist/resource/texture2d.d.ts +0 -10
  364. package/lib/dist/resource/texture2d.d.ts.map +0 -1
  365. package/lib/dist/resource/texture2d.js +0 -20
  366. package/lib/dist/resource/textureCube.d.ts +0 -9
  367. package/lib/dist/resource/textureCube.d.ts.map +0 -1
  368. package/lib/dist/resource/textureCube.js +0 -17
  369. package/lib/dist/scene/scene-node.d.ts +0 -8
  370. package/lib/dist/scene/scene-node.d.ts.map +0 -1
  371. package/lib/dist/scene/scene-node.js +0 -13
  372. package/lib/dist/texture/textureCube.d.ts +0 -17
  373. package/lib/dist/texture/textureCube.d.ts.map +0 -1
  374. package/lib/dist/texture/textureCube.js +0 -87
  375. package/lib/dist/types/context.d.ts +0 -27
  376. package/lib/dist/types/context.d.ts.map +0 -1
  377. package/lib/dist/types/context.js +0 -2
  378. package/lib/dist/types/texture2d.d.ts +0 -36
  379. package/lib/dist/types/texture2d.d.ts.map +0 -1
  380. package/lib/dist/types/texture2d.js +0 -2
  381. package/lib/dist/types/textureCube.d.ts.map +0 -1
  382. package/lib/dist/types/textureCube.js +0 -2
  383. package/lib/dist/utils/ease-func/ease-func.d.ts.map +0 -1
  384. package/lib/dist/utils/ease-func/ease-func.js +0 -142
  385. package/lib/dist/utils/ease-func/index.d.ts +0 -2
  386. package/lib/dist/utils/ease-func/index.d.ts.map +0 -1
  387. package/lib/dist/utils/ease-func/index.js +0 -2
  388. package/lib/dist/utils/fetch/fetch.d.ts +0 -2
  389. package/lib/dist/utils/fetch/fetch.d.ts.map +0 -1
  390. package/lib/dist/utils/fetch/fetch.js +0 -5
  391. package/lib/dist/utils/fetch/index.d.ts +0 -2
  392. package/lib/dist/utils/fetch/index.d.ts.map +0 -1
  393. package/lib/dist/utils/fetch/index.js +0 -2
  394. package/lib/dist/utils/ref-map.d.ts.map +0 -1
  395. package/lib/dist/utils/ref-map.js +0 -48
@@ -1,6 +1,7 @@
1
- import { TgdContextInterface, TgdInputPointerModifierKeys } from "../../types";
1
+ import { TgdInputPointerModifierKeys } from "../../types";
2
2
  import { TgdEvent } from "../../event";
3
3
  import { TgdCamera } from "../../camera";
4
+ import { TgdContext } from "../../context";
4
5
  export interface TgdControllerCameraOrbitZoomRequest extends TgdInputPointerModifierKeys {
5
6
  x: number;
6
7
  y: number;
@@ -47,10 +48,30 @@ export interface TgdControllerCameraOrbitOptions {
47
48
  * before the zoom event. If it returns `false`,
48
49
  * the event is not dispatched.
49
50
  */
50
- onZoomRequest(this: void, evt: TgdControllerCameraOrbitZoomRequest): boolean;
51
+ onZoomRequest(this: void, event: TgdControllerCameraOrbitZoomRequest): boolean;
52
+ /**
53
+ * If this attribute is defined, the orbit will follow latitude/longitude.
54
+ * You can also add limits.
55
+ */
56
+ geo: Partial<{
57
+ /** Expressed in radians */
58
+ lat: number;
59
+ /** Expressed in radians */
60
+ lng: number;
61
+ /** Expressed in radians */
62
+ minLat: number;
63
+ /** Expressed in radians */
64
+ maxLat: number;
65
+ /** Expressed in radians */
66
+ maxLng: number;
67
+ /** Expressed in radians */
68
+ minLng: number;
69
+ }>;
51
70
  }
52
71
  export declare class TgdControllerCameraOrbit {
53
72
  private readonly context;
73
+ private static counter;
74
+ readonly id: string;
54
75
  readonly eventChange: TgdEvent<TgdCamera>;
55
76
  minZoom: number;
56
77
  maxZoom: number;
@@ -75,7 +96,7 @@ export declare class TgdControllerCameraOrbit {
75
96
  * before the zoom event. If it returns `false`,
76
97
  * the event is not dispatched.
77
98
  */
78
- onZoomRequest: (this: void, evt: TgdControllerCameraOrbitZoomRequest) => boolean;
99
+ onZoomRequest: (this: void, event: TgdControllerCameraOrbitZoomRequest) => boolean;
79
100
  /**
80
101
  * The camera will only move if `enabled === true`.
81
102
  */
@@ -87,7 +108,9 @@ export declare class TgdControllerCameraOrbit {
87
108
  */
88
109
  private disabledUntil;
89
110
  private readonly cameraInitialState;
90
- constructor(context: TgdContextInterface, { minZoom, maxZoom, speedZoom, speedOrbit, speedPanning, inertiaZoom, inertiaOrbit, inertiaPanning, fixedTarget, onZoomRequest, }?: Partial<TgdControllerCameraOrbitOptions>);
111
+ private readonly geo?;
112
+ private readonly tmpQuat;
113
+ constructor(context: TgdContext, { geo, minZoom, maxZoom, speedZoom, speedOrbit, speedPanning, inertiaZoom, inertiaOrbit, inertiaPanning, fixedTarget, onZoomRequest, }?: Partial<TgdControllerCameraOrbitOptions>);
91
114
  get enabled(): boolean;
92
115
  set enabled(value: boolean);
93
116
  reset(animDuration: number, easingFunction?: (x: number) => number): void;
@@ -95,6 +118,12 @@ export declare class TgdControllerCameraOrbit {
95
118
  detach(): void;
96
119
  private readonly handleMove;
97
120
  private orbit;
121
+ /**
122
+ * Set the camera orientation from latitude/longitude
123
+ * @param lat Expressed in radians
124
+ * @param lng Expressed in radians
125
+ */
126
+ orbitGeo(lat: number, lng: number): void;
98
127
  private readonly handleMoveStart;
99
128
  private readonly handleMoveEnd;
100
129
  private handlePan;
@@ -1 +1 @@
1
- {"version":3,"file":"orbit.d.ts","sourceRoot":"","sources":["../../../src/controller/camera/orbit.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,mBAAmB,EAEnB,2BAA2B,EAE9B,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,SAAS,EAAkB,MAAM,aAAa,CAAA;AAEvD,MAAM,WAAW,mCACb,SAAQ,2BAA2B;IACnC,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,+BAA+B;IAC5C,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB;;;;;OAKG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;;;;OAKG;IACH,cAAc,EAAE,MAAM,CAAA;IACtB;;;;;OAKG;IACH,WAAW,EAAE,OAAO,CAAA;IACpB;;;;;;;;;OASG;IACH,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,mCAAmC,GAAG,OAAO,CAAA;CAC/E;AAED,qBAAa,wBAAwB;IA2C7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IA1C5B,SAAgB,WAAW,sBAA4B;IAChD,OAAO,SAAO;IACd,OAAO,SAAW;IAClB,SAAS,SAAI;IACb,UAAU,SAAI;IACd,YAAY,SAAI;IAChB,WAAW,SAAI;IACf,YAAY,SAAI;IAChB,cAAc,SAAI;IACzB;;;OAGG;IACI,WAAW,UAAQ;IAC1B;;;;;;;;;OASG;IACI,aAAa,EAAE,CAClB,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,mCAAmC,KACvC,OAAO,CAAA;IAEZ;;OAEG;IACI,QAAQ,UAAO;IACtB,OAAO,CAAC,SAAS,CAA4B;IAC7C;;;OAGG;IACH,OAAO,CAAC,aAAa,CAAI;IACzB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAgB;gBAG9B,OAAO,EAAE,mBAAmB,EAC7C,EACI,OAAc,EACd,OAAkB,EAClB,SAAa,EACb,UAAc,EACd,YAAgB,EAChB,WAAe,EACf,YAAgB,EAChB,cAAkB,EAClB,WAAmB,EACnB,aAA0B,GAC7B,GAAE,OAAO,CAAC,+BAA+B,CAAM;IAoBpD,IAAI,OAAO,IAGQ,OAAO,CADzB;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAEzB;IAED,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM;IAalE,kBAAkB,CAAC,WAAW,EAAE,MAAM;IAOtC,MAAM;IAMN,OAAO,CAAC,QAAQ,CAAC,UAAU,CAkB1B;IAED,OAAO,CAAC,KAAK;IAYb,OAAO,CAAC,QAAQ,CAAC,eAAe,CAK/B;IAED,OAAO,CAAC,QAAQ,CAAC,aAAa,CAsB7B;IAED,OAAO,CAAC,SAAS;IAsBjB,OAAO,CAAC,mBAAmB;IAkB3B,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAuB1B;IAED,OAAO,CAAC,cAAc;CAGzB"}
1
+ {"version":3,"file":"orbit.d.ts","sourceRoot":"","sources":["../../../src/controller/camera/orbit.ts"],"names":[],"mappings":"AAMA,OAAO,EAEH,2BAA2B,EAE9B,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,SAAS,EAAkB,MAAM,aAAa,CAAA;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,WAAW,mCACb,SAAQ,2BAA2B;IACnC,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,+BAA+B;IAC5C,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB;;;;;OAKG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;;;;OAKG;IACH,cAAc,EAAE,MAAM,CAAA;IACtB;;;;;OAKG;IACH,WAAW,EAAE,OAAO,CAAA;IACpB;;;;;;;;;OASG;IACH,aAAa,CACT,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,mCAAmC,GAC3C,OAAO,CAAA;IACV;;;OAGG;IACH,GAAG,EAAE,OAAO,CAAC;QACT,2BAA2B;QAC3B,GAAG,EAAE,MAAM,CAAA;QACX,2BAA2B;QAC3B,GAAG,EAAE,MAAM,CAAA;QACX,2BAA2B;QAC3B,MAAM,EAAE,MAAM,CAAA;QACd,2BAA2B;QAC3B,MAAM,EAAE,MAAM,CAAA;QACd,2BAA2B;QAC3B,MAAM,EAAE,MAAM,CAAA;QACd,2BAA2B;QAC3B,MAAM,EAAE,MAAM,CAAA;KACjB,CAAC,CAAA;CACL;AAED,qBAAa,wBAAwB;IAwD7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAvD5B,OAAO,CAAC,MAAM,CAAC,OAAO,CAAI;IAE1B,SAAgB,EAAE,SAAgD;IAClE,SAAgB,WAAW,sBAA4B;IAChD,OAAO,SAAO;IACd,OAAO,SAAW;IAClB,SAAS,SAAI;IACb,UAAU,SAAI;IACd,YAAY,SAAI;IAChB,WAAW,SAAI;IACf,YAAY,SAAI;IAChB,cAAc,SAAI;IACzB;;;OAGG;IACI,WAAW,UAAQ;IAC1B;;;;;;;;;OASG;IACI,aAAa,EAAE,CAClB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,mCAAmC,KACzC,OAAO,CAAA;IAEZ;;OAEG;IACI,QAAQ,UAAO;IAEtB,OAAO,CAAC,SAAS,CAA4B;IAC7C;;;OAGG;IACH,OAAO,CAAC,aAAa,CAAI;IACzB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAgB;IACnD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAOpB;IACD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;gBAGnB,OAAO,EAAE,UAAU,EACpC,EACI,GAAG,EACH,OAAc,EACd,OAAkB,EAClB,SAAa,EACb,UAAc,EACd,YAAgB,EAChB,WAAe,EACf,YAAgB,EAChB,cAAkB,EAClB,WAAmB,EACnB,aAA0B,GAC7B,GAAE,OAAO,CAAC,+BAA+B,CAAM;IAiCpD,IAAI,OAAO,IAGQ,OAAO,CADzB;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAEzB;IAED,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM;IAalE,kBAAkB,CAAC,WAAW,EAAE,MAAM;IAOtC,MAAM;IAMN,OAAO,CAAC,QAAQ,CAAC,UAAU,CAgC1B;IAED,OAAO,CAAC,KAAK;IAYb;;;;OAIG;IACI,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAoBxC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAK/B;IAED,OAAO,CAAC,QAAQ,CAAC,aAAa,CA0B7B;IAED,OAAO,CAAC,SAAS;IAsBjB,OAAO,CAAC,mBAAmB;IAkB3B,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,QAAQ,CAAC,UAAU,CA2B1B;IAED,OAAO,CAAC,cAAc;CAGzB"}
@@ -1,46 +1,123 @@
1
1
  import { tgdActionCreateCameraInterpolation, tgdEasingFunctionOutQuad, } from "./../../utils/index.js";
2
- import { clamp } from "./../../utils/math.js";
2
+ import { tgdCalcClamp } from "./../../utils/math.js";
3
3
  import { TgdEvent } from "./../../event/index.js";
4
+ import { TgdMat3, TgdQuat, TgdVec3 } from "./../../math/index.js";
4
5
  export class TgdControllerCameraOrbit {
5
- context;
6
- eventChange = new TgdEvent();
7
- minZoom = 1e-3;
8
- maxZoom = Infinity;
9
- speedZoom = 1;
10
- speedOrbit = 1;
11
- speedPanning = 1;
12
- inertiaZoom = 0;
13
- inertiaOrbit = 0;
14
- inertiaPanning = 0;
15
- /**
16
- * If `true`, pannig will only act on `camera.shift`,
17
- * not on `camera.target`.
18
- */
19
- fixedTarget = false;
20
- /**
21
- * Zooming can be done by the mouse wheel.
22
- * In this case, we may want to prevent it when the
23
- * canvas is not in fullscreen, to let the rest of
24
- * the page to scroll.
25
- *
26
- * This function, if defined, will be called just
27
- * before the zoom event. If it returns `false`,
28
- * the event is not dispatched.
29
- */
30
- onZoomRequest;
31
- /**
32
- * The camera will only move if `enabled === true`.
33
- */
34
- _enabled = true;
35
- animOrbit = null;
36
- /**
37
- * It can be usefull to disable to orbit controller for some time
38
- * because an animation is going on on the camera, for instance.
39
- */
40
- disabledUntil = 0;
41
- cameraInitialState;
42
- constructor(context, { minZoom = 1e-3, maxZoom = Infinity, speedZoom = 1, speedOrbit = 1, speedPanning = 1, inertiaZoom = 0, inertiaOrbit = 0, inertiaPanning = 0, fixedTarget = false, onZoomRequest = alwaysTrue, } = {}) {
6
+ constructor(context, { geo, minZoom = 1e-3, maxZoom = Infinity, speedZoom = 1, speedOrbit = 1, speedPanning = 1, inertiaZoom = 0, inertiaOrbit = 0, inertiaPanning = 0, fixedTarget = false, onZoomRequest = alwaysTrue, } = {}) {
43
7
  this.context = context;
8
+ this.id = `Orbit-${TgdControllerCameraOrbit.counter++}`;
9
+ this.eventChange = new TgdEvent();
10
+ this.minZoom = 1e-3;
11
+ this.maxZoom = Infinity;
12
+ this.speedZoom = 1;
13
+ this.speedOrbit = 1;
14
+ this.speedPanning = 1;
15
+ this.inertiaZoom = 0;
16
+ this.inertiaOrbit = 0;
17
+ this.inertiaPanning = 0;
18
+ /**
19
+ * If `true`, pannig will only act on `camera.shift`,
20
+ * not on `camera.target`.
21
+ */
22
+ this.fixedTarget = false;
23
+ /**
24
+ * The camera will only move if `enabled === true`.
25
+ */
26
+ this._enabled = true;
27
+ this.animOrbit = null;
28
+ /**
29
+ * It can be usefull to disable to orbit controller for some time
30
+ * because an animation is going on on the camera, for instance.
31
+ */
32
+ this.disabledUntil = 0;
33
+ this.tmpQuat = new TgdQuat();
34
+ this.handleMove = (event) => {
35
+ if (!this.enabled)
36
+ return;
37
+ const dt = event.current.t - event.previous.t;
38
+ if (dt <= 0)
39
+ return;
40
+ const { context } = this;
41
+ const { keyboard } = context.inputs;
42
+ if (event.altKey || event.current.fingersCount === 2)
43
+ return this.handlePan(event);
44
+ if (this.geo) {
45
+ const speed = keyboard.isDown("Shift") ? 0.2 : 2;
46
+ const lngDelta = keyboard.isDown("x")
47
+ ? 0
48
+ : speed * (event.previous.x - event.current.x);
49
+ const latDelta = keyboard.isDown("y")
50
+ ? 0
51
+ : speed * (event.previous.y - event.current.y);
52
+ const lng = this.geo.lng + lngDelta;
53
+ const lat = this.geo.lat + latDelta;
54
+ this.orbitGeo(lat, lng);
55
+ return;
56
+ }
57
+ if (keyboard.isDown("z"))
58
+ return this.handleRotateAroundZ(event);
59
+ this.orbit(event.current.x - event.previous.x, event.current.y - event.previous.y, event.shiftKey);
60
+ };
61
+ this.handleMoveStart = () => {
62
+ if (!this.enabled)
63
+ return;
64
+ const { animOrbit, context } = this;
65
+ if (animOrbit)
66
+ context.animCancel(animOrbit);
67
+ };
68
+ this.handleMoveEnd = (event) => {
69
+ if (!this.enabled)
70
+ return;
71
+ const { context, inertiaOrbit } = this;
72
+ if (inertiaOrbit > 0) {
73
+ const inverseDeltaTime = inertiaOrbit / (event.current.t - event.previous.t);
74
+ const slowDown = event.shiftKey;
75
+ const dx = inverseDeltaTime * (event.current.x - event.previous.x);
76
+ const dy = inverseDeltaTime * (event.current.y - event.previous.y);
77
+ let previousAlpha = 0;
78
+ this.animOrbit = {
79
+ duration: inertiaOrbit,
80
+ action: alpha => {
81
+ const t = alpha - previousAlpha;
82
+ previousAlpha = alpha;
83
+ if (this.geo) {
84
+ // this.orbitLatLng(lat, lng)
85
+ }
86
+ else {
87
+ this.orbit(dx * t, dy * t, slowDown);
88
+ }
89
+ },
90
+ easingFunction: tgdEasingFunctionOutQuad,
91
+ };
92
+ context.animSchedule(this.animOrbit);
93
+ }
94
+ };
95
+ this.handleZoom = (event) => {
96
+ if (!this.enabled ||
97
+ this.speedZoom === 0 ||
98
+ !this.onZoomRequest({
99
+ altKey: event.altKey,
100
+ ctrlKey: event.ctrlKey,
101
+ metaKey: event.metaKey,
102
+ shiftKey: event.shiftKey,
103
+ x: event.current.x,
104
+ y: event.current.y,
105
+ }))
106
+ return;
107
+ const { context } = this;
108
+ const { camera } = context;
109
+ let speed = 0.1 * this.speedZoom;
110
+ if (this.context.inputs.keyboard.isDown("Shift"))
111
+ speed *= 0.1;
112
+ const dz = -event.direction * speed;
113
+ camera.zoom = tgdCalcClamp(camera.zoom * (1 + dz), this.minZoom, this.maxZoom);
114
+ event.preventDefault();
115
+ this.fireZoomChange();
116
+ };
117
+ this.geo = undefined;
118
+ if (geo) {
119
+ this.geo = Object.assign({ lat: 0, lng: 0, minLat: -Math.PI / 2, maxLat: +Math.PI / 2, minLng: -Number.MAX_VALUE, maxLng: +Number.MAX_VALUE }, geo);
120
+ }
44
121
  this.cameraInitialState = context.camera.getCurrentState();
45
122
  const { inputs } = context;
46
123
  inputs.pointer.eventMoveStart.addListener(this.handleMoveStart);
@@ -57,6 +134,8 @@ export class TgdControllerCameraOrbit {
57
134
  this.minZoom = minZoom;
58
135
  this.maxZoom = maxZoom;
59
136
  this.onZoomRequest = onZoomRequest;
137
+ if (this.geo)
138
+ this.orbitGeo(this.geo.lat, this.geo.lng);
60
139
  }
61
140
  get enabled() {
62
141
  return this.context.time > this.disabledUntil && this._enabled;
@@ -81,20 +160,6 @@ export class TgdControllerCameraOrbit {
81
160
  inputs.pointer.eventMove.removeListener(this.handleMove);
82
161
  inputs.pointer.eventZoom.removeListener(this.handleZoom);
83
162
  }
84
- handleMove = (evt) => {
85
- if (!this.enabled)
86
- return;
87
- const dt = evt.current.t - evt.previous.t;
88
- if (dt <= 0)
89
- return;
90
- const { context } = this;
91
- const { keyboard } = context.inputs;
92
- if (evt.altKey || evt.current.fingersCount === 2)
93
- return this.handlePan(evt);
94
- if (keyboard.isDown("z"))
95
- return this.handleRotateAroundZ(evt);
96
- this.orbit(evt.current.x - evt.previous.x, evt.current.y - evt.previous.y, evt.shiftKey);
97
- };
98
163
  orbit(deltaX, deltaY, slowDown) {
99
164
  const { context } = this;
100
165
  const { camera } = context;
@@ -103,74 +168,69 @@ export class TgdControllerCameraOrbit {
103
168
  const dx = deltaX * speed;
104
169
  const dy = deltaY * speed;
105
170
  if (!keyboard.isDown("x"))
106
- camera.orbitAroundY(-dx);
171
+ camera.transfo.orbitAroundY(-dx);
107
172
  if (!keyboard.isDown("y"))
108
- camera.orbitAroundX(dy);
173
+ camera.transfo.orbitAroundX(dy);
109
174
  this.fireOrbitChange();
110
175
  }
111
- handleMoveStart = () => {
112
- if (!this.enabled)
113
- return;
114
- const { animOrbit, context } = this;
115
- if (animOrbit)
116
- context.animCancel(animOrbit);
117
- };
118
- handleMoveEnd = (evt) => {
119
- if (!this.enabled)
176
+ /**
177
+ * Set the camera orientation from latitude/longitude
178
+ * @param lat Expressed in radians
179
+ * @param lng Expressed in radians
180
+ */
181
+ orbitGeo(lat, lng) {
182
+ const { geo } = this;
183
+ if (!geo)
120
184
  return;
121
- const { context, inertiaOrbit } = this;
122
- if (inertiaOrbit > 0) {
123
- const inverseDeltaTime = inertiaOrbit / (evt.current.t - evt.previous.t);
124
- const slowDown = evt.shiftKey;
125
- const dx = inverseDeltaTime * (evt.current.x - evt.previous.x);
126
- const dy = inverseDeltaTime * (evt.current.y - evt.previous.y);
127
- let previousAlpha = 0;
128
- this.animOrbit = {
129
- duration: inertiaOrbit,
130
- action: alpha => {
131
- const t = alpha - previousAlpha;
132
- previousAlpha = alpha;
133
- this.orbit(dx * t, dy * t, slowDown);
134
- },
135
- easingFunction: tgdEasingFunctionOutQuad,
136
- };
137
- context.animSchedule(this.animOrbit);
138
- }
139
- };
140
- handlePan(evt) {
185
+ lat = tgdCalcClamp(lat, geo.minLat, geo.maxLat);
186
+ geo.lat = lat;
187
+ lng = tgdCalcClamp(lng, geo.minLng, geo.maxLng);
188
+ geo.lng = lng;
189
+ const { orientation } = this.cameraInitialState;
190
+ const vecZ = makeGeoVec3(lat, lng);
191
+ const vecY = makeGeoVec3(lat + Math.PI / 2, lng);
192
+ const vecX = new TgdVec3(vecY).cross(vecZ);
193
+ const mat = new TgdMat3();
194
+ orientation.toMatrix(mat);
195
+ const final = new TgdMat3(vecX, vecY, vecZ);
196
+ final.multiply(mat);
197
+ this.tmpQuat.fromMatrix(final);
198
+ this.context.camera.transfo.orientation = this.tmpQuat;
199
+ }
200
+ handlePan(event) {
141
201
  const { fixedTarget, speedPanning, context } = this;
142
202
  const { camera } = context;
143
203
  const inverseZoom = 1 / camera.zoom;
144
204
  const panSpeed = 0.5 * speedPanning * inverseZoom;
145
- const dx = (evt.current.x - evt.previous.x) *
205
+ const dx = (event.current.x - event.previous.x) *
146
206
  panSpeed *
147
207
  camera.spaceWidthAtTarget;
148
- const dy = (evt.current.y - evt.previous.y) *
208
+ const dy = (event.current.y - event.previous.y) *
149
209
  panSpeed *
150
210
  camera.spaceHeightAtTarget;
151
211
  if (fixedTarget) {
152
- camera.moveShift(-dx, -dy, 0);
212
+ // camera.moveShift(-dx, -dy, 0)
153
213
  }
154
214
  else {
155
- camera.moveTarget(-dx, -dy, 0);
215
+ camera.transfo.moveAlongAxes(-dx, -dy, 0);
156
216
  }
157
217
  this.fireOrbitChange();
158
218
  return;
159
219
  }
160
- handleRotateAroundZ(evt) {
220
+ handleRotateAroundZ(event) {
161
221
  const { camera } = this.context;
162
- const x1 = evt.previous.x;
163
- const y1 = evt.previous.y;
222
+ const x1 = event.previous.x;
223
+ const y1 = event.previous.y;
164
224
  if (Math.abs(x1) + Math.abs(y1) === 0)
165
225
  return;
166
- const x2 = evt.current.x;
167
- const y2 = evt.current.y;
226
+ const x2 = event.current.x;
227
+ const y2 = event.current.y;
168
228
  if (Math.abs(x2) + Math.abs(y2) === 0)
169
229
  return;
170
230
  const x = x1 * x2 + y1 * y2;
171
231
  const y = x1 * y2 - y1 * x2;
172
232
  const ang = Math.atan2(y, x) * this.speedOrbit;
173
- camera.orbitAroundZ(-ang);
233
+ camera.transfo.orbitAroundZ(ang);
174
234
  this.fireOrbitChange();
175
235
  return;
176
236
  }
@@ -178,34 +238,20 @@ export class TgdControllerCameraOrbit {
178
238
  this.context.paint();
179
239
  this.eventChange.dispatch(this.context.camera);
180
240
  }
181
- handleZoom = (evt) => {
182
- if (!this.enabled ||
183
- this.speedZoom === 0 ||
184
- !this.onZoomRequest({
185
- altKey: evt.altKey,
186
- ctrlKey: evt.ctrlKey,
187
- metaKey: evt.metaKey,
188
- shiftKey: evt.shiftKey,
189
- x: evt.current.x,
190
- y: evt.current.y,
191
- }))
192
- return;
193
- const { context } = this;
194
- const { camera } = context;
195
- let speed = 0.1 * this.speedZoom;
196
- if (this.context.inputs.keyboard.isDown("Shift"))
197
- speed *= 0.1;
198
- const dz = -evt.direction * speed;
199
- camera.zoom = clamp(camera.zoom * (1 + dz), this.minZoom, this.maxZoom);
200
- evt.preventDefault();
201
- this.fireZoomChange();
202
- };
203
241
  fireZoomChange() {
204
242
  this.context.paint();
205
243
  }
206
244
  }
245
+ TgdControllerCameraOrbit.counter = 0;
207
246
  /**
208
247
  * Default function for `onZoomRequest`.
209
248
  */
210
249
  const alwaysTrue = () => true;
211
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JiaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJvbGxlci9jYW1lcmEvb3JiaXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNILGtDQUFrQyxFQUNsQyx3QkFBd0IsR0FDM0IsTUFBTSxZQUFZLENBQUE7QUFDbkIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBT3ZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFzRHJDLE1BQU0sT0FBTyx3QkFBd0I7SUEyQ1o7SUExQ0wsV0FBVyxHQUFHLElBQUksUUFBUSxFQUFhLENBQUE7SUFDaEQsT0FBTyxHQUFHLElBQUksQ0FBQTtJQUNkLE9BQU8sR0FBRyxRQUFRLENBQUE7SUFDbEIsU0FBUyxHQUFHLENBQUMsQ0FBQTtJQUNiLFVBQVUsR0FBRyxDQUFDLENBQUE7SUFDZCxZQUFZLEdBQUcsQ0FBQyxDQUFBO0lBQ2hCLFdBQVcsR0FBRyxDQUFDLENBQUE7SUFDZixZQUFZLEdBQUcsQ0FBQyxDQUFBO0lBQ2hCLGNBQWMsR0FBRyxDQUFDLENBQUE7SUFDekI7OztPQUdHO0lBQ0ksV0FBVyxHQUFHLEtBQUssQ0FBQTtJQUMxQjs7Ozs7Ozs7O09BU0c7SUFDSSxhQUFhLENBR1I7SUFFWjs7T0FFRztJQUNJLFFBQVEsR0FBRyxJQUFJLENBQUE7SUFDZCxTQUFTLEdBQXdCLElBQUksQ0FBQTtJQUM3Qzs7O09BR0c7SUFDSyxhQUFhLEdBQUcsQ0FBQyxDQUFBO0lBQ1Isa0JBQWtCLENBQWdCO0lBRW5ELFlBQ3FCLE9BQTRCLEVBQzdDLEVBQ0ksT0FBTyxHQUFHLElBQUksRUFDZCxPQUFPLEdBQUcsUUFBUSxFQUNsQixTQUFTLEdBQUcsQ0FBQyxFQUNiLFVBQVUsR0FBRyxDQUFDLEVBQ2QsWUFBWSxHQUFHLENBQUMsRUFDaEIsV0FBVyxHQUFHLENBQUMsRUFDZixZQUFZLEdBQUcsQ0FBQyxFQUNoQixjQUFj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
250
+ function makeGeoVec3(lat, lng) {
251
+ const radius = Math.cos(lat);
252
+ const y = Math.sin(lat);
253
+ const z = radius * Math.cos(lng);
254
+ const x = radius * Math.sin(lng);
255
+ return new TgdVec3(x, y, z);
256
+ }
257
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JiaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJvbGxlci9jYW1lcmEvb3JiaXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNILGtDQUFrQyxFQUNsQyx3QkFBd0IsR0FDM0IsTUFBTSxZQUFZLENBQUE7QUFDbkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBTTlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBMkVyRCxNQUFNLE9BQU8sd0JBQXdCO0lBdURqQyxZQUNxQixPQUFtQixFQUNwQyxFQUNJLEdBQUcsRUFDSCxPQUFPLEdBQUcsSUFBSSxFQUNkLE9BQU8sR0FBRyxRQUFRLEVBQ2xCLFNBQVMsR0FBRyxDQUFDLEVBQ2IsVUFBVSxHQUFHLENBQUMsRUFDZCxZQUFZLEdBQUcsQ0FBQyxFQUNoQixXQUFXLEdBQUcsQ0FBQyxFQUNmLFlBQVksR0FBRyxDQUFDLEVBQ2hCLGNBQWMsR0FBRyxDQUFDLEVBQ2xCLFdBQVcsR0FBRyxLQUFLLEVBQ25CLGFBQWEsR0FBRyxVQUFVLE1BQ2dCLEVBQUU7UUFiL0IsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQXJEeEIsT0FBRSxHQUFHLFNBQVMsd0JBQXdCLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQTtRQUNsRCxnQkFBVyxHQUFHLElBQUksUUFBUSxFQUFhLENBQUE7UUFDaEQsWUFBTyxHQUFHLElBQUksQ0FBQTtRQUNkLFlBQU8sR0FBRyxRQUFRLENBQUE7UUFDbEIsY0FBUyxHQUFHLENBQUMsQ0FBQTtRQUNiLGVBQVUsR0FBRyxDQUFDLENBQUE7UUFDZCxpQkFBWSxHQUFHLENBQUMsQ0FBQTtRQUNoQixnQkFBVyxHQUFHLENBQUMsQ0FBQTtRQUNmLGlCQUFZLEdBQUcsQ0FBQyxDQUFBO1FB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
@@ -1,5 +1,5 @@
1
- import { TgdProgram } from "../types";
2
1
  import { TgdBufferOptionTarget, TgdBufferOptionUsage } from "../buffer";
2
+ import { TgdProgram } from "../program";
3
3
  export type TgdDatasetType = "float" | "vec2" | "vec3" | "vec4";
4
4
  export interface TgdDatasetOptions {
5
5
  divisor: number;
@@ -1 +1 @@
1
- {"version":3,"file":"dataset.d.ts","sourceRoot":"","sources":["../../src/dataset/dataset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAEzE,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;AAE/D,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,qBAAqB,CAAA;IAC7B,KAAK,EAAE,oBAAoB,CAAA;CAC9B;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;AAEjE,qBAAa,UAAU;IAUf,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAV5B,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,WAAW,CAAsD;IACzE,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,MAAM,CAAI;IAEX,MAAM,EAAE,qBAAqB,CAAA;IAC7B,KAAK,EAAE,oBAAoB,CAAA;gBAGb,oBAAoB,EAAE,oBAAoB,EAC1C,OAAO,GAAE,OAAO,CAAC,iBAAiB,CAAM;IAO7D,OAAO,CAAC,UAAU;IAqClB;;;;;OAKG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAmB9D,aAAa,CAAC,oBAAoB,EAAE,oBAAoB;IAyCxD,KAAK,IAAI,UAAU;IAcnB;;;;;OAKG;IACH,IAAI,IAAI,IAAI,QAAQ,CAAC,WAAW,CAAC,CAEhC;IAED,gCAAgC;IAChC,IAAI,KAAK,IAIQ,MAAM,CAFtB;IACD,6DAA6D;IAC7D,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAKtB;IAED,IAAI,eAAe,IAAI,MAAM,EAAE,CAE9B;IAED,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG;QACnC,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;QAClD,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;KAClE;IAsBD;;;;;;;;;;;;OAYG;IACH,GAAG,CACC,UAAU,EAAE,MAAM,EAClB,KAAK,EACC,WAAW,GACX,SAAS,GACT,UAAU,GACV,UAAU,GACV,WAAW,GACX,WAAW,GACX,YAAY,GACZ;QAAE,MAAM,EAAE,WAAW,CAAA;KAAE,EAC7B,EACI,UAAc,EACd,UAAU,EACV,KAAS,EACT,KAAgB,EAChB,WAAe,GAClB,GAAE,OAAO,CAAC;QACP;;WAEG;QACH,UAAU,EAAE,MAAM,CAAA;QAClB;;;WAGG;QACH,UAAU,EAAE,MAAM,CAAA;QAClB;;;WAGG;QACH,KAAK,EAAE,MAAM,CAAA;QACb;;;WAGG;QACH,KAAK,EAAE,MAAM,CAAA;QACb;;;WAGG;QACH,WAAW,EAAE,MAAM,CAAA;KACtB,CAAM;IAoCX,OAAO,CAAC,MAAM;IAed;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,EAAE,sBAAsB,EAAE,GAAG,EAAE,UAAU;IAuB5D,MAAM,CAAC,EAAE,MAAW,EAAE,GAAE,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAM;IA0BxD,KAAK,CAAC,OAAO,SAAY;CAgD5B"}
1
+ {"version":3,"file":"dataset.d.ts","sourceRoot":"","sources":["../../src/dataset/dataset.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;AAE/D,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,qBAAqB,CAAA;IAC7B,KAAK,EAAE,oBAAoB,CAAA;CAC9B;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;AAEjE,qBAAa,UAAU;IAUf,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAV5B,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,WAAW,CAAsD;IACzE,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,MAAM,CAAI;IAEX,MAAM,EAAE,qBAAqB,CAAA;IAC7B,KAAK,EAAE,oBAAoB,CAAA;gBAGb,oBAAoB,EAAE,oBAAoB,EAC1C,OAAO,GAAE,OAAO,CAAC,iBAAiB,CAAM;IAO7D,OAAO,CAAC,UAAU;IAqClB;;;;;OAKG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAmB9D,aAAa,CAAC,oBAAoB,EAAE,oBAAoB;IA2CxD,KAAK,IAAI,UAAU;IAcnB;;;;;OAKG;IACH,IAAI,IAAI,IAAI,QAAQ,CAAC,WAAW,CAAC,CAEhC;IAED,gCAAgC;IAChC,IAAI,KAAK,IAIQ,MAAM,CAFtB;IACD,6DAA6D;IAC7D,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAKtB;IAED,IAAI,eAAe,IAAI,MAAM,EAAE,CAE9B;IAED,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG;QACnC,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;QAClD,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;KAClE;IAsBD;;;;;;;;;;;;OAYG;IACH,GAAG,CACC,UAAU,EAAE,MAAM,EAClB,KAAK,EACC,WAAW,GACX,SAAS,GACT,UAAU,GACV,UAAU,GACV,WAAW,GACX,WAAW,GACX,YAAY,GACZ;QAAE,MAAM,EAAE,WAAW,CAAA;KAAE,EAC7B,EACI,UAAc,EACd,UAAU,EACV,KAAS,EACT,KAAgB,EAChB,WAAe,GAClB,GAAE,OAAO,CAAC;QACP;;WAEG;QACH,UAAU,EAAE,MAAM,CAAA;QAClB;;;WAGG;QACH,UAAU,EAAE,MAAM,CAAA;QAClB;;;WAGG;QACH,KAAK,EAAE,MAAM,CAAA;QACb;;;WAGG;QACH,KAAK,EAAE,MAAM,CAAA;QACb;;;WAGG;QACH,WAAW,EAAE,MAAM,CAAA;KACtB,CAAM;IAwCX,OAAO,CAAC,MAAM;IAed;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,EAAE,sBAAsB,EAAE,GAAG,EAAE,UAAU;IAuB5D,MAAM,CAAC,EAAE,MAAW,EAAE,GAAE,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAM;IA0BxD,KAAK,CAAC,OAAO,SAAY;CAoD5B"}