Isis 3 Programmer 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. | |
Private Attributes | |
Camera * | m_cam |
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.
Definition at line 20 of file IsisSensor.h.
Isis::IsisSensor::IsisSensor | ( | Camera * | cam | ) |
Create an IsisSensor wrapping an ISIS Camera object.
Definition at line 23 of file IsisSensor.cpp.
|
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.
Definition at line 90 of file IsisSensor.cpp.
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.
Definition at line 37 of file IsisSensor.cpp.
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().
|
private |
Definition at line 27 of file IsisSensor.h.