text: import { Mesh } from '../objects/Mesh.js';
  import { MeshBasicMaterial } from '../materials/MeshBasicMaterial.js';
  import { SphereBufferGeometry } from '../geometries/SphereBufferGeometry.js';
  
  class PointLightHelper extends Mesh {
  
  	constructor( light, sphereSize, color ) {
  
  		const geometry = new SphereBufferGeometry( sphereSize, 4, 2 );
  		const material = new MeshBasicMaterial( { wireframe: true, fog: false, toneMapped: false } );
  
  		super( geometry, material );
  
  		this.light = light;
  		this.light.updateMatrixWorld();
  
  		this.color = color;
  
  		this.type = 'PointLightHelper';
  
  		this.matrix = this.light.matrixWorld;
  		this.matrixAutoUpdate = false;
  
  		this.update();
  
  
  		/*
  	// TODO: delete this comment?
  	const distanceGeometry = new THREE.IcosahedronBufferGeometry( 1, 2 );
  	const distanceMaterial = new THREE.MeshBasicMaterial( { color: hexColor, fog: false, wireframe: true, opacity: 0.1, transparent: true } );
  
  	this.lightSphere = new THREE.Mesh( bulbGeometry, bulbMaterial );
  	this.lightDistance = new THREE.Mesh( distanceGeometry, distanceMaterial );
  
  	const d = light.distance;
  
  	if ( d === 0.0 ) {
  
  		this.lightDistance.visible = false;
  
  	} else {
  
  		this.lightDistance.scale.set( d, d, d );
  
  	}
  
  	this.add( this.lightDistance );
  	*/
  
  	}
  
  	dispose() {
  
  		this.geometry.dispose();
  		this.material.dispose();
  
  	}
  
  	update() {
  
  		if ( this.color !== undefined ) {
  
  			this.material.color.set( this.color );
  
  		} else {
  
  			this.material.color.copy( this.light.color );
  
  		}
  
  		/*
  		const d = this.light.distance;
  
  		if ( d === 0.0 ) {
  
  			this.lightDistance.visible = false;
  
  		} else {
  
  			this.lightDistance.visible = true;
  			this.lightDistance.scale.set( d, d, d );
  
  		}
  		*/
  
  	}
  
  }
  
  
  export { PointLightHelper };
  