@tolokoban/tgd 2.0.20 → 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 (310) hide show
  1. package/lib/dist/buffer/buffer.js +2 -2
  2. package/lib/dist/camera/camera-node.d.ts +2 -2
  3. package/lib/dist/camera/camera-node.d.ts.map +1 -1
  4. package/lib/dist/camera/camera-node.js +4 -4
  5. package/lib/dist/camera/camera-orthographic.d.ts.map +1 -1
  6. package/lib/dist/camera/camera-orthographic.js +6 -5
  7. package/lib/dist/camera/camera-perspective.d.ts.map +1 -1
  8. package/lib/dist/camera/camera-perspective.js +12 -31
  9. package/lib/dist/camera/camera.d.ts +9 -56
  10. package/lib/dist/camera/camera.d.ts.map +1 -1
  11. package/lib/dist/camera/camera.js +28 -257
  12. package/lib/dist/camera/index.d.ts +0 -1
  13. package/lib/dist/camera/index.d.ts.map +1 -1
  14. package/lib/dist/camera/index.js +1 -2
  15. package/lib/dist/canvas/gizmo/gizmo.d.ts.map +1 -1
  16. package/lib/dist/canvas/gizmo/gizmo.js +18 -20
  17. package/lib/dist/canvas/gizmo/painter/tips.js +16 -16
  18. package/lib/dist/code/color.d.ts +12 -0
  19. package/lib/dist/code/color.d.ts.map +1 -0
  20. package/lib/dist/code/color.js +26 -0
  21. package/lib/dist/code/consts.d.ts +16 -0
  22. package/lib/dist/code/consts.d.ts.map +1 -0
  23. package/lib/dist/code/consts.js +20 -0
  24. package/lib/dist/code/coords.d.ts +46 -0
  25. package/lib/dist/code/coords.d.ts.map +1 -0
  26. package/lib/dist/code/coords.js +95 -0
  27. package/lib/dist/code/index.d.ts +6 -0
  28. package/lib/dist/code/index.d.ts.map +1 -0
  29. package/lib/dist/code/index.js +6 -0
  30. package/lib/dist/code/random.d.ts +8 -0
  31. package/lib/dist/code/random.d.ts.map +1 -0
  32. package/lib/dist/code/random.js +13 -0
  33. package/lib/dist/code/transfo.d.ts +8 -0
  34. package/lib/dist/code/transfo.d.ts.map +1 -0
  35. package/lib/dist/code/transfo.js +19 -0
  36. package/lib/dist/color/color.js +10 -10
  37. package/lib/dist/context/animation/animation-manager.js +3 -3
  38. package/lib/dist/context/context.d.ts +6 -0
  39. package/lib/dist/context/context.d.ts.map +1 -1
  40. package/lib/dist/context/context.js +33 -22
  41. package/lib/dist/controller/camera/orbit.d.ts +9 -2
  42. package/lib/dist/controller/camera/orbit.d.ts.map +1 -1
  43. package/lib/dist/controller/camera/orbit.js +47 -45
  44. package/lib/dist/dataset/dataset.d.ts.map +1 -1
  45. package/lib/dist/dataset/dataset.js +61 -56
  46. package/lib/dist/debug/debug.d.ts +1 -1
  47. package/lib/dist/debug/debug.d.ts.map +1 -1
  48. package/lib/dist/debug/debug.js +3 -3
  49. package/lib/dist/debug/tools.js +3 -3
  50. package/lib/dist/event/event.js +3 -2
  51. package/lib/dist/filter/blur.d.ts.map +1 -1
  52. package/lib/dist/filter/blur.js +9 -8
  53. package/lib/dist/filter/filter.d.ts.map +1 -1
  54. package/lib/dist/filter/hue-rotation.d.ts.map +1 -1
  55. package/lib/dist/filter/zoom.d.ts.map +1 -1
  56. package/lib/dist/geometry/box.d.ts +2 -1
  57. package/lib/dist/geometry/box.d.ts.map +1 -1
  58. package/lib/dist/geometry/box.js +103 -115
  59. package/lib/dist/geometry/geometry.d.ts.map +1 -1
  60. package/lib/dist/geometry/geometry.js +33 -35
  61. package/lib/dist/index.d.ts +2 -0
  62. package/lib/dist/index.d.ts.map +1 -1
  63. package/lib/dist/index.js +3 -1
  64. package/lib/dist/input/keyboard.js +8 -8
  65. package/lib/dist/input/pointer.d.ts.map +1 -1
  66. package/lib/dist/input/pointer.js +30 -33
  67. package/lib/dist/interface/transformable.d.ts +3 -1
  68. package/lib/dist/interface/transformable.d.ts.map +1 -1
  69. package/lib/dist/loader/asset.js +2 -2
  70. package/lib/dist/loader/binary.js +6 -6
  71. package/lib/dist/loader/image.js +9 -9
  72. package/lib/dist/loader/index.d.ts +1 -0
  73. package/lib/dist/loader/index.d.ts.map +1 -1
  74. package/lib/dist/loader/index.js +2 -1
  75. package/lib/dist/loader/video.d.ts +6 -0
  76. package/lib/dist/loader/video.d.ts.map +1 -0
  77. package/lib/dist/loader/video.js +23 -0
  78. package/lib/dist/log.d.ts +1 -1
  79. package/lib/dist/log.d.ts.map +1 -1
  80. package/lib/dist/log.js +13 -13
  81. package/lib/dist/math/common.test.d.ts +2 -0
  82. package/lib/dist/math/common.test.d.ts.map +1 -0
  83. package/lib/dist/math/common.test.js +22 -0
  84. package/lib/dist/math/index.d.ts +0 -1
  85. package/lib/dist/math/index.d.ts.map +1 -1
  86. package/lib/dist/math/index.js +1 -2
  87. package/lib/dist/math/mat3.d.ts +40 -16
  88. package/lib/dist/math/mat3.d.ts.map +1 -1
  89. package/lib/dist/math/mat3.js +124 -97
  90. package/lib/dist/math/mat3.test.d.ts +2 -0
  91. package/lib/dist/math/mat3.test.d.ts.map +1 -0
  92. package/lib/dist/math/mat3.test.js +32 -0
  93. package/lib/dist/math/mat4.d.ts +54 -121
  94. package/lib/dist/math/mat4.d.ts.map +1 -1
  95. package/lib/dist/math/mat4.js +167 -288
  96. package/lib/dist/math/quat.d.ts +5 -3
  97. package/lib/dist/math/quat.d.ts.map +1 -1
  98. package/lib/dist/math/quat.js +38 -72
  99. package/lib/dist/math/quat.test.d.ts +1 -0
  100. package/lib/dist/math/quat.test.d.ts.map +1 -1
  101. package/lib/dist/math/quat.test.js +81 -27
  102. package/lib/dist/math/transfo.d.ts +32 -5
  103. package/lib/dist/math/transfo.d.ts.map +1 -1
  104. package/lib/dist/math/transfo.js +126 -39
  105. package/lib/dist/math/vec2.js +6 -6
  106. package/lib/dist/math/vec3.d.ts +11 -3
  107. package/lib/dist/math/vec3.d.ts.map +1 -1
  108. package/lib/dist/math/vec3.js +30 -17
  109. package/lib/dist/math/vec3.test.js +20 -1
  110. package/lib/dist/math/vec4.d.ts +12 -3
  111. package/lib/dist/math/vec4.d.ts.map +1 -1
  112. package/lib/dist/math/vec4.js +29 -11
  113. package/lib/dist/painter/{axis/axis.d.ts → axes/axes.d.ts} +4 -4
  114. package/lib/dist/painter/{axis/axis.d.ts.map → axes/axes.d.ts.map} +1 -1
  115. package/lib/dist/painter/{axis/axis.frag → axes/axes.frag} +0 -0
  116. package/lib/dist/painter/axes/axes.js +82 -0
  117. package/lib/dist/painter/{axis/axis.vert → axes/axes.vert} +0 -0
  118. package/lib/dist/painter/axes/index.d.ts +2 -0
  119. package/lib/dist/painter/axes/index.d.ts.map +1 -0
  120. package/lib/dist/painter/axes/index.js +2 -0
  121. package/lib/dist/painter/background/background.d.ts +3 -2
  122. package/lib/dist/painter/background/background.d.ts.map +1 -1
  123. package/lib/dist/painter/background/background.js +4 -4
  124. package/lib/dist/painter/clear.js +3 -4
  125. package/lib/dist/painter/debug/stencil/stencil.js +2 -2
  126. package/lib/dist/painter/depth.d.ts +4 -4
  127. package/lib/dist/painter/depth.d.ts.map +1 -1
  128. package/lib/dist/painter/depth.js +3 -3
  129. package/lib/dist/painter/filter/filter.d.ts +2 -2
  130. package/lib/dist/painter/filter/filter.d.ts.map +1 -1
  131. package/lib/dist/painter/filter/filter.js +33 -24
  132. package/lib/dist/painter/framebuffer.js +3 -3
  133. package/lib/dist/painter/group.js +6 -5
  134. package/lib/dist/painter/index.d.ts +1 -1
  135. package/lib/dist/painter/index.js +1 -1
  136. package/lib/dist/painter/mesh/mesh/mesh.d.ts +2 -2
  137. package/lib/dist/painter/mesh/mesh/mesh.d.ts.map +1 -1
  138. package/lib/dist/painter/mesh/mesh/mesh.js +21 -10
  139. package/lib/dist/painter/mesh/normals/normals.d.ts.map +1 -1
  140. package/lib/dist/painter/mesh/normals/normals.js +4 -4
  141. package/lib/dist/painter/node/node.d.ts +12 -12
  142. package/lib/dist/painter/node/node.d.ts.map +1 -1
  143. package/lib/dist/painter/node/node.js +31 -42
  144. package/lib/dist/painter/segments/segments.js +13 -13
  145. package/lib/dist/painter/skybox/skybox.js +3 -3
  146. package/lib/dist/painter/state/state.d.ts +4 -6
  147. package/lib/dist/painter/state/state.d.ts.map +1 -1
  148. package/lib/dist/painter/state/state.js +83 -61
  149. package/lib/dist/parser/for-each-line.d.ts.map +1 -1
  150. package/lib/dist/parser/for-each-line.js +5 -5
  151. package/lib/dist/parser/gltf/gltf.d.ts.map +1 -1
  152. package/lib/dist/parser/gltf/gltf.js +37 -37
  153. package/lib/dist/parser/gltf/parser.js +10 -11
  154. package/lib/dist/parser/mesh/wavefront.d.ts.map +1 -1
  155. package/lib/dist/parser/mesh/wavefront.js +18 -26
  156. package/lib/dist/program/program.d.ts +2 -4
  157. package/lib/dist/program/program.d.ts.map +1 -1
  158. package/lib/dist/program/program.js +26 -27
  159. package/lib/dist/{utils/ref-map.d.ts → reference-map.d.ts} +4 -4
  160. package/lib/dist/reference-map.d.ts.map +1 -0
  161. package/lib/dist/reference-map.js +52 -0
  162. package/lib/dist/shader/code.d.ts +2 -2
  163. package/lib/dist/shader/code.d.ts.map +1 -1
  164. package/lib/dist/shader/code.js +12 -12
  165. package/lib/dist/shader/fragment.js +6 -6
  166. package/lib/dist/shader/vertex.js +6 -6
  167. package/lib/dist/table/table.d.ts.map +1 -1
  168. package/lib/dist/table/table.js +7 -4
  169. package/lib/dist/texture/index.d.ts +1 -1
  170. package/lib/dist/texture/index.d.ts.map +1 -1
  171. package/lib/dist/texture/index.js +2 -2
  172. package/lib/dist/texture/{textureCube.d.ts → texture-cube.d.ts} +1 -1
  173. package/lib/dist/texture/texture-cube.d.ts.map +1 -0
  174. package/lib/dist/texture/texture-cube.js +69 -0
  175. package/lib/dist/texture/texture2d.d.ts +6 -3
  176. package/lib/dist/texture/texture2d.d.ts.map +1 -1
  177. package/lib/dist/texture/texture2d.js +30 -12
  178. package/lib/dist/types/elements.js +2 -2
  179. package/lib/dist/types/guards.d.ts.map +1 -1
  180. package/lib/dist/types/guards.js +36 -37
  181. package/lib/dist/types/index.d.ts +1 -1
  182. package/lib/dist/types/index.d.ts.map +1 -1
  183. package/lib/dist/types/index.js +2 -2
  184. package/lib/dist/types/{textureCube.d.ts → texture-cube.d.ts} +1 -1
  185. package/lib/dist/types/texture-cube.d.ts.map +1 -0
  186. package/lib/dist/types/texture-cube.js +2 -0
  187. package/lib/dist/types/webgl.d.ts +5 -4
  188. package/lib/dist/types/webgl.d.ts.map +1 -1
  189. package/lib/dist/types/webgl.js +37 -30
  190. package/lib/dist/utils/action/camera.d.ts.map +1 -1
  191. package/lib/dist/utils/action/camera.js +15 -26
  192. package/lib/dist/utils/action/transfo.d.ts +3 -0
  193. package/lib/dist/utils/action/transfo.d.ts.map +1 -0
  194. package/lib/dist/utils/action/transfo.js +18 -0
  195. package/lib/dist/utils/action/vector.d.ts.map +1 -1
  196. package/lib/dist/utils/action/vector.js +11 -11
  197. package/lib/dist/utils/assert.d.ts.map +1 -1
  198. package/lib/dist/utils/assert.js +2 -2
  199. package/lib/dist/utils/bbox.test.js +18 -19
  200. package/lib/dist/utils/canvas.d.ts +3 -3
  201. package/lib/dist/utils/canvas.d.ts.map +1 -1
  202. package/lib/dist/utils/canvas.js +14 -14
  203. package/lib/dist/utils/{ease-func/ease-func.d.ts → easing-function/easing-function.d.ts} +1 -1
  204. package/lib/dist/utils/easing-function/easing-function.d.ts.map +1 -0
  205. package/lib/dist/utils/easing-function/easing-function.js +142 -0
  206. package/lib/dist/utils/easing-function/index.d.ts +2 -0
  207. package/lib/dist/utils/easing-function/index.d.ts.map +1 -0
  208. package/lib/dist/utils/easing-function/index.js +2 -0
  209. package/lib/dist/utils/framebuffer.js +2 -2
  210. package/lib/dist/utils/fullscreen.d.ts +1 -1
  211. package/lib/dist/utils/fullscreen.d.ts.map +1 -1
  212. package/lib/dist/utils/fullscreen.js +19 -19
  213. package/lib/dist/utils/index.d.ts +2 -1
  214. package/lib/dist/utils/index.d.ts.map +1 -1
  215. package/lib/dist/utils/index.js +3 -2
  216. package/lib/dist/utils/math.d.ts +4 -2
  217. package/lib/dist/utils/math.d.ts.map +1 -1
  218. package/lib/dist/utils/math.js +12 -4
  219. package/lib/dist/utils/pbo.d.ts.map +1 -1
  220. package/lib/dist/utils/pbo.js +3 -3
  221. package/lib/dist/{ref-map.d.ts → utils/reference-map.d.ts} +4 -4
  222. package/lib/dist/utils/reference-map.d.ts.map +1 -0
  223. package/lib/dist/utils/reference-map.js +52 -0
  224. package/lib/dist/utils/state/blend.d.ts +5 -5
  225. package/lib/dist/utils/state/blend.d.ts.map +1 -1
  226. package/lib/dist/utils/state/blend.js +10 -10
  227. package/lib/dist/utils/state/depth.d.ts +2 -2
  228. package/lib/dist/utils/state/depth.d.ts.map +1 -1
  229. package/lib/dist/utils/state/depth.js +5 -5
  230. package/lib/dist/utils/state/stencil.js +9 -9
  231. package/lib/dist/utils/template.js +3 -3
  232. package/lib/dist/utils/webgl.js +5 -5
  233. package/lib/dist/vao/vao.d.ts.map +1 -1
  234. package/lib/dist/vao/vao.js +13 -9
  235. package/lib/dist/webgl/texture/texture2d.js +2 -2
  236. package/package.json +1 -1
  237. package/lib/dist/geometry/place.d.ts +0 -12
  238. package/lib/dist/geometry/place.d.ts.map +0 -1
  239. package/lib/dist/geometry/place.js +0 -145
  240. package/lib/dist/math/math.d.ts +0 -9
  241. package/lib/dist/math/math.d.ts.map +0 -1
  242. package/lib/dist/math/math.js +0 -13
  243. package/lib/dist/painter/axis/axis.js +0 -82
  244. package/lib/dist/painter/axis/index.d.ts +0 -2
  245. package/lib/dist/painter/axis/index.d.ts.map +0 -1
  246. package/lib/dist/painter/axis/index.js +0 -2
  247. package/lib/dist/painter/debug/stencil.d.ts +0 -11
  248. package/lib/dist/painter/debug/stencil.d.ts.map +0 -1
  249. package/lib/dist/painter/debug/stencil.js +0 -41
  250. package/lib/dist/painter/framebuffer-old.d.ts +0 -38
  251. package/lib/dist/painter/framebuffer-old.d.ts.map +0 -1
  252. package/lib/dist/painter/framebuffer-old.js +0 -102
  253. package/lib/dist/painter/framebuffer.backup.d.ts +0 -39
  254. package/lib/dist/painter/framebuffer.backup.d.ts.map +0 -1
  255. package/lib/dist/painter/framebuffer.backup.js +0 -122
  256. package/lib/dist/painter/mesh/hull/hull.d.ts +0 -12
  257. package/lib/dist/painter/mesh/hull/hull.d.ts.map +0 -1
  258. package/lib/dist/painter/mesh/hull/hull.js +0 -11
  259. package/lib/dist/painter/node.d.ts +0 -32
  260. package/lib/dist/painter/node.d.ts.map +0 -1
  261. package/lib/dist/painter/node.js +0 -73
  262. package/lib/dist/ref-map.d.ts.map +0 -1
  263. package/lib/dist/ref-map.js +0 -52
  264. package/lib/dist/resource/index.d.ts +0 -5
  265. package/lib/dist/resource/index.d.ts.map +0 -1
  266. package/lib/dist/resource/index.js +0 -5
  267. package/lib/dist/resource/program.d.ts +0 -10
  268. package/lib/dist/resource/program.d.ts.map +0 -1
  269. package/lib/dist/resource/program.js +0 -19
  270. package/lib/dist/resource/resource.d.ts +0 -17
  271. package/lib/dist/resource/resource.d.ts.map +0 -1
  272. package/lib/dist/resource/resource.js +0 -52
  273. package/lib/dist/resource/texture2d.d.ts +0 -10
  274. package/lib/dist/resource/texture2d.d.ts.map +0 -1
  275. package/lib/dist/resource/texture2d.js +0 -19
  276. package/lib/dist/resource/textureCube.d.ts +0 -9
  277. package/lib/dist/resource/textureCube.d.ts.map +0 -1
  278. package/lib/dist/resource/textureCube.js +0 -16
  279. package/lib/dist/scene/scene-node.d.ts +0 -8
  280. package/lib/dist/scene/scene-node.d.ts.map +0 -1
  281. package/lib/dist/scene/scene-node.js +0 -13
  282. package/lib/dist/texture/texture2dArray.d.ts +0 -43
  283. package/lib/dist/texture/texture2dArray.d.ts.map +0 -1
  284. package/lib/dist/texture/texture2dArray.js +0 -112
  285. package/lib/dist/texture/textureCube.d.ts.map +0 -1
  286. package/lib/dist/texture/textureCube.js +0 -69
  287. package/lib/dist/types/context.d.ts +0 -27
  288. package/lib/dist/types/context.d.ts.map +0 -1
  289. package/lib/dist/types/context.js +0 -2
  290. package/lib/dist/types/texture2d.d.ts +0 -51
  291. package/lib/dist/types/texture2d.d.ts.map +0 -1
  292. package/lib/dist/types/texture2d.js +0 -2
  293. package/lib/dist/types/textureCube.d.ts.map +0 -1
  294. package/lib/dist/types/textureCube.js +0 -2
  295. package/lib/dist/uniform/uniform-buffer-object.d.ts +0 -49
  296. package/lib/dist/uniform/uniform-buffer-object.d.ts.map +0 -1
  297. package/lib/dist/uniform/uniform-buffer-object.js +0 -93
  298. package/lib/dist/utils/ease-func/ease-func.d.ts.map +0 -1
  299. package/lib/dist/utils/ease-func/ease-func.js +0 -142
  300. package/lib/dist/utils/ease-func/index.d.ts +0 -2
  301. package/lib/dist/utils/ease-func/index.d.ts.map +0 -1
  302. package/lib/dist/utils/ease-func/index.js +0 -2
  303. package/lib/dist/utils/fetch/fetch.d.ts +0 -2
  304. package/lib/dist/utils/fetch/fetch.d.ts.map +0 -1
  305. package/lib/dist/utils/fetch/fetch.js +0 -5
  306. package/lib/dist/utils/fetch/index.d.ts +0 -2
  307. package/lib/dist/utils/fetch/index.d.ts.map +0 -1
  308. package/lib/dist/utils/fetch/index.js +0 -2
  309. package/lib/dist/utils/ref-map.d.ts.map +0 -1
  310. package/lib/dist/utils/ref-map.js +0 -52
@@ -1,13 +1,8 @@
1
- import { TgdQuat, TgdVec3, TgdMat4 } from "./../math/index.js";
2
- import { TgdMat3 } from "./../math/mat3.js";
3
- import { TgdEvent } from "../event/index.js";
1
+ import { TgdMat4, TgdTransfo } from "./../math/index.js";
4
2
  export class TgdCamera {
5
3
  constructor(options = {}) {
6
4
  var _a, _b, _c, _d, _e, _f, _g;
7
- /**
8
- * A change in the position/orientation/size of the camera.
9
- */
10
- this.eventTransformChange = new TgdEvent();
5
+ this.transfo = new TgdTransfo();
11
6
  this._screenWidth = 1920;
12
7
  this._screenHeight = 1080;
13
8
  this._screenAspectRatio = 1920 / 1080;
@@ -19,39 +14,30 @@ export class TgdCamera {
19
14
  this.dirtyProjectionInverse = true;
20
15
  this._near = 1e-3;
21
16
  this._far = Infinity;
22
- this._axisX = new TgdVec3();
23
- this._axisY = new TgdVec3();
24
- this._axisZ = new TgdVec3();
25
17
  // transformation
26
18
  this._matrixModelView = new TgdMat4();
27
19
  this._matrixModelViewInverse = new TgdMat4();
28
20
  this._matrixProjectionInverse = new TgdMat4();
29
- this._orientation = new TgdQuat(0, 0, 0, 1).face("+X+Z-Y");
30
- this._shift = new TgdVec3(0, 0, 0);
31
- this._target = new TgdVec3(0, 0, 0);
32
- this._position = new TgdVec3(0, 0, 0);
33
- this._distance = 10;
34
21
  this._zoom = 1;
35
- // For fast calculations (we don't want to recreate them).
36
- this.tmpMat3 = new TgdMat3();
37
- this.tmpVec3 = new TgdVec3();
38
22
  this.name = (_a = options.name) !== null && _a !== void 0 ? _a : `TgdCamera#${TgdCamera.incrementalId++}`;
39
23
  this._near = (_b = options.near) !== null && _b !== void 0 ? _b : 1e-3;
40
24
  this._far = (_c = options.far) !== null && _c !== void 0 ? _c : 1e6;
41
- this._distance = (_d = options.distance) !== null && _d !== void 0 ? _d : 10;
42
- this._zoom = (_e = options.zoom) !== null && _e !== void 0 ? _e : 1;
43
- const [tx, ty, tz] = (_f = options.target) !== null && _f !== void 0 ? _f : [0, 0, 0];
44
- this.target.reset(tx, ty, tz);
45
- const [qx, qy, qz, qw] = (_g = options.orientation) !== null && _g !== void 0 ? _g : [0, 0, 0, 1];
46
- this.orientation.reset(qx, qy, qz, qw);
25
+ const { transfo } = this;
26
+ const [tx, ty, tz] = (_d = options.target) !== null && _d !== void 0 ? _d : [0, 0, 0];
27
+ const [qx, qy, qz, qw] = (_e = options.orientation) !== null && _e !== void 0 ? _e : [0, 0, 0, 1];
28
+ transfo
29
+ .setDistance((_f = options.distance) !== null && _f !== void 0 ? _f : 10)
30
+ .setPosition(tx, ty, tz)
31
+ .setOrientation(qx, qy, qz, qw);
32
+ transfo.debug("Camera transfo");
33
+ this.zoom = (_g = options.zoom) !== null && _g !== void 0 ? _g : 1;
47
34
  }
48
35
  getCurrentState() {
49
36
  return {
50
- distance: this.distance,
51
- orientation: this.orientation.clone(),
52
- shift: this.shift.clone(),
37
+ distance: this.transfo.distance,
38
+ orientation: this.transfo.orientation.clone(),
53
39
  spaceHeightAtTarget: this.spaceHeightAtTarget,
54
- target: this.target.clone(),
40
+ target: this.transfo.position.clone(),
55
41
  zoom: this.zoom,
56
42
  };
57
43
  }
@@ -108,56 +94,26 @@ export class TgdCamera {
108
94
  set spaceWidthAtTarget(v) {
109
95
  this.setSpaceHeightAtTarget((v * this.screenHeight) / this.screenWidth);
110
96
  }
111
- face(face) {
112
- this._orientation.face(face);
113
- this.dirtyModelView = true;
114
- this.dirtyAxis = true;
115
- }
116
97
  from(camera) {
117
- const { _orientation: orientation, _target: target, distance, zoom, screenWidth, screenHeight, } = camera;
118
- this._orientation.from(orientation);
119
- this._target.from(target);
120
- this.distance = distance;
98
+ const { zoom, screenWidth, screenHeight } = camera;
99
+ this.transfo.from(camera.transfo);
121
100
  this.zoom = zoom;
122
101
  this.screenWidth = screenWidth;
123
102
  this.screenHeight = screenHeight;
124
103
  this.dirtyModelView = true;
125
- this.dirtyAxis = true;
126
104
  this.copyProjectionFrom(camera);
127
105
  return this;
128
106
  }
129
107
  fromTransfo(transfo) {
130
- const x = transfo.m30;
131
- const y = transfo.m31;
132
- const z = transfo.m32;
133
- this.setTarget(x, y, z);
134
- this._orientation.fromMatrix(transfo);
108
+ this.transfo.from(transfo);
135
109
  this.dirtyModelView = true;
136
- this.dirtyAxis = true;
137
110
  return this;
138
111
  }
139
- get axisX() {
140
- this.updateAxisIfNeeded();
141
- return this._axisX;
142
- }
143
- get axisY() {
144
- this.updateAxisIfNeeded();
145
- return this._axisY;
146
- }
147
- get axisZ() {
148
- this.updateAxisIfNeeded();
149
- return this._axisZ;
150
- }
112
+ /**
113
+ * This matrix will transform a world coordinate into a camera coordinate.
114
+ */
151
115
  get matrixModelView() {
152
- this.updateIfNeeded();
153
- return this._matrixModelView;
154
- }
155
- get matrixModelViewInverse() {
156
- if (this.dirtyModelViewInverse) {
157
- this._matrixModelViewInverse.invert(this.matrixModelView);
158
- this.dirtyModelViewInverse = false;
159
- }
160
- return this._matrixModelViewInverse;
116
+ return this._matrixModelView.invert(this.transfo.matrix);
161
117
  }
162
118
  get matrixProjectionInverse() {
163
119
  if (this.dirtyProjectionInverse) {
@@ -166,104 +122,6 @@ export class TgdCamera {
166
122
  }
167
123
  return this._matrixProjectionInverse;
168
124
  }
169
- get orientation() {
170
- return this._orientation;
171
- }
172
- set orientation(quat) {
173
- const { _orientation } = this;
174
- if (quat.isEqual(_orientation))
175
- return;
176
- const [x, y, z, w] = quat;
177
- _orientation.x = x;
178
- _orientation.y = y;
179
- _orientation.z = z;
180
- _orientation.w = w;
181
- this.dirtyModelView = true;
182
- this.dirtyAxis = true;
183
- }
184
- setOrientation(x, y, z, w) {
185
- const { _orientation } = this;
186
- _orientation.x = x;
187
- _orientation.y = y;
188
- _orientation.z = z;
189
- _orientation.w = w;
190
- this.dirtyModelView = true;
191
- this.dirtyAxis = true;
192
- return this;
193
- }
194
- get position() {
195
- this.updateIfNeeded();
196
- return this._position;
197
- }
198
- get target() {
199
- return this._target;
200
- }
201
- set target(v) {
202
- this._target.from(v);
203
- this.dirtyModelView = true;
204
- }
205
- setTarget(x, y, z) {
206
- const { _target } = this;
207
- _target.x = x;
208
- _target.y = y;
209
- _target.z = z;
210
- this.dirtyModelView = true;
211
- return this;
212
- }
213
- get shift() {
214
- return this._shift;
215
- }
216
- set shift(v) {
217
- this._shift.from(v);
218
- this.dirtyModelView = true;
219
- }
220
- setShift(x, y, z) {
221
- const { _shift } = this;
222
- _shift.x = x;
223
- _shift.y = y;
224
- _shift.z = z;
225
- this.dirtyModelView = true;
226
- return this;
227
- }
228
- get x() {
229
- return this._target.x;
230
- }
231
- set x(v) {
232
- const { _target: target } = this;
233
- if (v === target.x)
234
- return;
235
- target.x = v;
236
- this.dirtyModelView = true;
237
- }
238
- get y() {
239
- return this._target.y;
240
- }
241
- set y(v) {
242
- const { _target: target } = this;
243
- if (v === target.y)
244
- return;
245
- target.y = v;
246
- this.dirtyModelView = true;
247
- }
248
- get z() {
249
- return this._target.z;
250
- }
251
- set z(v) {
252
- const { _target: target } = this;
253
- if (v === target.z)
254
- return;
255
- target.z = v;
256
- this.dirtyModelView = true;
257
- }
258
- get distance() {
259
- return this._distance;
260
- }
261
- set distance(v) {
262
- if (this._distance === v)
263
- return;
264
- this._distance = v;
265
- this.dirtyModelView = true;
266
- }
267
125
  get zoom() {
268
126
  return this._zoom;
269
127
  }
@@ -271,99 +129,19 @@ export class TgdCamera {
271
129
  if (this._zoom === v)
272
130
  return;
273
131
  this._zoom = v;
132
+ this.transfo.setScale(v, v, v);
274
133
  this.dirtyModelView = true;
275
134
  }
276
- /**
277
- * Add (x,y,z) to the target coords in Camera space.
278
- * That means we are moving along the camera axis.
279
- */
280
- moveTarget(x, y, z) {
281
- const { _target: target } = this;
282
- this.updateAxisIfNeeded();
283
- const { _axisX: axisX, _axisY: axisY, _axisZ: axisZ, tmpVec3 } = this;
284
- tmpVec3
285
- .from(axisX)
286
- .scale(x)
287
- .addWithScale(axisY, y)
288
- .addWithScale(axisZ, z);
289
- target.x += tmpVec3.x;
290
- target.y += tmpVec3.y;
291
- target.z += tmpVec3.z;
292
- this.dirtyModelView = true;
293
- }
294
- moveShift(x, y, z) {
295
- const [sx, sy, sz] = this._shift;
296
- this._shift.reset(x + sx, y + sy, z + sz);
297
- this._dirtyModelView = true;
298
- }
299
- orbitAroundX(angleInRadians) {
300
- this.updateAxisIfNeeded();
301
- const { _axisX: axisX, _axisY: axisY, _axisZ: axisZ, _orientation: orientation, } = this;
302
- axisY.rotateAround(axisX, angleInRadians);
303
- axisZ.rotateAround(axisX, angleInRadians);
304
- orientation.fromAxis(axisX, axisY, axisZ);
305
- this.dirtyModelView = true;
306
- return this;
307
- }
308
- orbitAroundY(angleInRadians) {
309
- this.updateAxisIfNeeded();
310
- const { _axisX: axisX, _axisY: axisY, _axisZ: axisZ, _orientation: orientation, } = this;
311
- axisX.rotateAround(axisY, angleInRadians);
312
- axisZ.rotateAround(axisY, angleInRadians);
313
- orientation.fromAxis(axisX, axisY, axisZ);
314
- this.dirtyModelView = true;
315
- return this;
316
- }
317
- orbitAroundZ(angleInRadians) {
318
- this.updateAxisIfNeeded();
319
- const { _axisX: axisX, _axisY: axisY, _axisZ: axisZ, _orientation: orientation, } = this;
320
- axisX.rotateAround(axisZ, angleInRadians);
321
- axisY.rotateAround(axisZ, angleInRadians);
322
- orientation.fromAxis(axisX, axisY, axisZ);
323
- this.dirtyModelView = true;
324
- return this;
325
- }
326
135
  debug(caption) {
327
136
  const name = caption !== null && caption !== void 0 ? caption : this.name;
328
- this._orientation.debug(`${name} orientation`);
329
- this._target.debug(`${name} target`);
330
- this._position.debug(`${name} position`);
137
+ console.log("Distance:", this.transfo.distance);
138
+ console.log("Zoom:", this.zoom);
139
+ this.transfo.orientation.debug(`${name} orientation`);
140
+ this.transfo.position.debug(`${name} target`);
141
+ this.transfo.actualPosition.debug(`${name} actual position`);
331
142
  this.matrixModelView.debug(`${name} matrixModelView`);
332
143
  this.matrixProjection.debug(`${name} matrixProjection`);
333
144
  }
334
- updateAxisIfNeeded() {
335
- if (this.dirtyAxis)
336
- this.updateAxis();
337
- }
338
- updateAxis() {
339
- const { tmpMat3 } = this;
340
- tmpMat3.fromQuat(this._orientation);
341
- tmpMat3.toAxis(this._axisX, this._axisY, this._axisZ);
342
- this.dirtyAxis = false;
343
- }
344
- updateIfNeeded() {
345
- if (!this.dirtyModelView)
346
- return;
347
- const { tmpMat3, tmpVec3, _position } = this;
348
- const mat = this._matrixModelView;
349
- this.updateAxis();
350
- const d = this._distance;
351
- const { x: sx, y: sy, z: sz } = this._shift;
352
- const { x: tx, y: ty, z: tz } = this._target;
353
- const { x: ax, y: ay, z: az } = this._axisZ;
354
- _position.x = tx + d * ax;
355
- _position.y = ty + d * ay;
356
- _position.z = tz + d * az;
357
- _position.addWithScale(this._axisX, sx);
358
- _position.addWithScale(this._axisY, sy);
359
- _position.addWithScale(this._axisZ, sz);
360
- tmpVec3.from(_position).applyMatrix(tmpMat3.transpose()).scale(-1);
361
- mat.m30 = tmpVec3.x;
362
- mat.m31 = tmpVec3.y;
363
- mat.m32 = tmpVec3.z;
364
- mat.fromMat3(tmpMat3);
365
- this.dirtyModelView = false;
366
- }
367
145
  get dirtyModelView() {
368
146
  return this._dirtyModelView;
369
147
  }
@@ -371,15 +149,8 @@ export class TgdCamera {
371
149
  this._dirtyModelView = v;
372
150
  if (v) {
373
151
  this.dirtyModelViewInverse = true;
374
- this.eventTransformChange.dispatch(this);
375
152
  }
376
153
  }
377
- get dirtyAxis() {
378
- return this._dirtyAxis;
379
- }
380
- set dirtyAxis(v) {
381
- this._dirtyAxis = v;
382
- }
383
154
  get dirtyProjection() {
384
155
  return this._dirtyProjection;
385
156
  }
@@ -390,4 +161,4 @@ export class TgdCamera {
390
161
  }
391
162
  }
392
163
  TgdCamera.incrementalId = 1;
393
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtZXJhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NhbWVyYS9jYW1lcmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFlLE1BQU0sV0FBVyxDQUFBO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBc0JuQyxNQUFNLE9BQWdCLFNBQVM7SUF3QzNCLFlBQVksVUFBNEIsRUFBRTs7UUFyQzFDOztXQUVHO1FBQ2EseUJBQW9CLEdBQUcsSUFBSSxRQUFRLEVBQWEsQ0FBQTtRQUd4RCxpQkFBWSxHQUFHLElBQUksQ0FBQTtRQUNuQixrQkFBYSxHQUFHLElBQUksQ0FBQTtRQUNwQix1QkFBa0IsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFBO1FBRXhDLGdDQUFnQztRQUN4QixvQkFBZSxHQUFHLElBQUksQ0FBQTtRQUN0QiwwQkFBcUIsR0FBRyxJQUFJLENBQUE7UUFDNUIsZUFBVSxHQUFHLElBQUksQ0FBQTtRQUNmLHFCQUFnQixHQUFHLElBQUksQ0FBQTtRQUN2QiwyQkFBc0IsR0FBRyxJQUFJLENBQUE7UUFFN0IsVUFBSyxHQUFHLElBQUksQ0FBQTtRQUNaLFNBQUksR0FBRyxRQUFRLENBQUE7UUFFUixXQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQTtRQUN0QixXQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQTtRQUN0QixXQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQTtRQUN2QyxpQkFBaUI7UUFDQSxxQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFBO1FBQ2hDLDRCQUF1QixHQUFHLElBQUksT0FBTyxFQUFFLENBQUE7UUFDdkMsNkJBQXdCLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQTtRQUN4QyxpQkFBWSxHQUFHLElBQUks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
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtZXJhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NhbWVyYS9jYW1lcmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBdUJqRSxNQUFNLE9BQWdCLFNBQVM7SUEwQjNCLFlBQVksVUFBNEIsRUFBRTs7UUF0QjFCLFlBQU8sR0FBZSxJQUFJLFVBQVUsRUFBRSxDQUFBO1FBRTlDLGlCQUFZLEdBQUcsSUFBSSxDQUFBO1FBQ25CLGtCQUFhLEdBQUcsSUFBSSxDQUFBO1FBQ3BCLHVCQUFrQixHQUFHLElBQUksR0FBRyxJQUFJLENBQUE7UUFFeEMsZ0NBQWdDO1FBQ3hCLG9CQUFlLEdBQUcsSUFBSSxDQUFBO1FBQ3RCLDBCQUFxQixHQUFHLElBQUksQ0FBQTtRQUM1QixlQUFVLEdBQUcsSUFBSSxDQUFBO1FBQ2YscUJBQWdCLEdBQUcsSUFBSSxDQUFBO1FBQ3ZCLDJCQUFzQixHQUFHLElBQUksQ0FBQTtRQUU3QixVQUFLLEdBQUcsSUFBSSxDQUFBO1FBQ1osU0FBSSxHQUFHLFFBQVEsQ0FBQTtRQUV6QixpQkFBaUI7UUFDQSxxQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFBO1FBQ2hDLDRCQUF1QixHQUFHLElBQUksT0FBTyxFQUFFLENBQUE7UUFDdkMsNkJBQXdCLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQTtRQUNqRCxVQUFLLEdBQUcsQ0FBQyxDQUFBO1FBR2IsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFBLE9BQU8sQ0FBQyxJQUFJLG1DQUFJLGFBQWEsU0FBUyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUE7UUFDcEUsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFBLE9BQU8sQ0FBQyxJQUFJLG1DQUFJLElBQUksQ0FBQTtRQUNqQyxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQUEsT0FBTyxDQUFDLEdBQUcsbUNBQUksR0FBRyxDQUFB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
@@ -1,5 +1,4 @@
1
1
  export * from "./camera";
2
- export * from "./camera-node";
3
2
  export * from "./camera-orthographic";
4
3
  export * from "./camera-perspective";
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/camera/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/camera/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA"}
@@ -1,5 +1,4 @@
1
1
  export * from "./camera.js";
2
- export * from "./camera-node.js";
3
2
  export * from "./camera-orthographic.js";
4
3
  export * from "./camera-perspective.js";
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2FtZXJhL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFBO0FBQ3hCLGNBQWMsZUFBZSxDQUFBO0FBQzdCLGNBQWMsdUJBQXVCLENBQUE7QUFDckMsY0FBYyxzQkFBc0IsQ0FBQSJ9
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2FtZXJhL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFBO0FBQ3hCLGNBQWMsdUJBQXVCLENBQUE7QUFDckMsY0FBYyxzQkFBc0IsQ0FBQSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"gizmo.d.ts","sourceRoot":"","sources":["../../../src/canvas/gizmo/gizmo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAwB,MAAM,aAAa,CAAA;AAC7D,OAAO,EAAc,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAE5D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,OAAO,EAAoB,MAAM,WAAW,CAAA;AAKrD,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC5D,MAAM,CAAC,EAAE,iBAAiB,CAAA;CAC7B;AAED;;;GAGG;AACH,qBAAa,cAAc;IAqBX,OAAO,CAAC,QAAQ,CAAC,OAAO;IApBpC;;OAEG;IACI,aAAa;cACV,QAAQ,CAAC,OAAO,CAAC;YACnB,QAAQ,CAAC,OAAO,CAAC;OACrB;IAEJ,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAK7B;IACF,OAAO,CAAC,OAAO,CAAwC;IACvD,OAAO,CAAC,WAAW,CAA2B;gBAEjB,OAAO,GAAE,qBAA0B;IAIhE;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,SAAS;IAM9B,MAAM;IAUN,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAExC;IAED,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAKxC;IAED,IAAI,MAAM,IAGS,iBAAiB,GAAG,IAAI,CAD1C;IACD,IAAI,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,EA6C1C;IAED,OAAO,CAAC,QAAQ,CAAC,SAAS,CAmCzB;IAED,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,SAAS;CAepB"}
1
+ {"version":3,"file":"gizmo.d.ts","sourceRoot":"","sources":["../../../src/canvas/gizmo/gizmo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAwB,MAAM,aAAa,CAAA;AAC7D,OAAO,EAAc,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAE5D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,OAAO,EAAoB,MAAM,WAAW,CAAA;AAKrD,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC5D,MAAM,CAAC,EAAE,iBAAiB,CAAA;CAC7B;AAED;;;GAGG;AACH,qBAAa,cAAc;IAqBX,OAAO,CAAC,QAAQ,CAAC,OAAO;IApBpC;;OAEG;IACI,aAAa;cACV,QAAQ,CAAC,OAAO,CAAC;YACnB,QAAQ,CAAC,OAAO,CAAC;OACrB;IAEJ,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAK7B;IACF,OAAO,CAAC,OAAO,CAAwC;IACvD,OAAO,CAAC,WAAW,CAA2B;gBAEjB,OAAO,GAAE,qBAA0B;IAIhE;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,SAAS;IAM9B,MAAM;IAON,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAGxC;IAED,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAMxC;IAED,IAAI,MAAM,IAGS,iBAAiB,GAAG,IAAI,CAD1C;IACD,IAAI,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,EA6C1C;IAED,OAAO,CAAC,QAAQ,CAAC,SAAS,CAmCzB;IAED,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,SAAS;CAepB"}
@@ -28,31 +28,33 @@ export class TgdCanvasGizmo {
28
28
  this.orbiter = null;
29
29
  this.tipsPainter = null;
30
30
  this.handleExternalToInternal = (externalCamera) => {
31
- this.cameraInternal.orientation = externalCamera.orientation;
31
+ this.cameraInternal.transfo.orientation =
32
+ externalCamera.transfo.orientation;
32
33
  };
33
34
  this.handleInternalToExternal = (internalCamera) => {
34
35
  const { cameraExternal } = this;
35
36
  if (cameraExternal) {
36
- cameraExternal.orientation = internalCamera.orientation;
37
+ cameraExternal.transfo.orientation =
38
+ internalCamera.transfo.orientation;
37
39
  }
38
40
  };
39
- this.handleTap = (evt) => {
41
+ this.handleTap = (event) => {
40
42
  var _a;
41
43
  const camera = (_a = this.context) === null || _a === void 0 ? void 0 : _a.camera;
42
44
  if (!camera)
43
45
  return;
44
- const { origin, direction } = camera.castRay(evt.x, evt.y);
45
- const maxDist = 1;
46
- let bestDist = maxDist;
46
+ const { origin, direction } = camera.castRay(event.x, event.y);
47
+ const maxDistribution = 1;
48
+ let bestDistribution = maxDistribution;
47
49
  let bestTip = TIPS[0];
48
50
  for (const tip of TIPS) {
49
- const dist = tip.distanceToLineSquared(origin, direction);
50
- if (dist < bestDist) {
51
- bestDist = dist;
51
+ const distribution = tip.distanceToLineSquared(origin, direction);
52
+ if (distribution < bestDistribution) {
53
+ bestDistribution = distribution;
52
54
  bestTip = tip;
53
55
  }
54
56
  }
55
- if (bestDist < maxDist) {
57
+ if (bestDistribution < maxDistribution) {
56
58
  const axisX = new TgdVec3();
57
59
  const axisY = new TgdVec3();
58
60
  const axisZ = bestTip;
@@ -64,12 +66,12 @@ export class TgdCanvasGizmo {
64
66
  else {
65
67
  axisY.from(axisZ).cross(axisX);
66
68
  }
67
- const quat = new TgdQuat().fromAxis(axisX, axisY, axisZ);
68
- if (quat.isEqual(camera.orientation)) {
69
+ const quat = new TgdQuat().fromAxes(axisX, axisY, axisZ);
70
+ if (quat.isEqual(camera.transfo.orientation)) {
69
71
  quat.rotateAroundY(Math.PI);
70
72
  }
71
73
  this.eventTipClick.dispatch({
72
- from: new TgdQuat(camera.orientation),
74
+ from: new TgdQuat(camera.transfo.orientation),
73
75
  to: quat,
74
76
  });
75
77
  }
@@ -88,15 +90,11 @@ export class TgdCanvasGizmo {
88
90
  detach() {
89
91
  const camera = this.cameraExternal;
90
92
  if (camera) {
91
- camera.eventTransformChange.removeListener(this.handleExternalToInternal);
92
93
  this.cameraExternal = null;
93
94
  }
94
95
  }
95
96
  attach() {
96
97
  var _a;
97
- const camera = this.cameraExternal;
98
- if (camera)
99
- camera.eventTransformChange.addListener(this.handleExternalToInternal);
100
98
  (_a = this.context) === null || _a === void 0 ? void 0 : _a.paint();
101
99
  }
102
100
  get canvas() {
@@ -142,7 +140,7 @@ export class TgdCanvasGizmo {
142
140
  let bestTip = TIPS[0];
143
141
  const vec = new TgdVec3();
144
142
  const mat = new TgdMat3();
145
- mat.fromQuat(this.cameraInternal.orientation).transpose();
143
+ mat.fromQuat(this.cameraInternal.transfo.orientation).transpose();
146
144
  for (const tip of TIPS) {
147
145
  vec.from(tip).applyMatrix(mat);
148
146
  if (vec.x > bestScore) {
@@ -157,7 +155,7 @@ export class TgdCanvasGizmo {
157
155
  let bestTip = TIPS[0];
158
156
  const vec = new TgdVec3();
159
157
  const mat = new TgdMat3();
160
- mat.fromQuat(this.cameraInternal.orientation).transpose();
158
+ mat.fromQuat(this.cameraInternal.transfo.orientation).transpose();
161
159
  for (const tip of TIPS) {
162
160
  vec.from(tip).applyMatrix(mat);
163
161
  if (vec.y > bestScore) {
@@ -176,4 +174,4 @@ const TIPS = [
176
174
  new TgdVec3(0, -1, 0),
177
175
  new TgdVec3(0, 0, -1),
178
176
  ];
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l6bW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2FudmFzL2dpem1vL2dpem1vLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYSxvQkFBb0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFxQixNQUFNLGNBQWMsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUMxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3JDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUUvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFNNUM7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFxQnZCLFlBQTZCLFVBQWlDLEVBQUU7UUFBbkMsWUFBTyxHQUFQLE9BQU8sQ0FBNEI7UUFwQmhFOztXQUVHO1FBQ0ksa0JBQWEsR0FBRyxJQUFJLFFBQVEsRUFHL0IsQ0FBQTtRQUVJLFlBQU8sR0FBNkIsSUFBSSxDQUFBO1FBQ3hDLFlBQU8sR0FBc0IsSUFBSSxDQUFBO1FBQ2pDLG1CQUFjLEdBQXFCLElBQUksQ0FBQTtRQUM5QixtQkFBYyxHQUFHLElBQUksb0JBQW9CLENBQUM7WUFDdkQsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQztZQUNqQixRQUFRLEVBQUUsR0FBRztZQUNiLElBQUksRUFBRSxJQUFJO1lBQ1YsR0FBRyxFQUFFLEVBQUU7U0FDVixDQUFDLENBQUE7UUFDTSxZQUFPLEdBQW9DLElBQUksQ0FBQTtRQUMvQyxnQkFBVyxHQUF1QixJQUFJLENBQUE7UUFrQzdCLDZCQUF3QixHQUFHLENBQUMsY0FBeUIsRUFBRSxF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
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l6bW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2FudmFzL2dpem1vL2dpem1vLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYSxvQkFBb0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFxQixNQUFNLGNBQWMsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUMxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3JDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUUvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFNNUM7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFxQnZCLFlBQTZCLFVBQWlDLEVBQUU7UUFBbkMsWUFBTyxHQUFQLE9BQU8sQ0FBNEI7UUFwQmhFOztXQUVHO1FBQ0ksa0JBQWEsR0FBRyxJQUFJLFFBQVEsRUFHL0IsQ0FBQTtRQUVJLFlBQU8sR0FBNkIsSUFBSSxDQUFBO1FBQ3hDLFlBQU8sR0FBc0IsSUFBSSxDQUFBO1FBQ2pDLG1CQUFjLEdBQXFCLElBQUksQ0FBQTtRQUM5QixtQkFBYyxHQUFHLElBQUksb0JBQW9CLENBQUM7WUFDdkQsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQztZQUNqQixRQUFRLEVBQUUsR0FBRztZQUNiLElBQUksRUFBRSxJQUFJO1lBQ1YsR0FBRyxFQUFFLEVBQUU7U0FDVixDQUFDLENBQUE7UUFDTSxZQUFPLEdBQW9DLElBQUksQ0FBQTtRQUMvQyxnQkFBVyxHQUF1QixJQUFJLENBQUE7UUEwQjdCLDZCQUF3QixHQUFHLENBQUMsY0FBeUIsRUFBRSxF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
@@ -41,7 +41,7 @@ export class TipsPainter extends TgdPainter {
41
41
  X, Y,
42
42
  2 * X, Y,
43
43
  ]));
44
- const prg = new TgdProgram(context, { vert: VERT, frag: FRAG });
44
+ const prg = new TgdProgram(context.gl, { vert: VERT, frag: FRAG });
45
45
  const vao = new TgdVertexArray(context.gl, prg, [data]);
46
46
  this.prg = prg;
47
47
  this.vao = vao;
@@ -73,26 +73,26 @@ function createTipsCanvas() {
73
73
  paintDisk(ctx, 2, 1, SIZE, "", "#00f", "#005");
74
74
  return canvas;
75
75
  }
76
- function paintDisk(ctx, col, row, size, text, colorBack, colorText = "#fff") {
76
+ function paintDisk(context, col, row, size, text, colorBack, colorText = "#fff") {
77
77
  const x = (col + 0.5) * size;
78
78
  const y = (row + 0.5) * size;
79
79
  const r = size * 0.45;
80
- ctx.fillStyle = colorBack;
81
- ctx.beginPath();
82
- ctx.ellipse(x, y, r, r, 0, 0, 2 * Math.PI);
83
- ctx.fill();
80
+ context.fillStyle = colorBack;
81
+ context.beginPath();
82
+ context.ellipse(x, y, r, r, 0, 0, 2 * Math.PI);
83
+ context.fill();
84
84
  if (text) {
85
- ctx.font = `bold ${size * 0.5}px sans-serif`;
86
- ctx.fillStyle = colorText;
87
- ctx.textAlign = "center";
88
- ctx.textBaseline = "middle";
89
- ctx.fillText(text, x, y);
85
+ context.font = `bold ${size * 0.5}px sans-serif`;
86
+ context.fillStyle = colorText;
87
+ context.textAlign = "center";
88
+ context.textBaseline = "middle";
89
+ context.fillText(text, x, y);
90
90
  }
91
91
  else {
92
- ctx.fillStyle = colorText;
93
- ctx.beginPath();
94
- ctx.ellipse(x, y, r * 0.8, r * 0.8, 0, 0, 2 * Math.PI);
95
- ctx.fill();
92
+ context.fillStyle = colorText;
93
+ context.beginPath();
94
+ context.ellipse(x, y, r * 0.8, r * 0.8, 0, 0, 2 * Math.PI);
95
+ context.fill();
96
96
  }
97
97
  }
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlwcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jYW52YXMvZ2l6bW8vcGFpbnRlci90aXBzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ2pELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUV6QyxPQUFPLElBQUksTUFBTSxlQUFlLENBQUE7QUFDaEMsT0FBTyxJQUFJLE1BQU0sZUFBZSxDQUFBO0FBRWhDLE1BQU0sT0FBTyxXQUFZLFNBQVEsVUFBVTtJQUt2QyxZQUE2QixPQUFtQjtRQUM1QyxLQUFLLEVBQUUsQ0FBQTtRQURrQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBRTVDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDO2FBQ25DLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2FBQzlCLFNBQVMsQ0FBQztZQUNQLFNBQVMsRUFBRSxRQUFRO1lBQ25CLFNBQVMsRUFBRSxRQUFRO1NBQ3RCLENBQUM7YUFDRCxjQUFjLEVBQUUsQ0FBQTtRQUNyQixNQUFNLElBQUksR0FBRyxJQUFJLFVBQVUsQ0FBQztZQUN4QixNQUFNLEVBQUUsTUFBTTtZQUNkLEtBQUssRUFBRSxNQUFNO1NBQ2hCLENBQUMsQ0FBQTtRQUNGLGtCQUFrQjtRQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLFlBQVksQ0FBQztZQUMvQixDQUFDLEVBQUcsQ0FBQyxFQUFHLENBQUM7WUFDVCxD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
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlwcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jYW52YXMvZ2l6bW8vcGFpbnRlci90aXBzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ2pELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUV6QyxPQUFPLElBQUksTUFBTSxlQUFlLENBQUE7QUFDaEMsT0FBTyxJQUFJLE1BQU0sZUFBZSxDQUFBO0FBRWhDLE1BQU0sT0FBTyxXQUFZLFNBQVEsVUFBVTtJQUt2QyxZQUE2QixPQUFtQjtRQUM1QyxLQUFLLEVBQUUsQ0FBQTtRQURrQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBRTVDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDO2FBQ25DLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2FBQzlCLFNBQVMsQ0FBQztZQUNQLFNBQVMsRUFBRSxRQUFRO1lBQ25CLFNBQVMsRUFBRSxRQUFRO1NBQ3RCLENBQUM7YUFDRCxjQUFjLEVBQUUsQ0FBQTtRQUNyQixNQUFNLElBQUksR0FBRyxJQUFJLFVBQVUsQ0FBQztZQUN4QixNQUFNLEVBQUUsTUFBTTtZQUNkLEtBQUssRUFBRSxNQUFNO1NBQ2hCLENBQUMsQ0FBQTtRQUNGLGtCQUFrQjtRQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLFlBQVksQ0FBQztZQUMvQixDQUFDLEVBQUcsQ0FBQyxFQUFHLENBQUM7WUFDVCxD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