/** * @brief Determine Spice kernels in an ISIS label * * This method reads keywords in the Kernels group in the ISIS label hierarchy * to find all the pertinent kernel files. They are found in the Kernels * Group. * * The order listed here is the same as the order specified in the ISIS Spice * class at the time this class was written. When loading and unloading, the * order is the same as is read in here. * * @param pvl Assumed to be a valid ISIS cube label containing the Kernels * group */ void Kernels::Init(Pvl &pvl) { UnLoad(); _kernels.clear(); addKernels(findKernels(pvl, "TargetPosition")); addKernels(findKernels(pvl, "InstrumentPosition")); addKernels(findKernels(pvl, "InstrumentPointing")); addKernels(findKernels(pvl, "Frame")); addKernels(findKernels(pvl, "TargetAttitudeShape")); addKernels(findKernels(pvl, "Instrument")); addKernels(findKernels(pvl, "InstrumentAddendum")); addKernels(findKernels(pvl, "LeapSecond")); addKernels(findKernels(pvl, "SpacecraftClock")); addKernels(findKernels(pvl, "ShapeModel")); addKernels(findKernels(pvl, "Extra")); _camVersion = getCameraVersion(pvl); return; }
/** * @brief 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. * * @param pvl ISIS label */ void Kernels::Load(Pvl &pvl) { _kernels.clear(); addKernels(findKernels("InstrumentPosition", KernelSet::Spk, pvl, "InstrumentPosition")); addKernels(findKernels("Frame", KernelSet::Fk, pvl)); addKernels(findKernels("InstrumentPointing", KernelSet::Ck, pvl, "InstrumentPointing")); addKernels(findKernels("TargetPosition", KernelSet::Pck, pvl, "SunPosition")); addKernels(findKernels("TargetAttitudeShape", KernelSet::Pck, pvl, "BodyRotation")); addKernels(findKernels("Instrument", KernelSet::Ik, pvl)); addKernels(findKernels("InstrumentAddendum", KernelSet::Spk, pvl)); addKernels(findKernels("LeapSecond", KernelSet::Lsk, pvl)); addKernels(findKernels("SpacecraftClock", KernelSet::Sclk, pvl)); addKernels(findKernels("ShapeModel", KernelSet::Dem, pvl)); addKernels(findKernels("Extras", KernelSet::Extras, pvl)); return; }