USGS

Isis 3.0 Application Source Code Reference

Home

SpiceManager Class Reference

#include <SpiceManager.h>

List of all members.


Detailed Description

Load/Unload SPICE kernels defined in an ISIS file.

This class determines all SPICE kernels associated to an ISIS cube file and optionally loads them using the NAIF toolkit. This creates the kernel pool as it was when spiceinit determined all the kernels and it initialized the file for geometric operations.

Note that ISIS caches of some of the voluminous NAIF kernels, extracting only what is required from the SPK and CK (generally) kernels for a given observation. After this occurs, these kernels are no longer loaded by the ISIS Spice class hierarchy. This class provides that environment so that further NAIF operations can occur, such as velocity vectors.

Author:
2007-08-19 Kris Becker

Definition at line 55 of file SpiceManager.h.

Public Member Functions

 SpiceManager ()
 Default Constructor.
 SpiceManager (const std::string &filename, bool furnish=true)
 Construct using an ISIS file name.
 SpiceManager (Cube &cube, bool furnish=true)
 Construct using an ISIS Cube object.
 SpiceManager (Pvl &pvl, bool furnish=true)
 Construct from an ISIS label.
virtual ~SpiceManager ()
 Destructor always unloads the kernels from the pool.
int size () const
 Returns the number of kernels found and/or loaded.
void Load (Pvl &pvl, bool furnish=true)
 Perform the hunt for Spice kernels in an ISIS label.
void add (const std::string &kernel)
 Add a specified kernel file to the pool.
std::vector< std::string > getList (bool removePath=false) const
 Provide a list of all the kernels found.
void Unload ()
 Unloads all kernels if they were loaded when found.


Constructor & Destructor Documentation

SpiceManager (  )  [inline]

Default Constructor.

Definition at line 58 of file SpiceManager.h.

SpiceManager ( const std::string &  filename,
bool  furnish = true 
)

Construct using an ISIS file name.

Parameters:
filename Name of ISIS cube file
furnish Do we load the kernels we find?

Definition at line 48 of file SpiceManager.cpp.

SpiceManager ( Cube cube,
bool  furnish = true 
)

Construct using an ISIS Cube object.

Parameters:
cube Cube object of ISIS file
furnish Do we load the kernels we find?

Definition at line 59 of file SpiceManager.cpp.

SpiceManager ( Pvl &  pvl,
bool  furnish = true 
)

Construct from an ISIS label.

Parameters:
pvl ISIS label to get kernel information from
furnish Do we load the kernels we find?

Definition at line 69 of file SpiceManager.cpp.

virtual ~SpiceManager (  )  [inline, virtual]

Destructor always unloads the kernels from the pool.

Definition at line 63 of file SpiceManager.h.


Member Function Documentation

int size (  )  const [inline]

Returns the number of kernels found and/or loaded.

Definition at line 66 of file SpiceManager.h.

void Load ( Pvl &  pvl,
bool  furnish = true 
)

Perform the hunt for Spice kernels in an ISIS label.

This method must traverse the ISIS label hierarchy to find all the pertinent kernel files. Many of them are found in the Kernel Group, but others exist in Table objects that are SPICE blobs. The actual names are found in the Kernels keyword in the named Table object.

Parameters:
pvl ISIS label
furnish Do we actually load the kernel files as we find them?

Definition at line 85 of file SpiceManager.cpp.

void add ( const std::string &  kernfile  ) 

Add a specified kernel file to the pool.

This method adds a specified kernel file to the NAIF pool. The caller can provide a file pattern with "?" in the filename as this method will determine the highest occuring version.

Parameters:
kernel Name of kernel file (or pattern) to add

Definition at line 139 of file SpiceManager.cpp.

std::vector< std::string > getList ( bool  removePath = false  )  const

Provide a list of all the kernels found.

This method will return all the kernel file references as found in the ISIS label. It will optionally remove the file paths and return only the kernel file name if requested. If removePath is false, it returns the complete path to the SPICE kernels.

Parameters:
removePath Do we remove the file paths and return only the file names?
Returns:
std::vector<std::string> A vector of filenames of SPICE kernels

Definition at line 170 of file SpiceManager.cpp.

void Unload (  ) 

Unloads all kernels if they were loaded when found.

Changed to work with hipeaks crappy compiler. string kernName(Filename(_kernlist[i]).Expanded()); unload_c(kernName.c_str());

Definition at line 187 of file SpiceManager.cpp.


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