8#include "NormModelFactory.h"
11#include "IException.h"
38 PvlGroup &algo = pvl.findObject(
"NormalizationModel")
39 .findGroup(
"Algorithm", Pvl::Traverse);
40 QString algorithm =
"";
41 if (algo.hasKeyword(
"NormName")) {
42 algorithm = QString(algo[
"NormName"]);
44 else if (algo.hasKeyword(
"Name")) {
45 algorithm = QString(algo[
"Name"]);
48 QString msg =
"Keyword [Name] or keyword [NormName] must ";
49 msg +=
"exist in [Group = Algorithm]";
50 throw IException(IException::User, msg, _FILEINFO_);
55 FileName f(
"NormModel.plugin");
57 p->read(
"NormModel.plugin");
60 p->read(
"$ISISROOT/lib/NormModel.plugin");
67 return (*plugin)(pvl, pmodel);
94 PvlGroup &algo = pvl.findObject(
"NormalizationModel")
95 .findGroup(
"Algorithm", Pvl::Traverse);
96 QString algorithm =
"";
97 if (algo.hasKeyword(
"NormName")) {
98 algorithm = QString(algo[
"NormName"]);
100 else if (algo.hasKeyword(
"Name")) {
101 algorithm = QString(algo[
"Name"]);
104 IString msg =
"Keyword [Name] or keyword [NormName] must ";
105 msg +=
"exist in [Group = Algorithm]";
106 throw IException(IException::User, msg, _FILEINFO_);
111 FileName f(
"NormModel.plugin");
113 p->read(
"NormModel.plugin");
116 p->read(
"$ISISROOT/lib/NormModel.plugin");
125 return (*plugin)(pvl, pmodel, amodel);
Isotropic atmos scattering model.
static NormModel * Create(Pvl &pvl, PhotoModel &pmodel)
Create a NormModel object using a PVL specification.
Loads plugins from a shared library.
QFunctionPointer GetPlugin(const QString &group)
This method returns a void pointer to a C function (i.e., the plugin) It does this by looking in itse...
This is free and unencumbered software released into the public domain.