de.grogra.ray2.tracing
public abstract class RadiationModel extends java.lang.Object implements java.lang.Cloneable
| Modifier and Type | Class and Description |
|---|---|
class |
RadiationModel.RayPoint |
| Constructor and Description |
|---|
RadiationModel(Spectrum spectrumFactory,
ObjectList<Spectrum> radiantPowerSum,
ObjectList<Spectrum> absorbedPowerSum,
ObjectList<Spectrum> reflectedPowerSum,
ObjectList<Spectrum> transmittedPowerSum,
ObjectList<Spectrum> sensedIrradianceSum,
int[] idToGroup,
ObjectList<ObjectList<RadiationModel.RayPoint>> rays,
IntList hitCounterSum)
Create a new radiation model that
adds collected radiation values to the lists.
|
| Modifier and Type | Method and Description |
|---|---|
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) |
int |
getHitCount(int volumeIndex)
Returns the number of rays which is hit the surface
of the volume of the given
node. |
Spectrum |
getReceivedPower(int volumeIndex)
Obtain the radiation power that was received by a volume.
|
Spectrum |
getReflectedPower(int volumeIndex)
Obtain the radiation power that was reflected by a volume.
|
Spectrum |
getSensedIrradiance(int volumeIndex)
Obtain the irradiance that was sensed by a volume.
|
Collector |
getSensedIrradianceCollector(int volumeIndex) |
ObjectList<ObjectList<RadiationModel.RayPoint>> |
getTracedRays() |
Spectrum |
getTransmittedPower(int volumeIndex)
Obtain the radiation power that was transmitted by a volume.
|
public RadiationModel(Spectrum spectrumFactory, ObjectList<Spectrum> radiantPowerSum, ObjectList<Spectrum> absorbedPowerSum, ObjectList<Spectrum> reflectedPowerSum, ObjectList<Spectrum> transmittedPowerSum, ObjectList<Spectrum> sensedIrradianceSum, int[] idToGroup, ObjectList<ObjectList<RadiationModel.RayPoint>> rays, IntList hitCounterSum)
spectrumFactory - factory to create spectraradiantPowerSum - list to which absorbed radiant powers are addedabsorbedPowerSum - list to which received radiant powers are addedreflectedPowerSum - list to which reflected radiant powers are addedtransmittedPowerSum - list to which transmitted radiant powers are addedsensedIrradianceSum - list to which sensed irradiances are addedidToGroup - mapping from volume id to group indexrays - for debugging purposes, the traced rays will be added to the list. Use null if this is not neededhit - counter list to which the number of hitting rays are addedpublic abstract void compute(long rayCount,
long seed,
ProgressMonitor progress,
int depth,
double minPower)
public Spectrum getAbsorbedPower(int volumeIndex)
volumeIndex - index into idToGrouppublic Collector getAbsorbedPowerCollector(int volumeIndex)
public int getHitCount(int volumeIndex)
node. If the node
does not define a volume, the zero is returned.node - a node of the graphpublic Spectrum getReceivedPower(int volumeIndex)
volumeIndex - index into idToGrouppublic Spectrum getReflectedPower(int volumeIndex)
volumeIndex - index into idToGrouppublic Spectrum getSensedIrradiance(int volumeIndex)
volumeIndex - index into idToGrouppublic Collector getSensedIrradianceCollector(int volumeIndex)
public ObjectList<ObjectList<RadiationModel.RayPoint>> getTracedRays()