de.grogra.rgg
Class LightModelBase

java.lang.Object
  extended by de.grogra.persistence.ShareableBase
      extended by de.grogra.rgg.LightModelBase
All Implemented Interfaces:
Manageable, Shareable
Direct Known Subclasses:
FluxLightModel, LightModel

public abstract class LightModelBase
extends ShareableBase


Field Summary
static Node.NType $TYPE
           
 
Constructor Summary
LightModelBase()
           
 
Method Summary
abstract  void compute()
          (Re-)computes the light distribution in the current graph.
abstract  void compute(boolean force)
          (Re-)computes the light distribution in the current graph.
abstract  void compute(Spectrum spectrumFactory)
          (Re-)computes the light distribution in the current graph.
abstract  void compute(Spectrum spectrumFactory, boolean force)
          (Re-)computes the light distribution in the current graph.
abstract  Spectrum getAbsorbedPower(Node node)
          Returns the radiant power in Watts which is absorbed by the surface of the volume of the given node.
 Spectrum3d getAbsorbedPower3d(Node node)
          Returns the radiant power in Watts which is absorbed by the surface of the volume of the given node, represented as a Spectrum3d.
 Spectrum3d getRadiantPower3dFor(Node node)
          Deprecated. 
 Spectrum getRadiantPowerFor(Node node)
          Deprecated. 
abstract  Spectrum getSensedIrradiance(Node node)
          Returns the irradiance in Watts per square meter which is sensed by the sensor attached to the volume of the given node.
 Spectrum3d getSensedIrradiance3d(Node node)
           
abstract  void setLayerVisible(int layer, boolean visible)
          sets the visibility of a layer
 
Methods inherited from class de.grogra.persistence.ShareableBase
addReference, appendReferencesTo, fieldModified, getProvider, getStamp, initProvider, manageableReadResolve, manageableWriteReplace, removeReference
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface de.grogra.persistence.Manageable
getManageableType
 

Field Detail

$TYPE

public static final Node.NType $TYPE
Constructor Detail

LightModelBase

public LightModelBase()
Method Detail

compute

public abstract void compute()
(Re-)computes the light distribution in the current graph.


compute

public abstract void compute(boolean force)
(Re-)computes the light distribution in the current graph.

Parameters:
force - if true forces recomputation of the light distribution

compute

public abstract void compute(Spectrum spectrumFactory)
(Re-)computes the light distribution in the current graph.

Parameters:
spectrumFactory - factrory for spectrum objects

compute

public abstract void compute(Spectrum spectrumFactory,
                             boolean force)
(Re-)computes the light distribution in the current graph. This method has to be invoked at first in order for getRadiantPowerFor(de.grogra.graph.impl.Node), getAbsorbedPower(de.grogra.graph.impl.Node) and getSensedIrradiance(de.grogra.graph.impl.Node) to return correct values.

Parameters:
spectrumFactory - factrory for spectrum objects
force - if true forces recomputation of the light distribution

getAbsorbedPower

public abstract Spectrum getAbsorbedPower(Node node)
Returns the radiant power in Watts which is absorbed by the surface of the volume of the given node. If the node does not define a volume, the zero spectrum is returned.

Parameters:
node - a node of the graph
Returns:
the absorbed radiant power of the node

getAbsorbedPower3d

public Spectrum3d getAbsorbedPower3d(Node node)
Returns the radiant power in Watts which is absorbed by the surface of the volume of the given node, represented as a Spectrum3d. If the node does not define a volume, the zero spectrum is returned.

Parameters:
node - a node of the graph
Returns:
the absorbed radiant power of the node

getRadiantPower3dFor

@Deprecated
public Spectrum3d getRadiantPower3dFor(Node node)
Deprecated. 

Deprecated, use getAbsorbedPower3d(node) instead.

Parameters:
node -
Returns:

getRadiantPowerFor

@Deprecated
public Spectrum getRadiantPowerFor(Node node)
Deprecated. 

Deprecated, use getAbsorbedPower(node) instead.

Parameters:
node -
Returns:

getSensedIrradiance

public abstract Spectrum getSensedIrradiance(Node node)
Returns the irradiance in Watts per square meter which is sensed by the sensor attached to the volume of the given node. If the node does not define a volume with a sensor, the zero spectrum is returned.

Parameters:
node - a node of the graph
Returns:
the sensed irradiance of the node

getSensedIrradiance3d

public Spectrum3d getSensedIrradiance3d(Node node)

setLayerVisible

public abstract void setLayerVisible(int layer,
                                     boolean visible)
sets the visibility of a layer