public interface ILcdLOSPropagationFunction
ILcdLOSCoverageMatrix. Typical for a propagation function is that previous results are being reused (hence the name propagation). For example, when a point is no longer visible from a certain distance, it will not be visible from another point at a greater distance in the same direction (or azimuth). The function is initialized with the method
initialize(ILcdLOSCoverage, ILcdGeoReference). The
TLcdLOSCoveragecontains the area on which the propagation function will be applied. The matrix reference is the
ILcdGeoReferencein which the computation is done. This reference should be the reference in which the matrix argument of the method
applyForAzimuthSFCTis defined. For performance reasons, it is recommended that this method initializes all pre-computational fields. The method
createLOSCoverageMatrix(ILcdLOSCoverage, ILcdGeoReference)creates an empty matrix, that can be used with this propagation function. It requires a coverage and a matrix reference, needed to initialize the matrix. The matrix reference is the
ILcdGeoReferencein which the matrix will be defined. Note that the matrix argument passed in the method
applyForAzimuthSFCT(double, ILcdLOSCoverageMatrix)must also be initialized with the same coverage and matrix reference as given in the
initializemethod. The result of the interface method
createLOSCoverageMatrixwill be used as input for this method.
|Modifier and Type||Method and Description|
Applies the function for the given azimuth and stores the results in the line-of-sight coverage matrix.
Creates a coverage matrix using the line-of-sight coverage
Initialize the propagation function with the given coverage
ILcdLOSCoverageMatrix createLOSCoverageMatrix(ILcdLOSCoverage aLOSCoverage, ILcdGeoReference aMatrixReference)
aLOSCoverageand the matrix reference
aMatrixReference. The result of this method is used as input parameter for the method
applyForAzimuthSFCT, 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 line-of-sight coverage. The method
initialize(com.luciad.tea.ILcdLOSCoverage, com.luciad.reference.ILcdGeoReference)is called with the same arguments as supplied with this method.
ILcdLOSCoverageMatrix created by this method is guaranteed to be capable of determining
its own associatedPointX and associatedPointY properties. These values are not calculated by this
ILcdLOSPropagationFunction does not modify the values of the associatedPointX and
associatedPointY for its created
aLOSCoverage- The covered area and the intermediate step sizes.
aMatrixReference- The reference in which this matrix is defined.
void initialize(ILcdLOSCoverage aLOSCoverage, ILcdGeoReference aMatrixReference)
aLOSCoverageand the given matrix reference
aMatrixReference. 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.
aLOSCoverage- The covered area to use.
aMatrixReference- The matrix reference in which to compute the matrix values.
NullPointerException- if a
nullargument is found.
IllegalArgumentException- if the initialization fails due to an invalid argument, e.g. when the coverage center point is located underneath the terrain,...
void applyForAzimuthSFCT(double aAzimuth, ILcdLOSCoverageMatrix aLOSCoverageMatrixSFCT)
createLOSCoverageMatrixwill be used as input parameter for this method.
aAzimuth- The azimuth in degrees.
aLOSCoverageMatrixSFCT- The coverage matrix to update.
NullPointerException- if the aLOSCoverageMatrixSFCT is