public abstract class CentralBodyCoverageGrid extends Object implements ICoverageGrid
| Modifier | Constructor and Description |
|---|---|
protected |
CentralBodyCoverageGrid()
Initializes a new instance.
|
protected |
CentralBodyCoverageGrid(CentralBody centralBody)
Initializes a new instance with a specified central body.
|
protected |
CentralBodyCoverageGrid(CentralBodyCoverageGrid existingGrid)
Initializes a new instance using the same reference surface as an existing grid.
|
protected |
CentralBodyCoverageGrid(CentralBody centralBody,
TerrainProvider terrainProvider)
Initializes a new instance with a specified reference terrain.
|
protected |
CentralBodyCoverageGrid(TerrainProvider terrainProvider)
Initializes a new instance with a specified reference terrain.
|
| Modifier and Type | Method and Description |
|---|---|
abstract List<CoverageGridPoint> |
generateGridPoints()
Generate the set of grid points.
|
CentralBody |
getCentralBody()
Gets the central body associated with this grid.
|
ArrayList<EllipsoidSurfaceCurve> |
getGridCellBoundaries(List<CoverageGridPoint> points)
Generates a list of boundary curves corresponding to the grid point cells represented by each grid point in the specified list.
|
EllipsoidSurfaceCurve |
getGridCellBoundary(CoverageGridPoint point)
Generates a boundary curve for the given grid point cell represented by the given grid point.
|
double |
getHeightRelativeToSurface(double longitude,
double latitude)
Gets the height of a point at a specific longitude and latitude.
|
ReferenceFrame |
getReferenceFrame()
|
TerrainProvider |
getReferenceTerrain()
Gets the reference terrain with which the grid points are defined.
|
void |
setCentralBody(CentralBody value)
Sets the central body associated with this grid.
|
void |
setReferenceTerrain(TerrainProvider value)
Sets the reference terrain with which the grid points are defined.
|
protected CentralBodyCoverageGrid()
protected CentralBodyCoverageGrid(@Nonnull CentralBody centralBody)
ReferenceFrame (get) defaults to the central body's fixed frame.centralBody - The central body relative to which the grid points are defined.ArgumentNullException - Thrown when centralBody is null.protected CentralBodyCoverageGrid(@Nonnull TerrainProvider terrainProvider)
terrainProvider - The surface with which to define the grid points.ArgumentNullException - Thrown when terrainProvider is null.protected CentralBodyCoverageGrid(@Nonnull CentralBody centralBody, @Nonnull TerrainProvider terrainProvider)
ReferenceFrame (get) defaults to the central body's fixed frame.centralBody - The central body that the terrain provider is specified relative to.terrainProvider - The surface with which to define the grid points.ArgumentNullException - Thrown when terrainProvider or centralBody is null.protected CentralBodyCoverageGrid(@Nonnull CentralBodyCoverageGrid existingGrid)
existingGrid - An existing grid.public abstract List<CoverageGridPoint> generateGridPoints()
When implementing, note that the space represented by each grid point should not overlap.
generateGridPoints in interface ICoverageGridpublic TerrainProvider getReferenceTerrain()
When GeometricPrimitiveCoverageGrid.generateGridPoints() or CentralBodyCoverageGrid.getHeightRelativeToSurface(double, double) is called, the shape of ReferenceTerrain (get / set)
must match CentralBody (get / set).
public void setReferenceTerrain(TerrainProvider value)
When GeometricPrimitiveCoverageGrid.generateGridPoints() or CentralBodyCoverageGrid.getHeightRelativeToSurface(double, double) is called, the shape of ReferenceTerrain (get / set)
must match CentralBody (get / set).
public CentralBody getCentralBody()
When GeometricPrimitiveCoverageGrid.generateGridPoints() or CentralBodyCoverageGrid.getHeightRelativeToSurface(double, double) is called, the shape of ReferenceTerrain (get / set)
must match CentralBody (get / set).
public void setCentralBody(CentralBody value)
When GeometricPrimitiveCoverageGrid.generateGridPoints() or CentralBodyCoverageGrid.getHeightRelativeToSurface(double, double) is called, the shape of ReferenceTerrain (get / set)
must match CentralBody (get / set).
@Nullable public final ReferenceFrame getReferenceFrame()
CentralBody (get / set) fixed frame.
If the CentralBody (get / set) has not been set, then this will return null.getReferenceFrame in interface ICoverageGridpublic final double getHeightRelativeToSurface(double longitude,
double latitude)
If ReferenceTerrain (get / set) is null, returns zero.
Otherwise, ReferenceTerrain (get / set) is used to find the height
with respect to the CentralBody (get / set).
longitude - The longitude of the desired grid point.latitude - The latitude of the desired grid point.ArgumentOutOfRangeException - Thrown when the latitude is outside the range -π/2 to π/2,
or the longitude is outside the range -π to π.IllegalStateException - Thrown when the
Shape (get / set) of the ReferenceTerrain (get / set) does not match the
Shape (get / set) of the CentralBody (get / set).@Nullable public EllipsoidSurfaceCurve getGridCellBoundary(@Nonnull CoverageGridPoint point)
This method provides a default implementation of the boundary by interpolating
the grid cell vertices with
EllipsoidRhumbLines. The method is meant to be
overridden if a different type of boundary is intended. The boundary created currently
works with the Shape (get / set), not the ReferenceTerrain (get / set).
point - The grid point containing the information about its boundary.null.@Nonnull public final ArrayList<EllipsoidSurfaceCurve> getGridCellBoundaries(@Nonnull List<CoverageGridPoint> points)
points - The grid points containing the information about the grid point cells.null.