public class RectangularPyramid extends SensorFieldOfView
The vertex of the volume is located at the origin and the sensor principal direction is along the positive z-axis. Half angles measured from the principal direction and in the direction of the x-axis and y-axis define the extent of the rectangular cross-section. The range limit measured radially from the origin closes the volume.
| Constructor and Description |
|---|
RectangularPyramid()
Constructs a volume with a default definition, in which the
XHalfAngle (get / set) and the
YHalfAngle (get / set) are equal to Constants.HalfPi radians. |
RectangularPyramid(double xHalfAngle,
double yHalfAngle)
Constructs a volume of infinite radius with the provided parameters.
|
RectangularPyramid(double xHalfAngle,
double yHalfAngle,
double maximumRadius)
Constructs a volume of limited radius with the provided parameters.
|
RectangularPyramid(double xHalfAngle,
double yHalfAngle,
double minimumRadius,
double maximumRadius)
Constructs a volume of limited radius with the provided parameters.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
encloses(Cartesian point)
Indicates if the provided point is inside the volume.
|
EnclosureDescriptionCollection |
getEnclosureDescriptions()
Gets the list of descriptions for the enclosure functions for this solid.
|
boolean |
getIsConnected()
Gets a value indicating whether the figure is connected.
|
SensorProjection |
getProjection(Ellipsoid ellipsoid,
KinematicTransformation ellipsoidToSensorTransformation,
SensorProjectionOptions projectionOptions)
Gets the projection of the sensor onto the front surface of a specified ellipsoid and onto a plane at a
specified distance in space.
|
double |
getXHalfAngle()
Gets the half angle measured from the principal direction and in the direction of the x-axis.
|
double |
getYHalfAngle()
Gets the half angle measured from the principal direction and in the direction of the y-axis.
|
protected void |
onRadialLimitsChanged()
Called after the radial limits of the sensor volume are changed.
|
protected void |
onRadiusChanged()
Deprecated.
Use OnRadialLimitsChanged instead.
|
void |
setXHalfAngle(double value)
Sets the half angle measured from the principal direction and in the direction of the x-axis.
|
void |
setYHalfAngle(double value)
Sets the half angle measured from the principal direction and in the direction of the y-axis.
|
getMaximumRadius, getMinimumRadius, getProjection, getRadius, getService, setRadialLimits, setRadiuspublic RectangularPyramid()
XHalfAngle (get / set) and the
YHalfAngle (get / set) are equal to Constants.HalfPi radians.public RectangularPyramid(double xHalfAngle,
double yHalfAngle)
xHalfAngle - The half angle measured from the principal direction and in the direction of the x-axis.yHalfAngle - The half angle measured from the principal direction and in the direction of the y-axis.ArgumentOutOfRangeException - Thrown when the xHalfAngle or yHalfAngle is less than or equal to zero or greater than Constants.HalfPi radians.public RectangularPyramid(double xHalfAngle,
double yHalfAngle,
double maximumRadius)
xHalfAngle - The half angle measured from the principal direction and in the direction of the x-axis.yHalfAngle - The half angle measured from the principal direction and in the direction of the y-axis.maximumRadius - The radial limit of the volume. This is the maximum range at which the sensor can detect a target.ArgumentOutOfRangeException - Thrown when the xHalfAngle or yHalfAngle is less than or equal to zero or greater than Constants.HalfPi radians.ArgumentOutOfRangeException - The maximumRadius radial limit must be in the range from 0.0 to Double.POSITIVE_INFINITY.public RectangularPyramid(double xHalfAngle,
double yHalfAngle,
double minimumRadius,
double maximumRadius)
xHalfAngle - The half angle measured from the principal direction and in the direction of the x-axis.yHalfAngle - The half angle measured from the principal direction and in the direction of the y-axis.minimumRadius - The radial distance to the spherical surface defining the minimum range of the sensor volume.maximumRadius - The radial distance to the spherical surface defining the maximum range of the sensor volume.ArgumentOutOfRangeException - Thrown when the xHalfAngle or yHalfAngle is less than or equal to zero or greater than Constants.HalfPi radians.ArgumentOutOfRangeException - The minimumRadius and maximumRadius radial limits must be in the range from 0.0 to Double.POSITIVE_INFINITY.ArgumentException - The minimumRadius radial limit must be less the maximumRadius radial limit.public boolean getIsConnected()
getIsConnected in class Figure@Deprecated protected void onRadiusChanged()
onRadiusChanged in class SensorFieldOfViewprotected void onRadialLimitsChanged()
onRadialLimitsChanged in class SensorFieldOfViewpublic final double getXHalfAngle()
ArgumentOutOfRangeException - Thrown when the half angle is less than or equal to zero or greater than Constants.HalfPi radians.public final void setXHalfAngle(double value)
ArgumentOutOfRangeException - Thrown when the half angle is less than or equal to zero or greater than Constants.HalfPi radians.public final double getYHalfAngle()
ArgumentOutOfRangeException - The half angle must be greater than zero and less than or equal to Constants.HalfPi radians.public final void setYHalfAngle(double value)
ArgumentOutOfRangeException - The half angle must be greater than zero and less than or equal to Constants.HalfPi radians.public boolean encloses(@Nonnull Cartesian point)
The point parameter must be expressed in the same coordinate frame
that the volume is defined in.
public EnclosureDescriptionCollection getEnclosureDescriptions()
getEnclosureDescriptions in class Solidpublic SensorProjection getProjection(Ellipsoid ellipsoid, @Nonnull KinematicTransformation ellipsoidToSensorTransformation, SensorProjectionOptions projectionOptions)
getProjection in class SensorFieldOfViewellipsoid - The ellipsoid on which the sensor is to be projected.ellipsoidToSensorTransformation - The transformation from the reference frame of the ellipsoid to the reference frame of the sensor.projectionOptions - The options controlling how the sensor is projected, or null to use defaults.