File failed to load: https://isis.astrogeology.usgs.gov/6.0.0/Object/assets/jax/output/NativeMML/config.js
Isis 3 Programmer Reference
InterestOperatorFactory.cpp
1 
7 /* SPDX-License-Identifier: CC0-1.0 */
8 
9 #include "InterestOperatorFactory.h"
10 #include "InterestOperator.h"
11 #include "Plugin.h"
12 #include "IException.h"
13 #include "FileName.h"
14 
15 namespace Isis {
39  // Get the algorithm name to create
40  PvlGroup &op = pPvl.findGroup("Operator", Pvl::Traverse);
41  QString operatorName = op["Name"];
42 
43  // Open the factory plugin file
44  Plugin p;
45  FileName f("InterestOperator.plugin");
46  if(f.fileExists()) {
47  p.read("InterestOperator.plugin");
48  }
49  else {
50  p.read("$ISISROOT/lib/InterestOperator.plugin");
51  }
52 
53  // Get the algorithm specific plugin and return it
54  InterestOperator * (*plugin)(Pvl & pPvl);
55  plugin = (InterestOperator * ( *)(Pvl & pPvl)) p.GetPlugin(operatorName);
56  return (*plugin)(pPvl);
57  }
58 } // end namespace isis
Isis::PvlObject::findGroup
PvlGroupIterator findGroup(const QString &name, PvlGroupIterator beg, PvlGroupIterator end)
Find a group with the specified name, within these indexes.
Definition: PvlObject.h:129
Isis::FileName
File name manipulation and expansion.
Definition: FileName.h:100
Isis::FileName::fileExists
bool fileExists() const
Returns true if the file exists; false otherwise.
Definition: FileName.cpp:449
Isis::Pvl
Container for cube-like labels.
Definition: Pvl.h:119
Isis::PvlObject::Traverse
@ Traverse
Search child objects.
Definition: PvlObject.h:158
Isis::PvlGroup
Contains multiple PvlContainers.
Definition: PvlGroup.h:41
Isis::Pvl::read
void read(const QString &file)
Loads PVL information from a stream.
Definition: Pvl.cpp:90
Isis::Plugin::GetPlugin
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...
Definition: Plugin.cpp:39
Isis::InterestOperatorFactory::Create
static InterestOperator * Create(Pvl &pPvl)
Create an InterestOperator object using a PVL specification.
Definition: InterestOperatorFactory.cpp:38
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
Isis::InterestOperator
Interest Operator class.
Definition: InterestOperator.h:109
Isis::Plugin
Loads plugins from a shared library.
Definition: Plugin.h:55

U.S. Department of the Interior | U.S. Geological Survey
ISIS | Privacy & Disclaimers | Astrogeology Research Program
To contact us, please post comments and questions on the USGS Astrogeology Discussion Board
To report a bug, or suggest a feature go to: ISIS Github
File Modified: 07/13/2023 15:16:41