public class RectangleField extends Object implements IGeometricFieldOfView
IGeometricFieldOfView interface and so provides the associated
services.IFieldOfView,
FieldAngularFace,
Serialized Form| Constructor and Description |
|---|
RectangleField(String name,
Vector3D mainDirection,
Vector3D approximativeU,
double angularApertureU,
double angularApertureV)
Constructor for a field of view defined by a rectangle cone.
|
| Modifier and Type | Method and Description |
|---|---|
double |
getAngularDistance(Vector3D direction,
AngularDistanceType method)
Computes the angular distance between a vector and the border of the field.
|
double |
getAngularOpening(Vector3D directionIn)
Get the angular opening of the Field Of View (FOV) over a given direction.
|
Vector3D |
getMainDirection()
Get the main direction of the geometrical FOV.
|
String |
getName() |
Vector3D[] |
getSideAxis()
Get the 4 side axis of the field of view.
|
Vector3D |
getU()
Get the U axis
|
Vector3D |
getV()
Get the V axis
|
Vector3D |
getW()
Get the W axis.
|
boolean |
intersectUSide(double theta)
This method returns true if the direction associated to the input angle theta
intersect the U-side, false otherwhise.
|
boolean |
isInTheField(Vector3D direction) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetAngularDistancepublic RectangleField(String name, Vector3D mainDirection, Vector3D approximativeU, double angularApertureU, double angularApertureV)
name - the name of the fieldmainDirection - the main direction of the rectangle coneapproximativeU - defines the U vector of the local frame of the rectangle cone (will be corrected to be
orthogonal to the main direction vector). Can't be parallel to the main direction vector.angularApertureU - the angular half-opening in U direction : must be strictly between 0 and PI/2angularApertureV - the angular half-opening in V direction : must be strictly between 0 and PI/2public Vector3D getU()
public Vector3D getV()
public Vector3D getW()
public Vector3D[] getSideAxis()
public double getAngularDistance(Vector3D direction, AngularDistanceType method)
Several methods can be defined for the computation. The user can choose the more appropriate one from the enum
AngularDistanceType.
getAngularDistance in interface IGeometricFieldOfViewdirection - the direction vector (expressed in the topocentric coordinate system of the object)method - Defines the method to compute the distance from the enum AngularDistanceTypepublic boolean isInTheField(Vector3D direction)
isInTheField in interface IFieldOfViewdirection - a direction vector (expressed in the topocentric coordinate system of the object)public String getName()
getName in interface IFieldOfViewpublic double getAngularOpening(Vector3D directionIn)
getAngularOpening in interface IGeometricFieldOfViewdirectionIn - the direction vector (expressed in the topocentric coordinate system of the object)public boolean intersectUSide(double theta)
Knowing the angular opening of the rectangle's diagonal (called α), 3 intervals are defined, and each one holds directions that intersect a U-side:
theta - angle within ]-π, π] (with respect to U-axis) associated to the direction to check.public Vector3D getMainDirection()
getMainDirection in interface IGeometricFieldOfViewCopyright © 2025 CNES. All rights reserved.