// //拓展加载管理器. // // import { App } from "../../main"; // import { Application } from "../../Application"; // import * as THREE from 'three' // import { DebugDatUi } from "../../Editor/DebugDatUi"; // //解决GUI引用问题 http://stackoverflow.com/questions/43524166/webpack-npm-use-build-version-of-installed-module-instead-of-re-building-from // //https://github.com/webpack/webpack/issues/359 // // import * as dat from 'dat.gui/build/dat.gui.js'; // export class ExpandManage // { // constructor() // { // new ResizeEven(); // new AddEntExt(); // new Transform(); // new DebugDatUi(); // } // } // //Onsize 事件 将来将独立出Viewer 控件. // export class ResizeEven // { // constructor() // { // window.addEventListener('resize', () => ResizeEven.onWindowResize, false); // } // //事件. // static onWindowResize() // { // var app = Application.app; // if (app.gCurCamera && app.gCurCamera instanceof THREE.OrthographicCamera) // { // // app.gCurCamera.aspect = window.innerWidth / window.innerHeight; // app.gCurCamera.updateProjectionMatrix(); // } // app.gRender.setSize(window.innerWidth, window.innerHeight); // } // } // export class AddEntExt // { // app: Application // constructor() // { // this.app = Application.app; // // app.gScene.add(new THREE.GridHelper(5000, 50, 0x000000, 0x000000)); // this.addLight(); // this.addFoot() // } // addLight() // { // var hemiLight = new THREE.HemisphereLight(0xddeeff, 0x0f0e0d, 0.1); // this.app.gScene.add(hemiLight); // //灯光 // var bulbGeometry = new THREE.SphereGeometry(0.02, 16, 8); // var bulbLight = new THREE.PointLight(0xffee88, 1, 100, 2); // bulbLight.power = 400 // var bulbMat = new THREE.MeshStandardMaterial({ // emissive: new THREE.Color(0xffffee),//0xffffee // emissiveIntensity: 1, // color: 0x000000 // }); // bulbMat.emissiveIntensity = bulbLight.intensity / Math.pow(0.02, 2.0); // convert from intensity t // bulbLight.add(new THREE.Mesh(bulbGeometry, bulbMat)); // bulbLight.position.set(0, 0, 2); // bulbLight.castShadow = true; // this.app.gScene.add(bulbLight); // } // addFoot() // { // var floorMat = new THREE.MeshStandardMaterial({ // roughness: 0.8, // color: 0xffffff, // metalness: 0.2, // bumpScale: 0.0005 // }); // var textureLoader = new THREE.TextureLoader(); // var url = require("file-loader?!../../textures/hardwood2_diffuse.jpg"); // textureLoader.load(require("file-loader?!../../textures/hardwood2_diffuse.jpg"), function (map) // { // map.wrapS = THREE.RepeatWrapping; // map.wrapT = THREE.RepeatWrapping; // map.anisotropy = 4; // map.repeat.set(10, 24); // floorMat.map = map; // floorMat.needsUpdate = true; // }); // textureLoader.load(require("file-loader?!../../textures/hardwood2_bump.jpg"), function (map) // { // map.wrapS = THREE.RepeatWrapping; // map.wrapT = THREE.RepeatWrapping; // map.anisotropy = 4; // map.repeat.set(10, 24); // floorMat.bumpMap = map; // floorMat.needsUpdate = true; // }); // textureLoader.load(require("file-loader?!../../textures/hardwood2_roughness.jpg"), function (map) // { // map.wrapS = THREE.RepeatWrapping; // map.wrapT = THREE.RepeatWrapping; // map.anisotropy = 4; // map.repeat.set(10, 24); // floorMat.roughnessMap = map; // floorMat.needsUpdate = true; // }); // var floorGeometry = new THREE.PlaneBufferGeometry(20, 20); // var floorMesh = new THREE.Mesh(floorGeometry, floorMat); // // floorMesh.scale.set(50, 50, 50) // floorMesh.receiveShadow = true; // // floorMesh.rotation.x = -Math.PI / 2.0; // this.app.gScene.add(floorMesh); // } // } // export class Transform // { // constructor() // { // // var app = App.getCurApp(); // // var light = new THREE.DirectionalLight(0xffffff, 2); // // light.position.set(1, 1, 1); // // app.gScene.add(light); // // // var control = new THREE.TransformControls(app.gCurCamera, app.gRender.domElement); // // // control.addEventListener('change', () => { return app.gRender }); // // var geometry = new THREE.BoxGeometry(200, 200, 200); // // var mesh = new THREE.Mesh(geometry, new THREE.MeshNormalMaterial); // // var scene = app.gScene; // // scene.add(mesh); // // control.attach(mesh); // // scene.add(control); // // window.addEventListener('keydown', function (event) // // { // // switch (event.keyCode) { // // case 81: // Q // // // control.setSpace(control.space === "local" ? "world" : "local"); // // break; // // case 17: // Ctrl // // // control.setTranslationSnap(100); // // // control.setRotationSnap(THREE.Math.degToRad(15)); // // break; // // case 87: // W // // control.setMode("translate"); // // break; // // case 69: // E // // control.setMode("rotate"); // // break; // // case 82: // R // // control.setMode("scale"); // // break; // // case 187: // // case 107: // +, =, num+ // // // control.setSize(control.size + 0.1); // // break; // // case 189: // // case 109: // -, _, num- // // // control.setSize(Math.max(control.size - 0.1, 0.1)); // // break; // // } // // }); // // window.addEventListener('keyup', function (event) // // { // // switch (event.keyCode) { // // case 17: // Ctrl // // // control.setTranslationSnap(null); // // // control.setRotationSnap(null); // // break; // // } // // }); // } // }