61     if (diffFile.
hasGroup(
"Tolerances")) {
    63       for (
int i = 0; i < tolerances.
keywords(); i++)
    68     if (diffFile.
hasGroup(
"IgnoreKeys")) {
    70       for (
int i = 0; i < ignoreKeys.
keywords(); i++)
    88     diff(
"Filename", net1Name.
name(), net2Name.
name(), report);
    93     BigInt net1NumPts = cnv1.numPoints();
    97     diff(
"NetworkId", cnv1.netId(), cnv2.
netId(), report);
   100     Pvl net1Pvl = cnv1.toPvl();
   108     for (
int p = 0; p < net1NumPts; p++) {
   114     for (
int p = 0; p < net2NumPts; p++) {
   122     for (
int i = 0; i < pointNames.size(); i++) {
   124       if (idMap.size() == 2) {
   125         compare(idMap[0], idMap[1], report);
   127       else if (idMap.contains(0)) {
   128         addUniquePoint(
"PointId", idMap[0].findKeyword(
"PointId")[0], 
"N/A", report);
   130       else if (idMap.contains(1)) {
   131         addUniquePoint(
"PointId", 
"N/A", idMap[1].findKeyword(
"PointId")[0], report);
   156     int p1Measures = point1Pvl.
groups();
   157     int p2Measures = point2Pvl.
groups();
   163     for (
int m = 0; m < p1Measures; m++) {
   165       measureMap[measure.
findKeyword(
"SerialNumber")[0]].insert(
   169     for (
int m = 0; m < p2Measures; m++) {
   171       measureMap[measure.
findKeyword(
"SerialNumber")[0]].insert(
   176     for (
int i = 0; i < measureNames.size(); i++) {
   178       if (idMap.size() == 2) {
   181       else if (idMap.contains(0)) {
   182         addUniqueMeasure(
"SerialNumber", idMap[0].findKeyword(
"SerialNumber")[0], 
"N/A", pointReport);
   184       else if (idMap.contains(1)) {
   185         addUniqueMeasure(
"SerialNumber", 
"N/A", idMap[1].findKeyword(
"SerialNumber")[0], pointReport);
   217     for (
int k = 0; k < g1.
keywords(); k++)
   218       keywordMap[g1[k].name()].insert(0, g1[k]);
   219     for (
int k = 0; k < g2.
keywords(); k++)
   220       keywordMap[g2[k].name()].insert(1, g2[k]);
   223     for (
int i = 0; i < keywordNames.size(); i++) {
   225       if (idMap.size() == 2) {
   226         compare(idMap[0], idMap[1], groupReport);
   228       else if (idMap.contains(0)) {
   229         QString name = idMap[0].name();
   231           diff(name, idMap[0][0], 
"N/A", groupReport);
   233       else if (idMap.contains(1)) {
   234         QString name = idMap[1].name();
   236           diff(name, 
"N/A", idMap[1][0], groupReport);
   259     QString name = k1.
name();
   263       diff(name, k1[0], k2[0], report);
   278     QString v1 = o1[name][0];
   279     QString v2 = o2[name][0];
   280     diff(name, v1, v2, report);
   353     if (fabs(v1 - v2) > tol) {
 PvlObject & object(const int index)
Return the object at the specified index. 
 
long long int BigInt
Big int. 
 
void addUniqueMeasure(QString label, QString v1, QString v2, PvlObject &parent)
Add a new keyword for the given measure to the parent object. 
 
int keywords() const
Returns the number of keywords contained in the PvlContainer. 
 
bool hasKeyword(const QString &name) const
Check to see if a keyword exists. 
 
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...
 
Unless noted otherwise, the portions of Isis written by the USGS are public domain. 
 
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...
 
PvlGroupIterator findGroup(const QString &name, PvlGroupIterator beg, PvlGroupIterator end)
Find a group with the specified name, within these indexes. 
 
Contains more than one keyword-value pair. 
 
File name manipulation and expansion. 
 
Pvl toPvl()
Generates a Pvl file from the currently stored control points and header. 
 
PvlObjectIterator findObject(const QString &name, PvlObjectIterator beg, PvlObjectIterator end)
Find the index of object with a specified name, between two indexes. 
 
void addGroup(const Isis::PvlGroup &group)
Add a group to the object. 
 
QMap< QString, double > * m_tolerances
The map of tolerances going from keyword name to tolerance value. 
 
Handle various control network file format versions. 
 
QString name() const
Returns the name of the file excluding the path and the attributes in the file name. 
 
bool hasGroup(const QString &name) const
Returns a boolean value based on whether the object has the specified group or not. 
 
QString toString(bool boolToConvert)
Global function to convert a boolean to a string. 
 
void addKeyword(const PvlKeyword &keyword, const InsertMode mode=Append)
Add a keyword to the container. 
 
double toDouble(const QString &string)
Global function to convert from a string to a double. 
 
void addObject(const PvlObject &object)
Add a PvlObject. 
 
QString name() const
Returns the container name. 
 
ControlNetDiff()
Create a ControlNetDiff without any tolerances. 
 
PvlKeyword & findKeyword(const QString &kname, FindOptions opts)
Finds a keyword in the current PvlObject, or deeper inside other PvlObjects and Pvlgroups within this...
 
Contains multiple PvlContainers. 
 
A single keyword-value pair. 
 
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. 
 
QString targetName() const
Returns the target for the network. 
 
PvlKeyword & findKeyword(const QString &name)
Find a keyword with a specified name. 
 
PvlGroup & group(const int index)
Return the group at the specified index. 
 
QString name() const
Returns the keyword name. 
 
void addUniquePoint(QString label, QString v1, QString v2, PvlObject &parent)
Add a new keyword for the given point to the parent object. 
 
QString netId() const
Returns the ID for the network. 
 
Namespace for ISIS/Bullet specific routines. 
 
virtual ~ControlNetDiff()
Destroy the ControlNetDiff. 
 
Pvl compare(FileName &net1Name, FileName &net2Name)
Compare two Control Networks given their file names, and return their differences. 
 
int groups() const
Returns the number of groups contained. 
 
Contains Pvl Groups and Pvl Objects. 
 
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. 
 
void addValue(QString value, QString unit="")
Adds a value with units. 
 
int numPoints() const
Returns the number of points that have been read in or are ready to write out.