Dart DocumentationthreeSpotLight

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

double angle #

double angle

num boundRadius #

inherited from Object3D
num boundRadius

num boundRadiusScale #

inherited from Object3D
num boundRadius, boundRadiusScale

var cameraHelper #

inherited from ShadowCaster
var cameraHelper

bool castShadow #

inherited from ShadowCaster
bool castShadow

List children #

inherited from Object3D
List children

Color color #

inherited from Light
Color color

var customDepthMaterial #

inherited from Object3D
var customDepthMaterial

double distance #

double intensity, distance

bool doubleSided #

inherited from Object3D
bool _dynamic, doubleSided

String eulerOrder #

inherited from Object3D
String eulerOrder

num exponent #

num exponent

bool flipSided #

inherited from Object3D
bool _dynamic, doubleSided, flipSided

bool frustumCulled #

inherited from Object3D
bool visible = false, castShadow = false, receiveShadow = false, frustumCulled = false

int id #

inherited from Object3D
int id

double intensity #

double intensity

bool isDynamic #

inherited from Object3D
bool get isDynamic => _dynamic;
set isDynamic(bool flag) => _dynamic = flag;

Matrix4 matrix #

inherited from Object3D
Matrix4 matrix

bool matrixAutoUpdate #

inherited from Object3D
bool matrixAutoUpdate = false

Matrix4 matrixRotationWorld #

inherited from Object3D
Matrix4 matrix, matrixWorld, matrixRotationWorld

Matrix4 matrixWorld #

inherited from Object3D
Matrix4 matrix, matrixWorld

bool matrixWorldNeedsUpdate #

inherited from Object3D
bool matrixAutoUpdate = false, matrixWorldNeedsUpdate = false

String name #

inherited from Object3D
String name

bool onlyShadow #

inherited from ShadowCaster
bool onlyShadow

Object3D parent #

inherited from Object3D
Object3D parent

Vector3 position #

inherited from Object3D
Vector3 up, position

Map properties #

inherited from Object3D
Map properties

var quaternion #

inherited from Object3D
var quaternion

bool receiveShadow #

inherited from Object3D
bool visible = false, castShadow = false, receiveShadow = false

int renderDepth #

inherited from Object3D
int renderDepth

Vector3 rotation #

inherited from Object3D
Vector3 up, position, rotation

bool rotationAutoUpdate #

inherited from Object3D
bool _dynamic, doubleSided, flipSided, rotationAutoUpdate

Vector3 scale #

inherited from Object3D
Vector3 up, position, rotation, scale

num shadowBias #

inherited from ShadowCaster
num shadowBias

var shadowCamera #

inherited from ShadowCaster
var shadowCamera

num shadowCameraFar #

inherited from ShadowCaster
num shadowCameraNear,
   shadowCameraFar

num shadowCameraFov #

inherited from ShadowCaster
num shadowCameraNear,
   shadowCameraFar,
   shadowCameraFov

num shadowCameraNear #

inherited from ShadowCaster
num shadowCameraNear

bool shadowCameraVisible #

inherited from ShadowCaster
bool shadowCameraVisible

num shadowDarkness #

inherited from ShadowCaster
num shadowDarkness

var shadowMap #

inherited from ShadowCaster
var shadowMap

num shadowMapHeight #

inherited from ShadowCaster
num shadowMapWidth,
   shadowMapHeight

var shadowMapSize #

inherited from ShadowCaster
var shadowMapSize

num shadowMapWidth #

inherited from ShadowCaster
num shadowMapWidth

var shadowMatrix #

inherited from ShadowCaster
var shadowMatrix

Object3D target #

Object3D target

Vector3 up #

inherited from Object3D
Vector3 up

bool useQuaternion #

inherited from Object3D
bool useQuaternion

bool visible #

inherited from Object3D
bool visible = false

Operators

dynamic operator [](String key) #

inherited from Object3D
operator [] (String key) => _data[key];

dynamic operator []=(String key, value) #

inherited from Object3D
operator []= (String key, value) => _data[key] = value;

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();
}

dynamic clone() #

inherited from Object3D
clone() {

 // TODO

}

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 ) );

}

dynamic worldToLocal(Vector3 vector) #

inherited from Object3D
worldToLocal(Vector3 vector) {
 Matrix4 m = this.matrixWorld.clone();
 m.invert();
 m.transform3( vector );
}