/** * @author alteredq / http://alteredqualia.com/ * @author mrdoob / http://mrdoob.com/ * @author WestLangley / http://github.com/WestLangley */ export class DirectionalLightHelper { // THREE.DirectionalLightHelper = function(light, size) { // THREE.Object3D.call(this); // this.light = light; // this.light.updateMatrixWorld(); // this.matrix = light.matrixWorld; // this.matrixAutoUpdate = false; // size = size || 1; // var geometry = new THREE.Geometry(); // geometry.vertices.push( // new THREE.Vector3(- size, size, 0), // new THREE.Vector3(size, size, 0), // new THREE.Vector3(size, - size, 0), // new THREE.Vector3(- size, - size, 0), // new THREE.Vector3(- size, size, 0) // ); // var material = new THREE.LineBasicMaterial({ fog: false }); // material.color.copy(this.light.color).multiplyScalar(this.light.intensity); // this.lightPlane = new THREE.Line(geometry, material); // this.add(this.lightPlane); // geometry = new THREE.Geometry(); // geometry.vertices.push( // new THREE.Vector3(), // new THREE.Vector3() // ); // material = new THREE.LineBasicMaterial({ fog: false }); // material.color.copy(this.light.color).multiplyScalar(this.light.intensity); // this.targetLine = new THREE.Line(geometry, material); // this.add(this.targetLine); // this.update(); // }; // THREE.DirectionalLightHelper.prototype = Object.create(THREE.Object3D.prototype); // THREE.DirectionalLightHelper.prototype.constructor = THREE.DirectionalLightHelper; // THREE.DirectionalLightHelper.prototype.dispose = function() { // this.lightPlane.geometry.dispose(); // this.lightPlane.material.dispose(); // this.targetLine.geometry.dispose(); // this.targetLine.material.dispose(); // }; // THREE.DirectionalLightHelper.prototype.update = function() { // var v1 = new THREE.Vector3(); // var v2 = new THREE.Vector3(); // var v3 = new THREE.Vector3(); // return function() { // v1.setFromMatrixPosition(this.light.matrixWorld); // v2.setFromMatrixPosition(this.light.target.matrixWorld); // v3.subVectors(v2, v1); // this.lightPlane.lookAt(v3); // this.lightPlane.material.color.copy(this.light.color).multiplyScalar(this.light.intensity); // this.targetLine.geometry.vertices[1].copy(v3); // this.targetLine.geometry.verticesNeedUpdate = true; // this.targetLine.material.color.copy(this.lightPlane.material.color); // }; // } (); }