AnyLogic
Expand
Font size
All Implemented Interfaces:
com.anylogic.engine.internal.Child, AggregatableAnimationElement, HasLevel, LevelElement, SVGElement, java.io.Serializable, java.lang.Cloneable

public class Light3DDirectional
extends Light3D
3D directional light, may be added to 3D groups for scene lighting
Directional source of light is located in some infinitely distant point. It shines in the specified direction. You can think of a directional source of light as the Sun.
Lighting is performed along the given direction which is specified using 2 angles: orientation around X and Z axes.
Author:
AnyLogic North America, LLC https://anylogic.com
See Also:
Light3D, Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from class com.anylogic.engine.presentation.Light3D

Light3D.CarHeadlight, Light3D.Daylight, Light3D.Moonlight, Light3D.StreetLight

Constructor Summary

Constructors 
Light3DDirectional​(boolean ispublic, double angleX, double angleZ, java.awt.Color diffuseColor, java.awt.Color specularColor, java.awt.Color ambientColor, boolean global)
Creates new 3D directional light
Constructor Description

Method Summary

All Methods Instance Methods Concrete Methods Deprecated Methods 
Light3DDirectional clone()
Creates and returns a copy of this light (i.e.
float getAngleX()
Returns the orientation of the light around X axis (CW, from +Y to +Z).
Zero angle value corresponds to horizontal orientation of the light (parallel with XY-plane).
float getAngleZ()
Returns the orientation of the light around Z axis (CW, from +X to +Y).
Zero angle value corresponds to orientation of the light towards -Y direction (to the North).
Level getLevel()
Returns the level containing this shape.
void restoreOwner​(java.lang.Object owner)
Deprecated.
void setAngleX​(double angleX)
Sets the orientation of the light around X axis (CW, from +Y to +Z).
Zero angle value corresponds to horizontal orientation of the light (parallel with XY-plane).
void setAngleZ​(double angleZ)
Sets the orientation of the light around Z axis (CW, from +X to +Y).
Zero angle value corresponds to orientation of the light towards -Y direction (to the North).
void setContextReference_xjal​(Presentable contextReference)
Deprecated.
void setLevel​(Level level)
This method is internal and shouldn't be called by user.
it may be removed/renamed in future.
boolean updateDynamicPropertiesStructural​(boolean publicOnly)  
Modifier and Type Method Description

Methods inherited from class com.anylogic.engine.presentation.Light3D

executeUserAction, findSVGElement, getAmbientColor, getDiffuseColor, getGroup, getName, getPresentable, getSpecularColor, getSVGId, isEnabled, isGlobal, onAggregatorVisibilityChanged, removeSVGFromOwner, resetSVGState, setAmbientColor, setDiffuseColor, setEnabled, setGlobal, setSpecularColor, update, updateSVGProperties

Methods inherited from class java.lang.Object

equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Methods inherited from interface com.anylogic.engine.markup.AggregatableAnimationElement

initializeInternal, postInitialize

Constructor Detail

Light3DDirectional

public Light3DDirectional​(boolean ispublic,
                          double angleX,
                          double angleZ,
                          java.awt.Color diffuseColor,
                          java.awt.Color specularColor,
                          java.awt.Color ambientColor,
                          boolean global)
Creates new 3D directional light
Parameters:
ispublic - if true, the light persists on container's presentation
angleX - the orientation around X axis (CW, from +Y to +Z), in radians
angleZ - the orientation around Z axis (CW, from +X to +Y), in radians
diffuseColor - the diffuse color component
specularColor - the specular color component
ambientColor - the ambient color component
global - if true, the light affects shapes outside the group the light is placed in

Method Detail

getAngleZ

public float getAngleZ()
Returns the orientation of the light around Z axis (CW, from +X to +Y).
Zero angle value corresponds to orientation of the light towards -Y direction (to the North).
Returns:
the orientation around Z axis (CW, from +X to +Y), in radians

setAngleZ

public void setAngleZ​(double angleZ)
Sets the orientation of the light around Z axis (CW, from +X to +Y).
Zero angle value corresponds to orientation of the light towards -Y direction (to the North).
Parameters:
angleZ - the new value of orientation around Z axis (CW, from +X to +Y), in radians

getAngleX

public float getAngleX()
Returns the orientation of the light around X axis (CW, from +Y to +Z).
Zero angle value corresponds to horizontal orientation of the light (parallel with XY-plane).
Returns:
orientation around X axis (CW, from +Y to +Z), in radians

setAngleX

public void setAngleX​(double angleX)
Sets the orientation of the light around X axis (CW, from +Y to +Z).
Zero angle value corresponds to horizontal orientation of the light (parallel with XY-plane).
Parameters:
angleX - the new value of orientation around X axis (CW, from +Y to +Z), in radians

clone

public final Light3DDirectional clone()
Description copied from class: Light3D
Creates and returns a copy of this light (i.e. new light instance).
The returned light has the same type and parameters
The returned copy isn't automatically added to the group this light belongs to.
The clone is created in the context of the same agent
Overrides:
clone in class Light3D

updateDynamicPropertiesStructural

@AnyLogicInternalAPI
public boolean updateDynamicPropertiesStructural​(boolean publicOnly)
Returns:
true if update was done (usually for visible elements, respecting public flag etc.)

getLevel

public Level getLevel()
Returns the level containing this shape. The returned value is null for shapes in the experiments.
Specified by:
getLevel in interface HasLevel
Returns:
the level containing this shape

setLevel

@AnyLogicInternalAPI
public void setLevel​(Level level)
This method is internal and shouldn't be called by user.
it may be removed/renamed in future. Please use Level#add(Shape) instead.
Specified by:
setLevel in interface LevelElement

restoreOwner

@AnyLogicInternalCodegenAPI
@Deprecated
public final void restoreOwner​(java.lang.Object owner)
Deprecated.
This method normally should not be called by user
This method restores owner of this object
The method is used in snapshot saving/loading
Specified by:
restoreOwner in interface com.anylogic.engine.internal.Child
Parameters:
owner - owner of this object, usually Agent, Experiment or ShapeGroup

setContextReference_xjal

@AnyLogicInternalAPI
@Deprecated
public void setContextReference_xjal​(Presentable contextReference)
Deprecated.
How can we improve this article?