App.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. // import {
  2. // Scene,
  3. // PerspectiveCamera,
  4. // WebGLRenderer,
  5. // Clock,
  6. // Matrix4,
  7. // Euler,
  8. // sRGBEncoding,
  9. // Math as ThreeMath
  10. // } from 'three';
  11. // import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls';
  12. // import { Loader3DTiles } from 'three-loader-3dtiles';
  13. // import { CameraRig, FreeMovementControls } from 'three-story-controls'
  14. // import Stats from 'three/examples/jsm/libs/stats.module.js';
  15. // import StatsWidget from '@probe.gl/stats-widget';
  16. // const queryParams = new URLSearchParams(document.location.search);
  17. // const canvasParent = document.querySelector('#canvas-parent');
  18. // const statsParent = document.querySelector('#stats-widget')
  19. // const scene = new Scene();
  20. // const camera = new PerspectiveCamera(
  21. // 35,
  22. // 1,
  23. // 0.01,
  24. // 1000,
  25. // );
  26. // const renderer = new WebGLRenderer();
  27. // renderer.outputEncoding = sRGBEncoding;
  28. // const clock = new Clock()
  29. // const rig = new CameraRig(camera, scene)
  30. // let controls = undefined;
  31. // if (queryParams.get('orbit')) {
  32. // controls = new OrbitControls( camera, canvasParent);
  33. // controls.listenToKeyEvents( document.body );
  34. // camera.position.set(0,200,0);
  35. // controls.update();
  36. // } else {
  37. // controls = new FreeMovementControls(rig, {
  38. // panDegreeFactor: 2,
  39. // wheelScaleFactor: 0.01,
  40. // keyboardScaleFactor: 0.015,
  41. // keyboardDampFactor: 0
  42. // });
  43. // controls.enable();
  44. // }
  45. // canvasParent.appendChild(renderer.domElement);
  46. // const threeJsStats = new Stats();
  47. // threeJsStats.domElement.style.position = 'absolute';
  48. // threeJsStats.domElement.style.top = '10px';
  49. // threeJsStats.domElement.style.left = '10px';
  50. // canvasParent.appendChild( threeJsStats.domElement );
  51. // let tilesRuntime = undefined;
  52. // let statsRuntime = undefined;
  53. // if (queryParams.get('tilesetUrl')) {
  54. // document.querySelector('#example-desc').style.display = 'none';
  55. // }
  56. // async function loadTileset() {
  57. // const result = await Loader3DTiles.load(
  58. // {
  59. // url:
  60. // queryParams.get('tilesetUrl') ??
  61. // 'https://int.nyt.com/data/3dscenes/ONA360/TILESET/0731_FREEMAN_ALLEY_10M_A_36x8K__10K-PN_50P_DB/tileset_tileset.json',
  62. // renderer: renderer,
  63. // options: {
  64. // dracoDecoderPath: 'https://cdn.jsdelivr.net/npm/three@0.137.0/examples/js/libs/draco',
  65. // basisTranscoderPath: 'https://cdn.jsdelivr.net/npm/three@0.137.0/examples/js/libs/basis',
  66. // maximumScreenSpaceError: queryParams.get('sse') ?? 48,
  67. // }
  68. // }
  69. // );
  70. // const {model, runtime} = result;
  71. // model.rotation.set(-Math.PI / 2, 0, Math.PI / 2);
  72. // if (!queryParams.get('tilesetUrl')) {
  73. // model.position.set(-1, 4, -16);
  74. // }
  75. // tilesRuntime = runtime;
  76. // scene.add(model);
  77. // statsRuntime = new StatsWidget(runtime.getStats(), {container: statsParent });
  78. // statsParent.style.visibility = 'visible';
  79. // }
  80. // function render(t) {
  81. // const dt = clock.getDelta()
  82. // controls.update(t);
  83. // if (tilesRuntime) {
  84. // tilesRuntime.update(dt, renderer, camera);
  85. // }
  86. // if (statsRuntime) {
  87. // statsRuntime.update();
  88. // }
  89. // renderer.render(scene, camera);
  90. // threeJsStats.update();
  91. // window.requestAnimationFrame(render);
  92. // }
  93. // function onWindowResize() {
  94. // renderer.setSize(canvasParent.clientWidth, canvasParent.clientHeight);
  95. // camera.aspect = canvasParent.clientWidth / canvasParent.clientHeight;
  96. // camera.updateProjectionMatrix();
  97. // }
  98. // export default class App{
  99. // constructor(){
  100. // }
  101. // start(){
  102. // loadTileset();
  103. // onWindowResize();
  104. // window.addEventListener('resize', onWindowResize);
  105. // render();
  106. // }
  107. // }
  108. // let app = new App();
  109. // app.start();
  110. import { mergeScene } from './MergeScene.js';
  111. export default class App{
  112. constructor(){
  113. mergeScene.start();
  114. }
  115. }
  116. let app = new App();
  117. //https://threejs.org/examples/?q=editor#webgl_geometry_spline_editor