Module raytracer

Class RadiationModel

java.lang.Object
de.grogra.ray2.tracing.RadiationModel
All Implemented Interfaces:
Cloneable
Direct Known Subclasses:
LightModelProcessor, LightModelProcessorD, ParallelRadiationModel, ParallelRadiationModelD

public abstract class RadiationModel extends Object implements Cloneable
Abstract base class for radiation model.
Author:
Ole Kniemeyer
  • Constructor Details

  • Method Details

    • compute

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

      public int getHitCount(int volumeIndex)
      Returns the number of rays which is hit the surface of the volume of the given node. If the node does not define a volume, the zero is returned.
      Parameters:
      node - a node of the graph
      Returns:
      the number of rays which is hit the node
    • getReceivedPower

      public Spectrum getReceivedPower(int volumeIndex)
      Obtain the radiation power that was received by a volume.
      Parameters:
      volumeIndex - index into idToGroup
      Returns:
    • getTransmittedPower

      public Spectrum getTransmittedPower(int volumeIndex)
      Obtain the radiation power that was transmitted by a volume.
      Parameters:
      volumeIndex - index into idToGroup
      Returns:
    • getAbsorbedPower

      public Spectrum getAbsorbedPower(int volumeIndex)
      Obtain the radiation power that was absorbed by a volume.
      Parameters:
      volumeIndex - index into idToGroup
      Returns:
    • getReflectedPower

      public Spectrum getReflectedPower(int volumeIndex)
      Obtain the radiation power that was reflected by a volume.
      Parameters:
      volumeIndex - index into idToGroup
      Returns:
    • getSensedIrradiance

      public Spectrum getSensedIrradiance(int volumeIndex)
      Obtain the irradiance that was sensed by a volume.
      Parameters:
      volumeIndex - index into idToGroup
      Returns:
    • getHitCountD

      public int[] getHitCountD(int volumeIndex)
      Returns the number of rays which is hit the surface of the volume of the given node. If the node does not define a volume, the zero is returned.
      Parameters:
      node - a node of the graph
      Returns:
      the number of rays which is hit the node
    • getReceivedPowerD

      public Spectrum[] getReceivedPowerD(int volumeIndex)
      Obtain the radiation power that was received by a volume.
      Parameters:
      volumeIndex - index into idToGroup
      Returns:
    • getTransmittedPowerD

      public Spectrum[] getTransmittedPowerD(int volumeIndex)
      Obtain the radiation power that was transmitted by a volume.
      Parameters:
      volumeIndex - index into idToGroup
      Returns:
    • getAbsorbedPowerD

      public Spectrum[] getAbsorbedPowerD(int volumeIndex)
      Obtain the radiation power that was absorbed by a volume.
      Parameters:
      volumeIndex - index into idToGroup
      Returns:
    • getReflectedPowerD

      public Spectrum[] getReflectedPowerD(int volumeIndex)
      Obtain the radiation power that was reflected by a volume.
      Parameters:
      volumeIndex - index into idToGroup
      Returns:
    • getSensedIrradianceD

      public Spectrum[] getSensedIrradianceD(int volumeIndex)
      Obtain the irradiance that was sensed by a volume.
      Parameters:
      volumeIndex - index into idToGroup
      Returns:
    • getSensedIrradianceCollector

      public Collector getSensedIrradianceCollector(int volumeIndex)
    • getAbsorbedPowerCollector

      public Collector getAbsorbedPowerCollector(int volumeIndex)
    • getTracedRays

      public ObjectList<ObjectList<RadiationModel.RayPoint>> getTracedRays()