copper3d 1.15.4 → 1.15.5

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.
@@ -12,7 +12,9 @@ class Copper3dTrackballControls1 extends EventDispatcher {
12
12
  ZOOM: 1,
13
13
  PAN: 2,
14
14
  TOUCH_ROTATE: 3,
15
- TOUCH_ZOOM_PAN: 4,
15
+ TOUCH_ZOOM: 4,
16
+ TOUCH_PAN: 5,
17
+ TOUCH_ZOOM_PAN: 6,
16
18
  };
17
19
  this.object = object;
18
20
  this.domElement = domElement;
@@ -393,7 +395,7 @@ class Copper3dTrackballControls1 extends EventDispatcher {
393
395
  _moveCurr.copy(getMouseOnCircle(_pointers[0].pageX, _pointers[0].pageY));
394
396
  _movePrev.copy(_moveCurr);
395
397
  break;
396
- default: // 2 or more
398
+ case 2:
397
399
  _state = STATE.TOUCH_ZOOM_PAN;
398
400
  const dx = _pointers[0].pageX - _pointers[1].pageX;
399
401
  const dy = _pointers[0].pageY - _pointers[1].pageY;
@@ -403,25 +405,47 @@ class Copper3dTrackballControls1 extends EventDispatcher {
403
405
  _panStart.copy(getMouseOnScreen(x, y));
404
406
  _panEnd.copy(_panStart);
405
407
  break;
408
+ case 3:
409
+ _state = STATE.TOUCH_PAN;
410
+ const centerX = (_pointers[0].pageX + _pointers[1].pageX + _pointers[2].pageX) / 3;
411
+ const centerY = (_pointers[0].pageY + _pointers[1].pageY + _pointers[2].pageY) / 3;
412
+ _panStart.copy(getMouseOnScreen(centerX, centerY));
413
+ _panEnd.copy(_panStart);
414
+ break;
406
415
  }
407
416
  scope.dispatchEvent(_startEvent);
408
417
  }
409
418
  function onTouchMove(event) {
410
419
  trackPointer(event);
420
+ let position, x, y;
411
421
  switch (_pointers.length) {
412
422
  case 1:
423
+ if (_state != STATE.TOUCH_ROTATE)
424
+ return;
413
425
  _movePrev.copy(_moveCurr);
414
426
  _moveCurr.copy(getMouseOnCircle(event.pageX, event.pageY));
415
427
  break;
416
- default: // 2 or more
417
- const position = getSecondPointerPosition(event);
428
+ case 2:
429
+ if (_state != STATE.TOUCH_ZOOM_PAN)
430
+ return;
431
+ position = getSecondPointerPosition(event);
418
432
  const dx = event.pageX - position.x;
419
433
  const dy = event.pageY - position.y;
420
434
  _touchZoomDistanceEnd = Math.sqrt(dx * dx + dy * dy);
421
- const x = (event.pageX + position.x) / 2;
422
- const y = (event.pageY + position.y) / 2;
435
+ x = (event.pageX + position.x) / 2;
436
+ y = (event.pageY + position.y) / 2;
423
437
  _panEnd.copy(getMouseOnScreen(x, y));
424
438
  break;
439
+ case 3:
440
+ if (_state != STATE.TOUCH_PAN)
441
+ return;
442
+ const point_1 = _pointerPositions[_pointers[0].pointerId];
443
+ const point_2 = _pointerPositions[_pointers[1].pointerId];
444
+ const point_3 = _pointerPositions[_pointers[2].pointerId];
445
+ const centerX = (point_1.x + point_2.x + point_3.x) / 3;
446
+ const centerY = (point_1.y + point_2.y + point_3.y) / 3;
447
+ _panEnd.copy(getMouseOnScreen(centerX, centerY));
448
+ break;
425
449
  }
426
450
  }
427
451
  function onTouchEnd(event) {
@@ -439,7 +463,18 @@ class Copper3dTrackballControls1 extends EventDispatcher {
439
463
  for (let i = 0; i < _pointers.length; i++) {
440
464
  if (_pointers[i].pointerId !== event.pointerId) {
441
465
  const position = _pointerPositions[_pointers[i].pointerId];
442
- _moveCurr.copy(getMouseOnCircle(position.x, position.y));
466
+ _moveCurr.copy(getMouseOnScreen(position.x, position.y));
467
+ _movePrev.copy(_moveCurr);
468
+ break;
469
+ }
470
+ }
471
+ break;
472
+ case 3:
473
+ _state = STATE.TOUCH_PAN;
474
+ for (let i = 0; i < _pointers.length; i++) {
475
+ if (_pointers[i].pointerId !== event.pointerId) {
476
+ const position = _pointerPositions[_pointers[i].pointerId];
477
+ _moveCurr.copy(getMouseOnScreen(position.x, position.y));
443
478
  _movePrev.copy(_moveCurr);
444
479
  break;
445
480
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Copper3dTrackballControls1.js","sourceRoot":"","sources":["../../src/Controls/Copper3dTrackballControls1.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Copper3dTrackballControls1.js","sourceRoot":"","sources":["../../src/Controls/Copper3dTrackballControls1.ts"],"names":[],"mappings":"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"}
@@ -48369,7 +48369,9 @@ class Copper3dTrackballControls1 extends EventDispatcher {
48369
48369
  ZOOM: 1,
48370
48370
  PAN: 2,
48371
48371
  TOUCH_ROTATE: 3,
48372
- TOUCH_ZOOM_PAN: 4,
48372
+ TOUCH_ZOOM: 4,
48373
+ TOUCH_PAN: 5,
48374
+ TOUCH_ZOOM_PAN: 6,
48373
48375
  };
48374
48376
  this.object = object;
48375
48377
  this.domElement = domElement;
@@ -48750,7 +48752,7 @@ class Copper3dTrackballControls1 extends EventDispatcher {
48750
48752
  _moveCurr.copy(getMouseOnCircle(_pointers[0].pageX, _pointers[0].pageY));
48751
48753
  _movePrev.copy(_moveCurr);
48752
48754
  break;
48753
- default: // 2 or more
48755
+ case 2:
48754
48756
  _state = STATE.TOUCH_ZOOM_PAN;
48755
48757
  const dx = _pointers[0].pageX - _pointers[1].pageX;
48756
48758
  const dy = _pointers[0].pageY - _pointers[1].pageY;
@@ -48760,25 +48762,47 @@ class Copper3dTrackballControls1 extends EventDispatcher {
48760
48762
  _panStart.copy(getMouseOnScreen(x, y));
48761
48763
  _panEnd.copy(_panStart);
48762
48764
  break;
48765
+ case 3:
48766
+ _state = STATE.TOUCH_PAN;
48767
+ const centerX = (_pointers[0].pageX + _pointers[1].pageX + _pointers[2].pageX) / 3;
48768
+ const centerY = (_pointers[0].pageY + _pointers[1].pageY + _pointers[2].pageY) / 3;
48769
+ _panStart.copy(getMouseOnScreen(centerX, centerY));
48770
+ _panEnd.copy(_panStart);
48771
+ break;
48763
48772
  }
48764
48773
  scope.dispatchEvent(_startEvent$1);
48765
48774
  }
48766
48775
  function onTouchMove(event) {
48767
48776
  trackPointer(event);
48777
+ let position, x, y;
48768
48778
  switch (_pointers.length) {
48769
48779
  case 1:
48780
+ if (_state != STATE.TOUCH_ROTATE)
48781
+ return;
48770
48782
  _movePrev.copy(_moveCurr);
48771
48783
  _moveCurr.copy(getMouseOnCircle(event.pageX, event.pageY));
48772
48784
  break;
48773
- default: // 2 or more
48774
- const position = getSecondPointerPosition(event);
48785
+ case 2:
48786
+ if (_state != STATE.TOUCH_ZOOM_PAN)
48787
+ return;
48788
+ position = getSecondPointerPosition(event);
48775
48789
  const dx = event.pageX - position.x;
48776
48790
  const dy = event.pageY - position.y;
48777
48791
  _touchZoomDistanceEnd = Math.sqrt(dx * dx + dy * dy);
48778
- const x = (event.pageX + position.x) / 2;
48779
- const y = (event.pageY + position.y) / 2;
48792
+ x = (event.pageX + position.x) / 2;
48793
+ y = (event.pageY + position.y) / 2;
48780
48794
  _panEnd.copy(getMouseOnScreen(x, y));
48781
48795
  break;
48796
+ case 3:
48797
+ if (_state != STATE.TOUCH_PAN)
48798
+ return;
48799
+ const point_1 = _pointerPositions[_pointers[0].pointerId];
48800
+ const point_2 = _pointerPositions[_pointers[1].pointerId];
48801
+ const point_3 = _pointerPositions[_pointers[2].pointerId];
48802
+ const centerX = (point_1.x + point_2.x + point_3.x) / 3;
48803
+ const centerY = (point_1.y + point_2.y + point_3.y) / 3;
48804
+ _panEnd.copy(getMouseOnScreen(centerX, centerY));
48805
+ break;
48782
48806
  }
48783
48807
  }
48784
48808
  function onTouchEnd(event) {
@@ -48796,7 +48820,18 @@ class Copper3dTrackballControls1 extends EventDispatcher {
48796
48820
  for (let i = 0; i < _pointers.length; i++) {
48797
48821
  if (_pointers[i].pointerId !== event.pointerId) {
48798
48822
  const position = _pointerPositions[_pointers[i].pointerId];
48799
- _moveCurr.copy(getMouseOnCircle(position.x, position.y));
48823
+ _moveCurr.copy(getMouseOnScreen(position.x, position.y));
48824
+ _movePrev.copy(_moveCurr);
48825
+ break;
48826
+ }
48827
+ }
48828
+ break;
48829
+ case 3:
48830
+ _state = STATE.TOUCH_PAN;
48831
+ for (let i = 0; i < _pointers.length; i++) {
48832
+ if (_pointers[i].pointerId !== event.pointerId) {
48833
+ const position = _pointerPositions[_pointers[i].pointerId];
48834
+ _moveCurr.copy(getMouseOnScreen(position.x, position.y));
48800
48835
  _movePrev.copy(_moveCurr);
48801
48836
  break;
48802
48837
  }
@@ -48377,7 +48377,9 @@
48377
48377
  ZOOM: 1,
48378
48378
  PAN: 2,
48379
48379
  TOUCH_ROTATE: 3,
48380
- TOUCH_ZOOM_PAN: 4,
48380
+ TOUCH_ZOOM: 4,
48381
+ TOUCH_PAN: 5,
48382
+ TOUCH_ZOOM_PAN: 6,
48381
48383
  };
48382
48384
  this.object = object;
48383
48385
  this.domElement = domElement;
@@ -48758,7 +48760,7 @@
48758
48760
  _moveCurr.copy(getMouseOnCircle(_pointers[0].pageX, _pointers[0].pageY));
48759
48761
  _movePrev.copy(_moveCurr);
48760
48762
  break;
48761
- default: // 2 or more
48763
+ case 2:
48762
48764
  _state = STATE.TOUCH_ZOOM_PAN;
48763
48765
  const dx = _pointers[0].pageX - _pointers[1].pageX;
48764
48766
  const dy = _pointers[0].pageY - _pointers[1].pageY;
@@ -48768,25 +48770,47 @@
48768
48770
  _panStart.copy(getMouseOnScreen(x, y));
48769
48771
  _panEnd.copy(_panStart);
48770
48772
  break;
48773
+ case 3:
48774
+ _state = STATE.TOUCH_PAN;
48775
+ const centerX = (_pointers[0].pageX + _pointers[1].pageX + _pointers[2].pageX) / 3;
48776
+ const centerY = (_pointers[0].pageY + _pointers[1].pageY + _pointers[2].pageY) / 3;
48777
+ _panStart.copy(getMouseOnScreen(centerX, centerY));
48778
+ _panEnd.copy(_panStart);
48779
+ break;
48771
48780
  }
48772
48781
  scope.dispatchEvent(_startEvent$1);
48773
48782
  }
48774
48783
  function onTouchMove(event) {
48775
48784
  trackPointer(event);
48785
+ let position, x, y;
48776
48786
  switch (_pointers.length) {
48777
48787
  case 1:
48788
+ if (_state != STATE.TOUCH_ROTATE)
48789
+ return;
48778
48790
  _movePrev.copy(_moveCurr);
48779
48791
  _moveCurr.copy(getMouseOnCircle(event.pageX, event.pageY));
48780
48792
  break;
48781
- default: // 2 or more
48782
- const position = getSecondPointerPosition(event);
48793
+ case 2:
48794
+ if (_state != STATE.TOUCH_ZOOM_PAN)
48795
+ return;
48796
+ position = getSecondPointerPosition(event);
48783
48797
  const dx = event.pageX - position.x;
48784
48798
  const dy = event.pageY - position.y;
48785
48799
  _touchZoomDistanceEnd = Math.sqrt(dx * dx + dy * dy);
48786
- const x = (event.pageX + position.x) / 2;
48787
- const y = (event.pageY + position.y) / 2;
48800
+ x = (event.pageX + position.x) / 2;
48801
+ y = (event.pageY + position.y) / 2;
48788
48802
  _panEnd.copy(getMouseOnScreen(x, y));
48789
48803
  break;
48804
+ case 3:
48805
+ if (_state != STATE.TOUCH_PAN)
48806
+ return;
48807
+ const point_1 = _pointerPositions[_pointers[0].pointerId];
48808
+ const point_2 = _pointerPositions[_pointers[1].pointerId];
48809
+ const point_3 = _pointerPositions[_pointers[2].pointerId];
48810
+ const centerX = (point_1.x + point_2.x + point_3.x) / 3;
48811
+ const centerY = (point_1.y + point_2.y + point_3.y) / 3;
48812
+ _panEnd.copy(getMouseOnScreen(centerX, centerY));
48813
+ break;
48790
48814
  }
48791
48815
  }
48792
48816
  function onTouchEnd(event) {
@@ -48804,7 +48828,18 @@
48804
48828
  for (let i = 0; i < _pointers.length; i++) {
48805
48829
  if (_pointers[i].pointerId !== event.pointerId) {
48806
48830
  const position = _pointerPositions[_pointers[i].pointerId];
48807
- _moveCurr.copy(getMouseOnCircle(position.x, position.y));
48831
+ _moveCurr.copy(getMouseOnScreen(position.x, position.y));
48832
+ _movePrev.copy(_moveCurr);
48833
+ break;
48834
+ }
48835
+ }
48836
+ break;
48837
+ case 3:
48838
+ _state = STATE.TOUCH_PAN;
48839
+ for (let i = 0; i < _pointers.length; i++) {
48840
+ if (_pointers[i].pointerId !== event.pointerId) {
48841
+ const position = _pointerPositions[_pointers[i].pointerId];
48842
+ _moveCurr.copy(getMouseOnScreen(position.x, position.y));
48808
48843
  _movePrev.copy(_moveCurr);
48809
48844
  break;
48810
48845
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "copper3d",
3
3
  "description": "A 3d visualisation package base on threejs provides multiple scenes and Nrrd image load funtion.",
4
- "version": "1.15.4",
4
+ "version": "1.15.5",
5
5
  "main": "dist/bundle.umd.js",
6
6
  "moudle": "dist/bundle.esm.js",
7
7
  "types": "dist/types/index.d.ts",