| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- import { Object3D } from '../core/Object3D.js';
- import { Color } from '../math/Color.js';
- class Light extends Object3D {
- constructor( color, intensity = 1 ) {
- super();
- this.isLight = true;
- this.type = 'Light';
- this.color = new Color( color );
- this.intensity = intensity;
- }
- dispose() {
- // Empty here in base class; some subclasses override.
- }
- copy( source ) {
- super.copy( source );
- this.color.copy( source.color );
- this.intensity = source.intensity;
- return this;
- }
- toJSON( meta ) {
- const data = super.toJSON( meta );
- data.object.color = this.color.getHex();
- data.object.intensity = this.intensity;
- if ( this.groundColor !== undefined ) data.object.groundColor = this.groundColor.getHex();
- if ( this.distance !== undefined ) data.object.distance = this.distance;
- if ( this.angle !== undefined ) data.object.angle = this.angle;
- if ( this.decay !== undefined ) data.object.decay = this.decay;
- if ( this.penumbra !== undefined ) data.object.penumbra = this.penumbra;
- if ( this.shadow !== undefined ) data.object.shadow = this.shadow.toJSON();
- return data;
- }
- }
- export { Light };
|