SpotLight class
class SpotLight extends ShadowCaster { Object3D target; double intensity, distance; double angle; num exponent; SpotLight( num hex, [this.intensity = 1.0, this.distance = 0.0, this.angle = Math.PI / 2, this.exponent = 10] ) : super( hex ) { //THREE.Light.call( this, hex ); position = new Vector3( 0.0, 1.0, 0.0 ); target = new Object3D(); castShadow = false; onlyShadow = false; // shadowCameraNear = 50.0; shadowCameraFar = 5000.0; shadowCameraFov = 50.0; shadowCameraVisible = false; shadowBias = 0; shadowDarkness = 0.5; shadowMapWidth = 512; shadowMapHeight = 512; // shadowMap = null; shadowMapSize = null; shadowCamera = null; shadowMatrix = null; } }
Extends
Object3D > Light > ShadowCaster > SpotLight
Constructors
new SpotLight(num hex, [double intensity = 1.0, double distance = 0.0, double angle = Math.PI/2, num exponent = 10]) #
Creates a new Object instance.
Object instances have no meaningful state, and are only useful through their identity. An Object instance is equal to itself only.
docs inherited from Object
SpotLight( num hex, [this.intensity = 1.0, this.distance = 0.0, this.angle = Math.PI / 2, this.exponent = 10] ) : super( hex ) { //THREE.Light.call( this, hex ); position = new Vector3( 0.0, 1.0, 0.0 ); target = new Object3D(); castShadow = false; onlyShadow = false; // shadowCameraNear = 50.0; shadowCameraFar = 5000.0; shadowCameraFov = 50.0; shadowCameraVisible = false; shadowBias = 0; shadowDarkness = 0.5; shadowMapWidth = 512; shadowMapHeight = 512; // shadowMap = null; shadowMapSize = null; shadowCamera = null; shadowMatrix = null; }
Properties
bool frustumCulled #
inherited from Object3D
bool visible = false, castShadow = false, receiveShadow = false, frustumCulled = false
bool isDynamic #
inherited from Object3D
bool get isDynamic => _dynamic;
set isDynamic(bool flag) => _dynamic = flag;
Matrix4 matrixRotationWorld #
inherited from Object3D
Matrix4 matrix, matrixWorld, matrixRotationWorld
bool matrixWorldNeedsUpdate #
inherited from Object3D
bool matrixAutoUpdate = false, matrixWorldNeedsUpdate = false
bool receiveShadow #
inherited from Object3D
bool visible = false, castShadow = false, receiveShadow = false
bool rotationAutoUpdate #
inherited from Object3D
bool _dynamic, doubleSided, flipSided, rotationAutoUpdate
num shadowCameraFov #
inherited from ShadowCaster
num shadowCameraNear, shadowCameraFar, shadowCameraFov
Operators
Methods
void add(Object3D object) #
inherited from Object3D
void add( Object3D object ) { if ( object == this ) { print( 'THREE.Object3D.add: An object can\'t be added as a child of itself.' ); return; } if ( object.parent != null ) { object.parent.remove( object ); } object.parent = this; children.add( object ); // add to scene Object3D scene = this; while ( scene.parent != null ) { scene = scene.parent; } if ( scene is Scene ) { scene.addObject( object ); } }
void applyMatrix(Matrix4 matrix) #
inherited from Object3D
void applyMatrix ( Matrix4 matrix ) { this.matrix = matrix * this.matrix; this.scale = getScaleFromMatrix( this.matrix ); Matrix4 mat = extractRotation(new Matrix4.identity(), this.matrix ); this.rotation = calcEulerFromRotationMatrix( mat, this.eulerOrder ); this.position = this.matrix.getTranslation(); }
Object3D getChildByName(String name, bool doRecurse) #
inherited from Object3D
Object3D getChildByName( String name, bool doRecurse ) { int c; int cl = children.length; Object3D child, recurseResult; children.forEach((child){ if ( child.name == name ) { return child; } if ( doRecurse ) { recurseResult = child.getChildByName( name, doRecurse ); if ( recurseResult != null ) { return recurseResult; } } }); return null; }
dynamic localToWorld(Vector3 vector) #
inherited from Object3D
localToWorld(Vector3 vector) => vector.applyProjection(matrixWorld);
void lookAt(Vector3 vector) #
inherited from Object3D
void lookAt( Vector3 vector ) { // TODO: Add hierarchy support. makeLookAt( matrix, vector, position, up ); if ( rotationAutoUpdate ) { if(useQuaternion) quaternion.setFromRotationMatrix(matrix); else rotation = calcEulerFromRotationMatrix( matrix, eulerOrder ); } }
void remove(Object3D object) #
inherited from Object3D
void remove( Object3D object ) { int index = children.indexOf( object ); if ( index != - 1 ){ object.parent = null; children.removeAt(index); // remove from scene Object3D scene = this; while ( scene.parent != null ) { scene = scene.parent; } if (scene is Scene ) { scene.removeObject( object ); } } }
void translate(num distance, Vector3 axis) #
inherited from Object3D
void translate( num distance, Vector3 axis ) { matrix.rotate3( axis ); axis.normalize(); position.add( axis.scale( distance ) ); }
void translateX(num distance) #
inherited from Object3D
void translateX( num distance ) => translate( distance, _vector.setValues( 1.0, 0.0, 0.0 ) );
void translateY(num distance) #
inherited from Object3D
void translateY( num distance ) => translate( distance, _vector.setValues( 0.0, 1.0, 0.0 ) );
void translateZ(num distance) #
inherited from Object3D
void translateZ( num distance ) => translate( distance, _vector.setValues( 0.0, 0.0, 1.0 ) );
void updateMatrix() #
inherited from Object3D
void updateMatrix() { if ( useQuaternion ) { setRotationFromQuaternion( matrix, quaternion ); } else { setRotationFromEuler( matrix, rotation, eulerOrder ); } matrix.setTranslation( position ); if ( scale.x != 1.0 || scale.y != 1.0 || scale.z != 1.0 ) { matrix.scale( scale ); boundRadiusScale = Math.max( scale.x, Math.max( scale.y, scale.z ) ); } matrixWorldNeedsUpdate = true; }
void updateMatrixWorld({bool force: false}) #
inherited from Object3D
void updateMatrixWorld( {bool force: false} ) { if (matrixAutoUpdate) updateMatrix(); // update matrixWorld if ( matrixWorldNeedsUpdate || force ) { if ( parent != null ) { matrixWorld = parent.matrixWorld * matrix; } else { matrixWorld = matrix.clone(); } matrixWorldNeedsUpdate = false; force = true; } // update children children.forEach((c) => c.updateMatrixWorld( force: force ) ); }