mirror of https://gitee.com/cf-fz/WebCAD.git
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.
193 lines
6.5 KiB
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;
|
|
// // }
|
|
// // });
|
|
// }
|
|
// }
|