You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
WebCAD/sample/old/ExpandManage.ts

193 lines
6.5 KiB

// //拓展加载管理器.
// // 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;
// // }
// // });
// }
// }