Overview | Package | Class | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## de.grogra.ray2.tracing
Class RadiationModel

    java.lang.Object
      de.grogra.ray2.tracing.RadiationModel

All Implemented Interfaces:
  java.lang.Cloneable

Direct Known Subclasses:
  LightModelProcessor, ParallelRadiationModel

    public abstract class RadiationModel

extends java.lang.Object
implements java.lang.Cloneable

Abstract base class for radiation model.

Author:
  Ole Kniemeyer

Field Summary
`static int` | `BUNDLE_SIZE` Implementation groups rays into bundles of `BUNDLE_SIZE` rays which are computed at once.

Constructor Summary
`RadiationModel(Spectrum spectrumFactory, ObjectList<Spectrum> radiantPowerSum, ObjectList<Spectrum> sensedIrradianceSum, int[] idToGroup)` Create a new radiation model that adds collected radiation values to the lists.

Method Summary
`abstract void` | `compute(long rayCount, long seed, ProgressMonitor progress, int depth, double minPower)`
`Spectrum` | `getAbsorbedPower(int volumeIndex)` Obtain the radiation power that was absorbed by a volume.
`Collector` | `getAbsorbedPowerCollector(int volumeIndex)`
`Spectrum` | `getSensedIrradiance(int volumeIndex)` Obtain the irradiance that was sensed by a volume.
`Collector` | `getSensedIrradianceCollector(int volumeIndex)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### BUNDLE_SIZE

    public static final int BUNDLE_SIZE

  Implementation groups rays into bundles of `BUNDLE_SIZE` rays which are computed at once.

  See Also:
    Constant Field Values

Constructor Detail

### RadiationModel

    public RadiationModel(Spectrum spectrumFactory,
                          ObjectList<Spectrum> radiantPowerSum,
                          ObjectList<Spectrum> sensedIrradianceSum,
                          int[] idToGroup)

  Create a new radiation model that adds collected radiation values to the lists.

  Parameters:
    `spectrumFactory` - factory to create spectra
    `radiantPowerSum` - list to which radiant powers are added
    `sensedIrradianceSum` - list to which sensed irradiances are added
    `idToGroup` - mapping from volume id to group index

Method Detail

### compute

    public abstract void compute(long rayCount,
                                 long seed,
                                 ProgressMonitor progress,
                                 int depth,
                                 double minPower)

### getAbsorbedPower

    public Spectrum getAbsorbedPower(int volumeIndex)

  Obtain the radiation power that was absorbed by a volume.

  Parameters:
    `volumeIndex` - index into `idToGroup`
  Returns:

### getAbsorbedPowerCollector

    public Collector getAbsorbedPowerCollector(int volumeIndex)

### getSensedIrradiance

    public Spectrum getSensedIrradiance(int volumeIndex)

  Obtain the irradiance that was sensed by a volume.

  Parameters:
    `volumeIndex` - index into `idToGroup`
  Returns:

### getSensedIrradianceCollector

    public Collector getSensedIrradianceCollector(int volumeIndex)

Overview | Package | Class | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD