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 radius)
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 |
onRadiusChanged()
|
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.
|
getProjection, getRadius, getService, setRadius
public 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.public RectangularPyramid(double xHalfAngle, double yHalfAngle, double radius)
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.radius
- The radial limit of the volume. This is the maximum range at which the sensor can detect a target.public boolean getIsConnected()
getIsConnected
in class Figure
protected void onRadiusChanged()
onRadiusChanged
in class SensorFieldOfView
public 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 Solid
public SensorProjection getProjection(Ellipsoid ellipsoid, @Nonnull KinematicTransformation ellipsoidToSensorTransformation, SensorProjectionOptions projectionOptions)
getProjection
in class SensorFieldOfView
ellipsoid
- 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.