Isis 3.0 Programmer Reference
Back | Home
ControlNetDiff.h
Go to the documentation of this file.
1 #ifndef ControlNetDiff_h
2 #define ControlNetDiff_h
3 
26 #include <QString>
27 
28 template< typename A, typename B > class QMap;
29 template< typename T > class QSet;
30 
31 namespace Isis {
32  class ControlNet;
33  class FileName;
34  class Pvl;
35  class PvlContainer;
36  class PvlKeyword;
37  class PvlObject;
38 
66  public:
68  explicit ControlNetDiff(Pvl &diffFile);
69  virtual ~ControlNetDiff();
70 
71  void addTolerances(Pvl &diffFile);
72  Pvl compare(FileName &net1Name, FileName &net2Name);
73 
74 
75  protected:
76  void compare(PvlObject &point1Pvl, PvlObject &point2Pvl, PvlObject &report);
77  void compareGroups(PvlContainer &g1, PvlContainer &g2, PvlObject &report);
78  void compare(PvlKeyword &k1, PvlKeyword &k2, PvlContainer &report);
79 
80  void diff(QString name, PvlObject &o1, PvlObject &o2, PvlContainer &report);
81  void diff(QString name, QString v1, QString v2, PvlContainer &report);
82  PvlKeyword makeKeyword(QString name, QString v1, QString v2);
83 
84  void diff(QString name, double v1, double v2, double tol, PvlContainer &report);
85  PvlKeyword makeKeyword(QString name, double v1, double v2, double tol);
86 
87  void addUniquePoint(QString label, QString v1, QString v2, PvlObject &parent);
88  void addUniqueMeasure(QString label, QString v1, QString v2, PvlObject &parent);
89 
90 
91  private:
92  void init();
93 
94  private:
97 
100  };
101 }
102 
103 #endif
void addUniqueMeasure(QString label, QString v1, QString v2, PvlObject &parent)
Add a new keyword for the given measure to the parent object.
Definition: Process.h:32
void diff(QString name, PvlObject &o1, PvlObject &o2, PvlContainer &report)
Add a new difference keyword to the given report if the PvlObjects have different values for the keyw...
void compareGroups(PvlContainer &g1, PvlContainer &g2, PvlObject &report)
Compare two collections, or groupings, of PvlKeywords.
void init()
Initialize the persistent structures used to maintain the state of this instance: its ignore keys and...
Contains more than one keyword-value pair.
Definition: PvlContainer.h:64
File name manipulation and expansion.
Definition: FileName.h:111
Compares two Control Networks and reports their differences.
QMap< QString, double > * m_tolerances
The map of tolerances going from keyword name to tolerance value.
ControlNetDiff()
Create a ControlNetDiff without any tolerances.
A single keyword-value pair.
Definition: PvlKeyword.h:98
PvlKeyword makeKeyword(QString name, QString v1, QString v2)
Create a new keyword with the given label name and the given values.
Container for cube-like labels.
Definition: Pvl.h:135
void addUniquePoint(QString label, QString v1, QString v2, PvlObject &parent)
Add a new keyword for the given point to the parent object.
virtual ~ControlNetDiff()
Destroy the ControlNetDiff.
Pvl compare(FileName &net1Name, FileName &net2Name)
Compare two Control Networks given their file names, and return their differences.
Contains Pvl Groups and Pvl Objects.
Definition: PvlObject.h:74
QSet< QString > * m_ignoreKeys
The set of keywords to ignore by name.
void addTolerances(Pvl &diffFile)
Add the given ignore keys and tolerances to the persisent collections of such values.

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 ISIS Support Center
File Modified: 07/12/2023 23:16:28