Isis Developer Reference
KernelDb.h
Go to the documentation of this file.
1#ifndef KernelDb_h
2#define KernelDb_h
3
10/* SPDX-License-Identifier: CC0-1.0 */
11
12
13#include <iostream>
14#include <queue>
15
16#include <QList>
17#include <QString>
18#include <QStringList>
19
20#include "iTime.h"//???
21#include "Kernel.h"
22#include "Pvl.h"
23
24class KernelDbFixture_TestKernelsSmithOffset_Test;
25
26namespace Isis {
27 class FileName;
28 class iTime;
102 class KernelDb {
103
104 public:
105 // constructor
106 KernelDb(const unsigned int allowedKernelTypes);
107 KernelDb(const QString &dbName, const unsigned int allowedKernelTypes);
108 KernelDb(std::istream &dbStream, const unsigned int allowedKernelTypes);
109
110 // destructor
111 ~KernelDb();
112
113 // Members for getting kernels
114 Kernel leapSecond(Pvl &lab);
117 QList< std::priority_queue<Kernel> > spacecraftPointing(Pvl &lab);
120 Kernel instrument(Pvl &lab);
121 Kernel frame(Pvl &lab);
123 Kernel dem(Pvl &lab);
124
125 Kernel findLast(const QString &entry, Pvl &lab);
126 QList< std::priority_queue<Kernel> > findAll(const QString &entry,
127 Pvl &lab);
128
129 void loadSystemDb(const QString &mission, const Pvl &lab);
130 QList<FileName> kernelDbFiles();
131
132 static bool matches(const Pvl &lab, PvlGroup &kernelDbGrp,
133 iTime timeToMatch, int cameraVersion);
134 private:
135 friend class ::KernelDbFixture_TestKernelsSmithOffset_Test;
136
137 void loadKernelDbFiles(PvlGroup &dataDir,
138 QString directory,
139 const Pvl &lab);
140 void readKernelDbFiles();
141
142 QStringList files(PvlGroup &grp);
143 QString m_filename;
145 QList<FileName> m_kernelDbFiles;
148 unsigned int m_allowedKernelTypes;
156 Pvl m_kernelData;
159 };
160};
161
162#endif
KernelDb class.
Definition KernelDb.h:102
Kernel instrumentAddendum(Pvl &lab)
This method finds the highest version of all Instrument Addendum kernels (iak) identified by the data...
Definition KernelDb.cpp:300
Kernel spacecraftClock(Pvl &lab)
This method finds the highest version of all Spacecraft Clock kernels (sclk) identified by the databa...
Definition KernelDb.cpp:217
Kernel targetAttitudeShape(Pvl &lab)
This method finds the highest version of all Target Attitude Shape kernels (pck) identified by the da...
Definition KernelDb.cpp:155
Kernel instrument(Pvl &lab)
This method finds the last Instrument kernel found that matches the (ik) criteria in the database and...
Definition KernelDb.cpp:259
~KernelDb()
Destructs KernelDb object.
Definition KernelDb.cpp:115
void loadSystemDb(const QString &mission, const Pvl &lab)
Loads the appropriate kernel database files with the defined BASE and MISSION info for each type of k...
Definition KernelDb.cpp:731
static bool matches(const Pvl &lab, PvlGroup &kernelDbGrp, iTime timeToMatch, int cameraVersion)
This static method determines whether the given cube label matches the given criteria.
Definition KernelDb.cpp:571
Kernel targetPosition(Pvl &lab)
This method finds the highest version of all Target Position kernels (tspk) identified by the databas...
Definition KernelDb.cpp:176
Kernel findLast(const QString &entry, Pvl &lab)
Finds the highest priority Kernel object for the given entry based on the allowed Kernel types.
Definition KernelDb.cpp:338
QList< std::priority_queue< Kernel > > findAll(const QString &entry, Pvl &lab)
Finds all of the Kernel objects for the given entry value based on the allowed Kernel types.
Definition KernelDb.cpp:365
Kernel spacecraftPosition(Pvl &lab)
This method finds the highest version of all Spacecraft Position kernels (spk) identified by the data...
Definition KernelDb.cpp:238
Kernel frame(Pvl &lab)
This method finds the highest version of all Frame kernels (fk) identified by the database and the al...
Definition KernelDb.cpp:280
QList< std::priority_queue< Kernel > > spacecraftPointing(Pvl &lab)
This method finds a list of the highest versions of all Spacecraft Pointing kernels (ck) identified b...
Definition KernelDb.cpp:197
QList< FileName > kernelDbFiles()
Accessor method to retrieve the list of kernel database files that were read in when loadSystemDb() i...
Definition KernelDb.cpp:886
Kernel dem(Pvl &lab)
This method finds the highest version of all Digital Terrain Models (DEMs) found that match the crite...
Definition KernelDb.cpp:321
Kernel leapSecond(Pvl &lab)
This method finds the top priority of all Leap Second kernels (lsk) identified by the database and th...
Definition KernelDb.cpp:134
KernelDb(const unsigned int allowedKernelTypes)
Constructs a new KernelDb object with a given integer value representing the Kernel::Type enumeration...
Definition KernelDb.cpp:48
This class stores Kernel information, including Type and kernel file names.
Definition Kernel.h:36
Contains multiple PvlContainers.
Definition PvlGroup.h:41
Container for cube-like labels.
Definition Pvl.h:119
Parse and return pieces of a time string.
Definition iTime.h:65
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16