USGS

Isis 3.0 Object Programmers' Reference

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 
99  QSet<QString> *m_ignoreKeys;
100  };
101 }
102 
103 #endif