public final class TorusCoverageGrid extends GeometricPrimitiveCoverageGrid
The weight of each grid point defaults to 1. The optional grid cell bounds are of the type, SphericalBounds
.
The Clock
(get
) angle is the angle of the circle of revolution, the minor clock angle. The Cone
(get
) angle is the angle relative to the x-axis the defines the location of the circle of revolution, the major clock angle.
The Magnitude
(get
) is the radial coordinate.
Constructor and Description |
---|
TorusCoverageGrid(double majorRadius,
Bounds minorRadiusBounds,
Bounds majorClockAngleBounds,
Bounds minorClockAngleBounds,
ICoverageGriddingTechnique circleRadiusGriddingTechnique,
ICoverageGriddingTechnique majorClockAngleGriddingTechnique,
ICoverageGriddingTechnique minorClockAngleGriddingTechnique,
ReferenceFrame referenceFrame,
boolean useCellVolumeForWeight,
boolean saveGridCell)
Initializes a torus grid with the specified parameters.
|
TorusCoverageGrid(double majorRadius,
double minorRadius,
double circleRadiusResolution,
double majorClockAngleResolution,
double minorClockAngleResolution,
ReferenceFrame referenceFrame)
Initializes a torus grid with the specified parameters, where each coordinate uses a
SpecifiedResolutionCoverageGriddingTechnique with a tolerance of Constants.Epsilon10 . |
TorusCoverageGrid(double majorRadius,
double minorRadius,
double circleRadiusResolution,
double majorClockAngleResolution,
double minorClockAngleResolution,
ReferenceFrame referenceFrame,
boolean useCellVolumeForWeight,
boolean saveGridCell)
Initializes a torus grid with the specified parameters, where each coordinate uses a
SpecifiedResolutionCoverageGriddingTechnique with a tolerance of Constants.Epsilon10 . |
TorusCoverageGrid(double majorRadius,
double minorRadius,
ICoverageGriddingTechnique circleRadiusGriddingTechnique,
ICoverageGriddingTechnique majorClockAngleGriddingTechnique,
ICoverageGriddingTechnique minorClockAngleGriddingTechnique,
ReferenceFrame referenceFrame)
Initializes a torus grid with the specified parameters.
|
TorusCoverageGrid(double majorRadius,
double minorRadius,
ICoverageGriddingTechnique circleRadiusGriddingTechnique,
ICoverageGriddingTechnique majorClockAngleGriddingTechnique,
ICoverageGriddingTechnique minorClockAngleGriddingTechnique,
ReferenceFrame referenceFrame,
boolean useCellVolumeForWeight,
boolean saveGridCell)
Initializes a torus grid with the specified parameters.
|
TorusCoverageGrid(double majorRadius,
double minorRadius,
int numberOfMinorRadiusPoints,
int numberOfMajorClockAnglePoints,
int numberOfMinorClockAnglePoints,
ReferenceFrame referenceFrame)
Initializes a torus grid with the specified parameters, where each coordinate uses a
SpecifiedNumberOfPointsCoverageGriddingTechnique . |
TorusCoverageGrid(double majorRadius,
double minorRadius,
int numberOfMinorRadiusPoints,
int numberOfMajorClockAnglePoints,
int numberOfMinorClockAnglePoints,
ReferenceFrame referenceFrame,
boolean useCellVolumeForWeight,
boolean saveGridCell)
Initializes a torus grid with the specified parameters, where each coordinate uses a
SpecifiedNumberOfPointsCoverageGriddingTechnique . |
Modifier and Type | Method and Description |
---|---|
List<CoverageGridPoint> |
generateGridPoints()
Generate the set of grid points.
|
ICoverageGriddingTechnique |
getCircleRadiusGriddingTechnique()
Gets the gridding technique used in the radial coordinate of the circle of revolution.
|
Bounds |
getMajorClockAngleBounds()
Gets the major clock angle bounds, the clock angle of the torus.
|
ICoverageGriddingTechnique |
getMajorClockAngleGriddingTechnique()
Gets the gridding technique used in the clock angle of the torus.
|
double |
getMajorRadius()
Gets the radius of the torus.
|
Bounds |
getMinorClockAngleBounds()
Gets the minor clock angle bounds, the clock angle of the circle of revolution.
|
ICoverageGriddingTechnique |
getMinorClockAngleGriddingTechnique()
Gets the gridding technique used for the clock angle used in each circle of revolution.
|
Bounds |
getMinorRadiusBounds()
Gets the minor radius bounds.
|
boolean |
getSaveGridCell()
Gets a value indicating whether the grid is to save grid cell information.
|
boolean |
getUseCellVolumeForWeight()
Gets a value indicating whether to use the volume of the grid cells as the weight for each point.
|
void |
setCircleRadiusGriddingTechnique(ICoverageGriddingTechnique value)
Sets the gridding technique used in the radial coordinate of the circle of revolution.
|
void |
setMajorClockAngleBounds(Bounds value)
Sets the major clock angle bounds, the clock angle of the torus.
|
void |
setMajorClockAngleGriddingTechnique(ICoverageGriddingTechnique value)
Sets the gridding technique used in the clock angle of the torus.
|
void |
setMajorRadius(double value)
Sets the radius of the torus.
|
void |
setMinorClockAngleBounds(Bounds value)
Sets the minor clock angle bounds, the clock angle of the circle of revolution.
|
void |
setMinorClockAngleGriddingTechnique(ICoverageGriddingTechnique value)
Sets the gridding technique used for the clock angle used in each circle of revolution.
|
void |
setMinorRadiusBounds(Bounds value)
Sets the minor radius bounds.
|
void |
setSaveGridCell(boolean value)
Sets a value indicating whether the grid is to save grid cell information.
|
void |
setUseCellVolumeForWeight(boolean value)
Sets a value indicating whether to use the volume of the grid cells as the weight for each point.
|
getGridPointRange, getGridPointRangeWithWrapping, getReferenceFrame, setReferenceFrame
public TorusCoverageGrid(double majorRadius, double minorRadius, int numberOfMinorRadiusPoints, int numberOfMajorClockAnglePoints, int numberOfMinorClockAnglePoints, ReferenceFrame referenceFrame)
SpecifiedNumberOfPointsCoverageGriddingTechnique
. UseCellVolumeForWeight
(get
/ set
) and SaveGridCell
(get
/ set
) are both set to false
.majorRadius
- The radius of the torus.minorRadius
- The radius of the circle of revolution.numberOfMinorRadiusPoints
- The number of points in the circle of revolution's radial coordinate.numberOfMajorClockAnglePoints
- The number of points in the angle coordinate that is the separation between the circles of revolution.numberOfMinorClockAnglePoints
- The number of points in the clock angle of the circle of revolution.referenceFrame
- The reference frame in which this torus is defined.public TorusCoverageGrid(double majorRadius, double minorRadius, int numberOfMinorRadiusPoints, int numberOfMajorClockAnglePoints, int numberOfMinorClockAnglePoints, ReferenceFrame referenceFrame, boolean useCellVolumeForWeight, boolean saveGridCell)
SpecifiedNumberOfPointsCoverageGriddingTechnique
.majorRadius
- The radius of the torus.minorRadius
- The radius of the circle of revolution.numberOfMinorRadiusPoints
- The number of points in the circle of revolution's radial coordinate.numberOfMajorClockAnglePoints
- The number of points in the angle coordinate that is the separation between the circles of revolution.numberOfMinorClockAnglePoints
- The number of points in the clock angle of the circle of revolution.referenceFrame
- The reference frame in which this torus is defined.useCellVolumeForWeight
- A boolean that specifies if the volume of each cell should be used as that cell's weight.saveGridCell
- A boolean that specifies if the grid point's cell should be saved.public TorusCoverageGrid(double majorRadius, double minorRadius, double circleRadiusResolution, double majorClockAngleResolution, double minorClockAngleResolution, ReferenceFrame referenceFrame)
SpecifiedResolutionCoverageGriddingTechnique
with a tolerance of Constants.Epsilon10
. UseCellVolumeForWeight
(get
/ set
) and SaveGridCell
(get
/ set
) are both set to false
.majorRadius
- The radius of the torus.minorRadius
- The radius of the circle of revolution.circleRadiusResolution
- The minimum distance along the circle of revolution's radial direction.majorClockAngleResolution
- The minimum angular separation between the circles of revolution.minorClockAngleResolution
- The angular resolution of the circle of revolution.referenceFrame
- The reference frame in which this torus is defined.public TorusCoverageGrid(double majorRadius, double minorRadius, double circleRadiusResolution, double majorClockAngleResolution, double minorClockAngleResolution, ReferenceFrame referenceFrame, boolean useCellVolumeForWeight, boolean saveGridCell)
SpecifiedResolutionCoverageGriddingTechnique
with a tolerance of Constants.Epsilon10
.majorRadius
- The radius of the torus.minorRadius
- The radius of the circle of revolution.circleRadiusResolution
- The minimum distance along the circle of revolution's radial direction.majorClockAngleResolution
- The minimum angular separation between the circles of revolution.minorClockAngleResolution
- The angular resolution of the circle of revolution.referenceFrame
- The reference frame in which this torus is defined.useCellVolumeForWeight
- A boolean that specifies if the volume of each cell should be used as that cell's weight.saveGridCell
- A boolean that specifies if the grid point's cell should be saved.public TorusCoverageGrid(double majorRadius, double minorRadius, ICoverageGriddingTechnique circleRadiusGriddingTechnique, ICoverageGriddingTechnique majorClockAngleGriddingTechnique, ICoverageGriddingTechnique minorClockAngleGriddingTechnique, ReferenceFrame referenceFrame)
UseCellVolumeForWeight
(get
/ set
) and SaveGridCell
(get
/ set
) are both set to false
.majorRadius
- The radius of the torus.minorRadius
- The radius of the circle of revolution.circleRadiusGriddingTechnique
- The gridding technique used for the circle of revolution's radial coordinate.majorClockAngleGriddingTechnique
- The gridding technique used for the coordinate for the angular separation between the circles of revolution.minorClockAngleGriddingTechnique
- The gridding technique used for the clock angle of the circle of revolution.referenceFrame
- The reference frame in which this torus is defined.public TorusCoverageGrid(double majorRadius, double minorRadius, ICoverageGriddingTechnique circleRadiusGriddingTechnique, ICoverageGriddingTechnique majorClockAngleGriddingTechnique, ICoverageGriddingTechnique minorClockAngleGriddingTechnique, ReferenceFrame referenceFrame, boolean useCellVolumeForWeight, boolean saveGridCell)
majorRadius
- The radius of the torus.minorRadius
- The radius of the circle of revolution.circleRadiusGriddingTechnique
- The gridding technique used for the circle of revolution's radial coordinate.majorClockAngleGriddingTechnique
- The gridding technique used for the coordinate for the angular separation between the circles of revolution.minorClockAngleGriddingTechnique
- The gridding technique used for the clock angle of the circle of revolution.referenceFrame
- The reference frame in which this torus is defined.useCellVolumeForWeight
- A boolean that specifies if the volume of each cell should be used as that cell's weight.saveGridCell
- A boolean that specifies if the grid point's cell should be saved.public TorusCoverageGrid(double majorRadius, @Nonnull Bounds minorRadiusBounds, @Nonnull Bounds majorClockAngleBounds, @Nonnull Bounds minorClockAngleBounds, ICoverageGriddingTechnique circleRadiusGriddingTechnique, ICoverageGriddingTechnique majorClockAngleGriddingTechnique, ICoverageGriddingTechnique minorClockAngleGriddingTechnique, ReferenceFrame referenceFrame, boolean useCellVolumeForWeight, boolean saveGridCell)
majorRadius
- The radius of the torus.minorRadiusBounds
- The bounds of the radius of the circle of revolution.majorClockAngleBounds
- The bounds of the clock angle of the circle of revolution.minorClockAngleBounds
- The bounds of the clock angle of the torus.circleRadiusGriddingTechnique
- The gridding technique used for the circle of revolution's radial coordinate.majorClockAngleGriddingTechnique
- The gridding technique used for the coordinate for the angular separation between the circles of revolution.minorClockAngleGriddingTechnique
- The gridding technique used for the clock angle of the circle of revolution.referenceFrame
- The reference frame in which this torus is defined.useCellVolumeForWeight
- A boolean that specifies if the volume of each cell should be used as that cell's weight.saveGridCell
- A boolean that specifies if the grid point's cell should be saved.public final boolean getUseCellVolumeForWeight()
public final void setUseCellVolumeForWeight(boolean value)
public final boolean getSaveGridCell()
public final void setSaveGridCell(boolean value)
public final double getMajorRadius()
public final void setMajorRadius(double value)
@Nonnull public final Bounds getMajorClockAngleBounds()
LowerBound
(get
) and UpperBound
(get
)
where UpperBound
(get
) is mapped to the interval [lower bound, lower bound + Constants.TwoPi
].public final void setMajorClockAngleBounds(@Nonnull Bounds value)
LowerBound
(get
) and UpperBound
(get
)
where UpperBound
(get
) is mapped to the interval [lower bound, lower bound + Constants.TwoPi
].@Nonnull public final Bounds getMinorClockAngleBounds()
LowerBound
(get
) and UpperBound
(get
)
where UpperBound
(get
) is mapped to the interval [lower bound, lower bound + Constants.TwoPi
].public final void setMinorClockAngleBounds(@Nonnull Bounds value)
LowerBound
(get
) and UpperBound
(get
)
where UpperBound
(get
) is mapped to the interval [lower bound, lower bound + Constants.TwoPi
].@Nonnull public final Bounds getMinorRadiusBounds()
public final void setMinorRadiusBounds(@Nonnull Bounds value)
public final ICoverageGriddingTechnique getCircleRadiusGriddingTechnique()
public final void setCircleRadiusGriddingTechnique(ICoverageGriddingTechnique value)
public final ICoverageGriddingTechnique getMajorClockAngleGriddingTechnique()
public final void setMajorClockAngleGriddingTechnique(ICoverageGriddingTechnique value)
public final ICoverageGriddingTechnique getMinorClockAngleGriddingTechnique()
public final void setMinorClockAngleGriddingTechnique(ICoverageGriddingTechnique value)
public List<CoverageGridPoint> generateGridPoints()
When implementing, note that the space represented by each grid point should not overlap.
generateGridPoints
in interface ICoverageGrid
generateGridPoints
in class GeometricPrimitiveCoverageGrid
PropertyInvalidException
- Thrown if any of the following properties are null
- ReferenceFrame
(get
/ set
), CircleRadiusGriddingTechnique
(get
/ set
), MajorClockAngleGriddingTechnique
(get
/ set
), MinorClockAngleGriddingTechnique
(get
/ set
).
Thrown if MajorRadius
(get
/ set
) less than or equal to zero. Thrown if the MinorRadiusBounds
(get
/ set
) are negative.IllegalStateException
- Thrown if the MajorRadius
(get
/ set
) is less than or equal to the minor radius (the upper bound in MinorRadiusBounds
(get
/ set
)).