Class TLcdLOSPropagationFunctionFixedHeight
 All Implemented Interfaces:
ILcdLOSPropagationFunction
This propagation function needs an ILcdLOSPropagationFunction
on which it will base its
lineofsight computations. The radar propagation function computes the minimal heights from which
one is visible. These heights, combined with the cone of visibility, are compared to the given fixed
height, resulting in one of the following values:
VISIBLE
: for points where the object is visible.INVISIBLE
: for points where the object is invisible.CONE_OF_SILENCE
: for the points corresponding to the cone of silence around the given point.UNKNOWN
: for points where the visibility is unknown. For example when no elevation data or invalid data was found at that point.
The following image gives a visual explanation of this propagation function. The green line denotes the visible area at the given fixed height, the red line corresponds to the invisible area and the blue line to the area represented by the cone of silence. The thin black line corresponds to the lineofsight coverage matrix, needed by this function.

Field Summary
Modifier and TypeFieldDescriptionstatic final int
The resulting value for the points corresponding to the cone of silence around the given point.static final int
The resulting value for points where the object is invisible due to the obstruction of the terrain.static final int
The resulting value for points where the visibility is unknown.static final int
The resulting value for points where the object is visible. 
Constructor Summary
ConstructorDescriptionTLcdLOSPropagationFunctionFixedHeight
(ILcdLOSRadarPropagationFunction aLOSRadarPropagationFunction, double aFixedHeightAboveEllipsoid) Creates a propagation function which computes the visibility of points at a fixed height from a given point.TLcdLOSPropagationFunctionFixedHeight
(ILcdLOSRadarPropagationFunction aLOSRadarPropagationFunction, double aFixedHeight, TLcdCoverageAltitudeMode aFixedHeightMode) Creates a propagation function which computes the visibility of points at a fixed height from a given point.TLcdLOSPropagationFunctionFixedHeight
(ILcdLOSRadarPropagationFunction aLOSRadarPropagationFunction, double aFixedHeight, TLcdCoverageAltitudeMode aFixedHeightMode, TLcdLOSOptions aLOSOption) Creates a propagation function which computes the visibility of points at a fixed height from a given point. 
Method Summary
Modifier and TypeMethodDescriptionvoid
applyForAzimuthSFCT
(double aAzimuth, ILcdLOSCoverageMatrix aLOSCoverageMatrixSFCT) Computes the visibility of points at a fixed height from the center point of a lineofsight coverage for a given azimuth and stores the resulting values in the lineofsight coverage matrix.createLOSCoverageMatrix
(ILcdLOSCoverage aLOSCoverage, ILcdGeoReference aMatrixReference) Creates a coverage matrix using the lineofsight coverageaLOSCoverage
and the matrix referenceaMatrixReference
.void
initialize
(ILcdLOSCoverage aLOSCoverage, ILcdGeoReference aMatrixReference) Initialize the propagation function with the given coverageaLOSCoverage
and the given matrix referenceaMatrixReference
.

Field Details

INVISIBLE
public static final int INVISIBLEThe resulting value for points where the object is invisible due to the obstruction of the terrain. For example when a point lies behind a hill or in a valley. See Also:

UNKNOWN
public static final int UNKNOWNThe resulting value for points where the visibility is unknown. For example when no elevation data or invalid data was found at that point. See Also:

CONE_OF_SILENCE
public static final int CONE_OF_SILENCEThe resulting value for the points corresponding to the cone of silence around the given point. This value is used for points which become visible if the vertical angle of the radar is set to [0, 180]. See Also:

VISIBLE
public static final int VISIBLEThe resulting value for points where the object is visible. See Also:


Constructor Details

TLcdLOSPropagationFunctionFixedHeight
public TLcdLOSPropagationFunctionFixedHeight(ILcdLOSRadarPropagationFunction aLOSRadarPropagationFunction, double aFixedHeightAboveEllipsoid) Creates a propagation function which computes the visibility of points at a fixed height from a given point. Note that the propagation function cannot be set tonull
. If this condition is not met, aNullPointerException
will be thrown. Parameters:
aLOSRadarPropagationFunction
 The propagation function on which to base its computations.aFixedHeightAboveEllipsoid
 The fixed height value defined in meters above ellipsoid. Throws:
NullPointerException
 when the argumentaLOSRadarPropagationFunction
isnull
.IllegalArgumentException
 if the argumentaLOSRadarPropagationFunction
does not use the modeTLcdEarthRepresentationMode.SPHERICAL_FIXED_RADIUS
orTLcdEarthRepresentationMode.SPHERICAL_EULER_RADIUS
and if it uses the altitude modeTLcdCoverageAltitudeMode.ABOVE_OBJECT
.

TLcdLOSPropagationFunctionFixedHeight
public TLcdLOSPropagationFunctionFixedHeight(ILcdLOSRadarPropagationFunction aLOSRadarPropagationFunction, double aFixedHeight, TLcdCoverageAltitudeMode aFixedHeightMode) Creates a propagation function which computes the visibility of points at a fixed height from a given point. Note that the propagation function cannot be set tonull
. If this condition is not met, aNullPointerException
will be thrown. Parameters:
aLOSRadarPropagationFunction
 The propagation function on which to base its computations.aFixedHeight
 The fixed height value.aFixedHeightMode
 The altitude mode indicating how to interpret the fixed height. Throws:
NullPointerException
 when the argumentaLOSRadarPropagationFunction
isnull
.IllegalArgumentException
 if the argumentaLOSRadarPropagationFunction
does not use the modeTLcdEarthRepresentationMode.SPHERICAL_FIXED_RADIUS
orTLcdEarthRepresentationMode.SPHERICAL_EULER_RADIUS
, if it uses the altitude modeTLcdCoverageAltitudeMode.ABOVE_OBJECT
and if the argumentaFixedHeight
is set toTLcdCoverageAltitudeMode.ABOVE_OBJECT
.

TLcdLOSPropagationFunctionFixedHeight
public TLcdLOSPropagationFunctionFixedHeight(ILcdLOSRadarPropagationFunction aLOSRadarPropagationFunction, double aFixedHeight, TLcdCoverageAltitudeMode aFixedHeightMode, TLcdLOSOptions aLOSOption) Creates a propagation function which computes the visibility of points at a fixed height from a given point. Note that the propagation function cannot be set tonull
. If this condition is not met, aNullPointerException
will be thrown. Parameters:
aLOSRadarPropagationFunction
 The propagation function on which to base its computations.aFixedHeight
 The fixed height value.aFixedHeightMode
 The altitude mode indicating how to interpret the fixed height.aLOSOption
 A LOS option object containing parameters for the internals of this propagation function and its resulting coverages Throws:
NullPointerException
 when the argumentaLOSRadarPropagationFunction
isnull
.IllegalArgumentException
 if the argumentaLOSRadarPropagationFunction
does not use the modeTLcdEarthRepresentationMode.SPHERICAL_FIXED_RADIUS
orTLcdEarthRepresentationMode.SPHERICAL_EULER_RADIUS
, if it uses the altitude modeTLcdCoverageAltitudeMode.ABOVE_OBJECT
and if the argumentaFixedHeight
is set toTLcdCoverageAltitudeMode.ABOVE_OBJECT
.


Method Details

createLOSCoverageMatrix
public ILcdLOSCoverageMatrix createLOSCoverageMatrix(ILcdLOSCoverage aLOSCoverage, ILcdGeoReference aMatrixReference) Description copied from interface:ILcdLOSPropagationFunction
Creates a coverage matrix using the lineofsight coverageaLOSCoverage
and the matrix referenceaMatrixReference
. The result of this method is used as input parameter for the methodapplyForAzimuthSFCT
, which will store the actual matrix values. The matrix should be consistent with the given coverage. This means that all matrix rows and columns represent evenly spaced radii and azimuths as defined by the radial and angular step sizes of the lineofsight coverage.The method
ILcdLOSPropagationFunction.initialize(com.luciad.tea.ILcdLOSCoverage, com.luciad.reference.ILcdGeoReference)
is called with the same arguments as supplied with this method.The
ILcdLOSCoverageMatrix
created by this method is guaranteed to be capable of determining its own associatedPointX and associatedPointY properties. These values are not calculated by thisILcdPropagationFunction
. AnILcdLOSPropagationFunction
does not modify the values of the associatedPointX and associatedPointY for its createdILcdLOSCoverageMatrix
. Specified by:
createLOSCoverageMatrix
in interfaceILcdLOSPropagationFunction
 Parameters:
aLOSCoverage
 The covered area and the intermediate step sizes.aMatrixReference
 The reference in which this matrix is defined. Returns:
 the created coverage matrix.

initialize
Description copied from interface:ILcdLOSPropagationFunction
Initialize the propagation function with the given coverageaLOSCoverage
and the given matrix referenceaMatrixReference
. For performance reasons, it is recommended that this method initializes all fields that are common to all computations or which do not depend on a specific azimuth. Specified by:
initialize
in interfaceILcdLOSPropagationFunction
 Parameters:
aLOSCoverage
 The covered area to use.aMatrixReference
 The matrix reference in which to compute the matrix values.

applyForAzimuthSFCT
Computes the visibility of points at a fixed height from the center point of a lineofsight coverage for a given azimuth and stores the resulting values in the lineofsight coverage matrix.Note that this implementation assumes that the default value of a matrix entry corresponds to the value for invisible points (which is
INVISIBLE
). Refer to the class documentation for more information about the different visibility values used in this propagation function. Specified by:
applyForAzimuthSFCT
in interfaceILcdLOSPropagationFunction
 Parameters:
aAzimuth
 The azimuth in degrees.aLOSCoverageMatrixSFCT
 The coverage matrix to update. Throws:
NullPointerException
 if the aLOSCoverageMatrixSFCT isnull
.
