16#include "CollectorMap.h"
17#include "IException.h"
99 Kernels(
const QString &filename);
108 int size()
const {
return (_kernels.size()); }
112 bool Add(
const QString &kfile);
123 int Load(
const QString &ktype);
126 int UnLoad(
const QString &ktype);
155 typedef std::vector<KernelFile> KernelList;
159 typedef std::vector<KernelFile *> KernelFileList;
160 typedef CollectorMap<QString, KernelFileList> TypeList;
168 const QString &iktype =
"UNKNOWN")
const;
174 std::vector<KernelFile>
findKernels(
Pvl &pvl,
const QString &kname,
175 const bool &manage =
true);
180 QString getKernelType(
const QString &kname)
const;
181 void loadKernel(
const QString &ktype =
"");
IO Handler for Isis Cubes.
Determine SPICE kernels defined in an ISIS file.
int CameraVersion() const
Returns the ISIS camera model version number.
int UpdateManagedStatus()
Update the managed state of the kernel file list.
void InitializeNaifKernelPool()
Initialize the NAIF kernel keeper pool.
bool Add(const QString &kfile)
Add a new kernel to the list.
bool IsNaifType(const QString &ktype) const
Determine if the type is a NAIF supported kernel type.
void Manage()
Set each kernels management status to managed.
KernelFile examine(const QString &fname, const bool &manage=true) const
Determine type of NAIF kernel file.
int Discover()
Determine which NAIF kernels are currently loaded in the pool.
int getCameraVersion(Pvl &pvl) const
Determine the ISIS camera model version number.
int UpdateLoadStatus()
Determine the load status of all kernels known to this object.
QStringList getTypes(const QString &ktypes) const
Get a vector of comma separated types from a string.
KernelFile * findByName(const QString &kfile)
Search kernel file list of a particular pattern.
void Init(Pvl &pvl)
Determine Spice kernels in an ISIS label.
QString resolveType(const QString &kfile) const
Determines type of NAIF/ISIS kernel we're dealing with.
Kernels()
Default Constructor.
QStringList getKernelList(const QString &ktype="") const
Provide a list of all the kernels found.
QString resolveTypeByExt(const QString &kfile, const QString &iktype="UNKNOWN") const
Check kernel type by file extension and special ISIS kernels.
void Clear()
Remove all kernel files from internal list.
void addKernels(const KernelList &klist)
Add a list of kernel files to internal storage.
QStringList getLoadedList(const QString &ktypes="") const
Returns list of kernel currently loaded according to status.
int Missing() const
Return count of missing kernel files.
virtual ~Kernels()
Destructor always unloads the kernels from the pool.
int size() const
Returns the number of kernels found and/or loaded.
bool IsManaged() const
Determine if all kernels are managed by this object.
TypeList categorizeByType() const
Categorizes the kernel list by type.
std::vector< KernelFile > findKernels(Pvl &pvl, const QString &kname, const bool &manage=true)
Retrieve contents of keyword.
int UnLoad()
Unloads all kernels from the NAIF pool.
QStringList getMissingList() const
Returns list of kernels that were not found to exist.
int Merge(const Kernels &other)
Merge the contents of another Kernels object.
int Load()
Load all kernels in list.
QStringList getKernelTypes() const
Return list of types in kernel list.
Kernels & operator=(const Kernels &kernels)
Copy constructor for existing Kernels objecr.
void UnManage()
Set each kernels' management state to unmanaged.
Container for cube-like labels.
This is free and unencumbered software released into the public domain.