USGS

Isis 3.0 Application Source Code Reference

Home

LineScanCameraRotation Class Reference

Obtain SPICE rotation information for a body. More...

#include <LineScanCameraRotation.h>

List of all members.

Public Member Functions

 LineScanCameraRotation (int frameCode, Isis::Pvl &lab, std::vector< double > timeCache, double tol)
 Constructors.
virtual ~LineScanCameraRotation ()
 Destructor.
void LoadCache ()
 Cache J2000 rotation quaternion over a time range.
void SetJitter (PixelOffset *jitter)
void ReloadCache ()
 Cache J2000 rotation over existing cached time range using polynomials.
void ResetPitchRate (double pitchRate)
void ResetYaw (double yaw)
Isis::PvlKeyword InstrumentPointingValue ()

Detailed Description

Obtain SPICE rotation information for a body.

This class will obtain the rotation from J2000 to the ICR frame (with axes (defined in direction of in track, cross track, and radial) for HiRise.

It is essentially used to convert position vectors from one frame to another, making it is a C++ wrapper to the NAIF routines pxform_c and mxv or mtxv. Therefore, appropriate NAIF kernels are expected to be loaded prior to using this class. A position can be returned in either the J2000 frame or the selected reference frame. See NAIF required reading for more information regarding this subject at ftp://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/ascii/individual_docs/spk.req

An important functionality of this class is the ability to cache the rotations so they do not have to be constantly read from the NAIF kernels and they can be more conveniently updated. Once the data is cached, the NAIF kernels can be unloaded.

Author:
2005-12-01 Debbie A. Cook

Definition at line 104 of file LineScanCameraRotation.h.


Constructor & Destructor Documentation

LineScanCameraRotation ( int  frameCode,
Isis::Pvl &  lab,
std::vector< double >  timeCache,
double  tol 
)

Constructors.

Construct an empty SpiceRotation class using a valid Naif frame code to set up for getting rotation from Spice kernels.

See required reading ftp://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/ascii/individual_docs/naif_ids.req

Parameters:
frameCode Valid naif frame code.

Definition at line 34 of file LineScanCameraRotation.cpp.

~LineScanCameraRotation (  )  [virtual]

Destructor.

Destroys the LineScanComeraRotation object.

Definition at line 75 of file LineScanCameraRotation.cpp.


Member Function Documentation

void LoadCache (  ) 

Cache J2000 rotation quaternion over a time range.

This method will load an internal cache with frames over a time range. This prevents the NAIF kernels from being read over-and-over again and slowing an application down due to I/O performance. Once the cache has been loaded then the kernels can be unloaded from the NAIF system.

Definition at line 93 of file LineScanCameraRotation.cpp.

void SetJitter ( PixelOffset jitter  )  [inline]

Definition at line 116 of file LineScanCameraRotation.h.

void ReloadCache (  ) 

Cache J2000 rotation over existing cached time range using polynomials.

This method will reload an internal cache with matrices formed from rotation angles fit to polynomials over a time range.

Parameters:
function1 The first polynomial function used to find the rotation angles
function2 The second polynomial function used to find the rotation angles
function3 The third polynomial function used to find the rotation angles

Definition at line 178 of file LineScanCameraRotation.cpp.

void ResetPitchRate ( double  pitchRate  )  [inline]

Definition at line 122 of file LineScanCameraRotation.h.

void ResetYaw ( double  yaw  )  [inline]

Definition at line 126 of file LineScanCameraRotation.h.

Isis::PvlKeyword InstrumentPointingValue (  )  [inline]

Definition at line 130 of file LineScanCameraRotation.h.


The documentation for this class was generated from the following files: