com.xj.anylogic.engine.presentation
Class Light3DPoint

java.lang.Object
  extended by com.xj.anylogic.engine.presentation.Light3D
      extended by com.xj.anylogic.engine.presentation.Light3DPoint
All Implemented Interfaces:
com.xj.anylogic.engine.internal.Child, com.xj.anylogic.engine.internal.presentation.Accessor3D_xjal, com.xj.anylogic.engine.internal.presentation.WorldObject3D_xjal, java.io.Serializable, java.lang.Cloneable

public class Light3DPoint
extends Light3D

3D point light, may be added to 3D groups for scene lighting
Point source of light is located in one particular point of space. It shines uniformly in all directions.
You can define attenuation coefficients for this kind of source of light.

Author:
XJ Technologies Company Ltd. www.anylogic.com
See Also:
Light3D, Serialized Form

Constructor Summary
Light3DPoint(boolean ispublic, double x, double y, double z, double constantAttenuation, double linearAttenuation, double quadraticAttenuation, java.awt.Color diffuseColor, java.awt.Color specularColor, java.awt.Color ambientColor, boolean global)
          Creates new 3D point light
 
Method Summary
 Light3DPoint clone()
          Creates and returns a copy of this light (i.e. new light instance).
 Element3D_xjal get3DElement_xjal()
          This method is internal and shouldn't be accessed by user.
 float getConstantAttenuation()
          Returns the constant attenuation factor of the light
 float getLinearAttenuation()
          Returns the linear attenuation factor of the light
 float getQuadraticAttenuation()
          Returns the quadratic attenuation factor of the light
 float getX()
          Returns the x coordinate of the light source position
 float getY()
          Retunrs the y coordinate of the light source position
 float getZ()
          Returns the z coordinate of the light source position
 void restoreOwner(java.lang.Object owner)
          This method normally should not be called by user
This method restores owner of this object
The method is used in snapshot saving/loading
 void set3DElement_xjal(Element3D_xjal element3D)
          This method is internal and shouldn't be accessed by user.
 void setAttenuation(double constantAttenuation, double linearAttenuation, double quadraticAttenuation)
          Sets the attenuation factors of the light fading with the distance.
 void setConstantAttenuation(double constantAttenuation)
          Sets the constant attenuation factor of the light
 void setContextReference_xjal(Presentable contextReference)
          This method is internal and shouldn't be accessed by user.
 void setLinearAttenuation(double linearAttenuation)
          Sets the linear attenuation factor of the light
 void setPos(double x, double y, double z)
          Sets the light source position
 void setQuadraticAttenuation(double quadraticAttenuation)
          Sets the quadratic attenuation factor of the light
 void setX(double x)
          Sets the x coordinate of the light source position
 void setY(double y)
          Sets the y coordinate of the light source position
 void setZ(double z)
          Sets the z coordinate of the light source position
 
Methods inherited from class com.xj.anylogic.engine.presentation.Light3D
getAmbientColor, getDiffuseColor, getGroup, getName, getPresentable, getSpecularColor, isEnabled, isGlobal, setAmbientColor, setDiffuseColor, setEnabled, setGlobal, setSpecularColor, update
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Light3DPoint

public Light3DPoint(boolean ispublic,
                    double x,
                    double y,
                    double z,
                    double constantAttenuation,
                    double linearAttenuation,
                    double quadraticAttenuation,
                    java.awt.Color diffuseColor,
                    java.awt.Color specularColor,
                    java.awt.Color ambientColor,
                    boolean global)
Creates new 3D point light

Parameters:
ispublic - if true, the light persists on container's presentation
x - the x coordinate of light source location
y - the y coordinate of light source location
z - the z coordinate of light source location
constantAttenuation - the constant attenuation factor
linearAttenuation - the linear attenuation factor
quadraticAttenuation - the quadraticAttenuation attenuation factor
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

getX

public float getX()
Returns the x coordinate of the light source position

Returns:
the x coordinate of the light source position

setX

public void setX(double x)
Sets the x coordinate of the light source position

Parameters:
x - the x coordinate of the light source position

getY

public float getY()
Retunrs the y coordinate of the light source position

Returns:
the y coordinate of the light source position

setY

public void setY(double y)
Sets the y coordinate of the light source position

Parameters:
y - the y coordinate of the light source position

getZ

public float getZ()
Returns the z coordinate of the light source position

Returns:
the z coordinate of the light source position

setZ

public void setZ(double z)
Sets the z coordinate of the light source position

Parameters:
z - the z coordinate of the light source position

setPos

public void setPos(double x,
                   double y,
                   double z)
Sets the light source position

Parameters:
x - the x coordinate of the light source position
y - the y coordinate of the light source position
z - the z coordinate of the light source position

getConstantAttenuation

public float getConstantAttenuation()
Returns the constant attenuation factor of the light

Returns:
the constant attenuation factor of the light

setConstantAttenuation

public void setConstantAttenuation(double constantAttenuation)
Sets the constant attenuation factor of the light

Parameters:
constantAttenuation - the constant attenuation factor of the light

getLinearAttenuation

public float getLinearAttenuation()
Returns the linear attenuation factor of the light

Returns:
the linear attenuation factor of the light

setLinearAttenuation

public void setLinearAttenuation(double linearAttenuation)
Sets the linear attenuation factor of the light

Parameters:
linearAttenuation - the linear attenuation factor of the light

getQuadraticAttenuation

public float getQuadraticAttenuation()
Returns the quadratic attenuation factor of the light

Returns:
the quadratic attenuation factor of the light

setQuadraticAttenuation

public void setQuadraticAttenuation(double quadraticAttenuation)
Sets the quadratic attenuation factor of the light

Parameters:
quadraticAttenuation - the quadratic attenuation factor of the light

setAttenuation

public void setAttenuation(double constantAttenuation,
                           double linearAttenuation,
                           double quadraticAttenuation)
Sets the attenuation factors of the light fading with the distance.
Light attenuation is calculated using this factor (where d is a distance from the light source):
attenuation factor = 1 / (kC + kLd + kQd2)
If all of provided factors are set to zero, then the light isn't faded.

Parameters:
constantAttenuation - constant attenuation factor: kC
linearAttenuation - linear attenuation factor: kL
quadraticAttenuation - quadratic attenuation factor: kQ

clone

public final Light3DPoint 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 active object

Overrides:
clone in class Light3D

restoreOwner

public final void restoreOwner(java.lang.Object owner)
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.xj.anylogic.engine.internal.Child
Parameters:
owner - owner of this object, usually ActiveObject, Experiment or ShapeGroup

setContextReference_xjal

public void setContextReference_xjal(Presentable contextReference)
Description copied from interface: com.xj.anylogic.engine.internal.presentation.WorldObject3D_xjal
This method is internal and shouldn't be accessed by user.
It is public due to technical reasons.

Specified by:
setContextReference_xjal in interface com.xj.anylogic.engine.internal.presentation.WorldObject3D_xjal

set3DElement_xjal

public void set3DElement_xjal(Element3D_xjal element3D)
Description copied from interface: com.xj.anylogic.engine.internal.presentation.Accessor3D_xjal
This method is internal and shouldn't be accessed by user.
It is public due to technical reasons.

Specified by:
set3DElement_xjal in interface com.xj.anylogic.engine.internal.presentation.Accessor3D_xjal

get3DElement_xjal

public Element3D_xjal get3DElement_xjal()
Description copied from interface: com.xj.anylogic.engine.internal.presentation.Accessor3D_xjal
This method is internal and shouldn't be accessed by user.
It is public due to technical reasons.

Specified by:
get3DElement_xjal in interface com.xj.anylogic.engine.internal.presentation.Accessor3D_xjal


Copyright © 1991-2008 XJ Technlogies. All Rights Reserved.