Class TLcdProductVisibilityComposite

java.lang.Object
com.luciad.tea.viewshed.TLcdProductVisibilityComposite
All Implemented Interfaces:
ILcdVisibilityComposite

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.

Figure 1: TLcdProductVisibilityComposite can compute the combined effect of multiple transparent obstacles
TLcdProductViewshedComposite
Since:
11.0
  • Constructor Details

  • Method Details

    • initialVisibility

      public double initialVisibility()
      Description copied from interface: ILcdVisibilityComposite
      Returns the visibility value with which the compositing should be initialized.
      Specified by:
      initialVisibility in interface ILcdVisibilityComposite
      Returns:
      the visibility value with which the compositing should be initialized.
    • compose

      public double compose(double aPreviousVisibility, double aCurrentVisibility)
      Description copied from interface: ILcdVisibilityComposite
      Performs one compositing step by combining the previously accumulated visibility value with a new value.
      Specified by:
      compose in interface ILcdVisibilityComposite
      Parameters:
      aPreviousVisibility - the previously accumulated visibility value
      aCurrentVisibility - new visibility value
      Returns:
      the new composited visibility value
    • stop

      public boolean stop(double aVisibility)
      Description copied from interface: ILcdVisibilityComposite
      Checks whether additional compositing steps are useful.
      Specified by:
      stop in interface ILcdVisibilityComposite
      Parameters:
      aVisibility - the accumulated visibility value so far.
      Returns:
      whether compositing should be terminated