public class TLcdProductVisibilityComposite extends Object implements ILcdVisibilityComposite
This ILcdVisibilityComposite
returns the product of all provided visibilities.
For instance, if an instance of TLcdProductVisibilityComposite
would obtain visibilities 0.2, 0.5 and 0.8 respectively, then
the result of this viewshed would be 0.08.
A possible use case for this composite implementation is the combination of multiple (possibly) transparent objects for the same 3D scene, each of which individually cause the scene to become more invisible in their projections away from the observer. For instance, if each object is a glass window, and each window has a viewshed that only partially causes the scene to be invisible, then combining the viewsheds of these windows can be combined to form a single viewshed of the scene.
Constructor and Description |
---|
TLcdProductVisibilityComposite()
Creates a new instance of
TLcdProductVisibilityComposite |
Modifier and Type | Method and Description |
---|---|
double |
compose(double aPreviousVisibility,
double aCurrentVisibility)
Performs one compositing step by combining the previously accumulated visibility value with a
new value.
|
double |
initialVisibility()
Returns the visibility value with which the compositing should be initialized.
|
boolean |
stop(double aVisibility)
Checks whether additional compositing steps are useful.
|
public TLcdProductVisibilityComposite()
TLcdProductVisibilityComposite
public double initialVisibility()
ILcdVisibilityComposite
initialVisibility
in interface ILcdVisibilityComposite
public double compose(double aPreviousVisibility, double aCurrentVisibility)
ILcdVisibilityComposite
compose
in interface ILcdVisibilityComposite
aPreviousVisibility
- the previously accumulated visibility valueaCurrentVisibility
- new visibility valuepublic boolean stop(double aVisibility)
ILcdVisibilityComposite
stop
in interface ILcdVisibilityComposite
aVisibility
- the accumulated visibility value so far.