Isis Developer Reference
|
Implementation of SensorUtilities::Sensor backed by an ISIS camera model. More...
#include <IsisSensor.h>
Public Member Functions | |
IsisSensor (Camera *cam) | |
Create an IsisSensor wrapping an ISIS Camera object. | |
virtual SensorUtilities::ObserverState | getState (const SensorUtilities::ImagePt &imagePoint) |
Get the sensor state at an image coordinate. | |
virtual SensorUtilities::ObserverState | getState (const SensorUtilities::GroundPt3D &groundPt) |
Get the sensor state as it observes a ground point. | |
Implementation of SensorUtilities::Sensor backed by an ISIS camera model.
This includes a full shape model and sun, but they are not used except when getting the state from a ground point, the ground point is mapped back onto the surface model prior to back-projection.
Isis::IsisSensor::IsisSensor | ( | Camera * | cam | ) |
Create an IsisSensor wrapping an ISIS Camera object.
|
virtual |
Get the sensor state as it observes a ground point.
The ground points is mapped back onto the surface model used by the ISIS Camera prior to back projecting it into the image. So, it is possible this will not perfectly invert with getState(ImagePt) depending on how what surface model you then intersect it with.
References Isis::Camera::Band(), Isis::Sensor::GetSurfacePoint(), Isis::Spice::instrumentBodyFixedPosition(), Isis::Camera::Line(), Isis::Sensor::lookDirectionBodyFixed(), Isis::Sensor::lookDirectionJ2000(), Isis::Distance::Meters, Isis::Angle::Radians, Isis::Camera::Sample(), Isis::Camera::SetBand(), Isis::Camera::SetGround(), Isis::Camera::SetImage(), and Isis::Spice::time().
|
virtual |
Get the sensor state at an image coordinate.
If the image coordinate matches the image coordinate that the ISIS Camera is already set to, then it will not compute a new intersection. Note that SensorUtilities::ImagePt are 0-based and ISIS image coordiantes are 0.5-based. The input is expected to use the SensorUtilities convention to conform to the interface. This function handles the conversion to and from ISIS image coordinates.
References Isis::Camera::Band(), Isis::Spice::instrumentBodyFixedPosition(), Isis::Camera::IsBandIndependent(), Isis::Camera::Line(), Isis::Sensor::lookDirectionBodyFixed(), Isis::Sensor::lookDirectionJ2000(), Isis::Camera::Sample(), Isis::Camera::SetBand(), Isis::Camera::SetImage(), and Isis::Spice::time().