USGS

Isis 3.0 Object Programmers' Reference

Home

ControlGraph.h
Go to the documentation of this file.
1 #ifndef ControlGraph_h
2 #define ControlGraph_h
3 
25 template< class A, class B > class QHash;
26 template< class A, class B > class QMap;
27 template< class A, class B > class QPair;
28 template< class A> class QVector;
29 class QString;
30 
31 namespace Isis {
32  class ControlNet;
33  class GroupedStatistics;
34 
55  class ControlGraph {
56  public:
57  ControlGraph(ControlNet *someControlNet);
58  ControlGraph(const ControlGraph &other);
59  ~ControlGraph();
60 
61  const bool IsConnected() const;
62  const int GetIslandCount() const;
63  const QVector< QString > GetCubesOnIsland(const int &island) const;
64  const QVector< QString > GetCubeList() const;
65  const GroupedStatistics &GetMeasureStats(const QString &
66  CubeSerialNumber) const;
67 
68  ControlGraph &operator=(const ControlGraph &other);
69 
70  private:
71  // nested class forward declaration
72  class AdjacentCubeList;
73 
75  void CalculateIslands();
76 
79 
82 
85 
94 
99  bool connected;
100 
103 
119  public:
120  AdjacentCubeList(const int &cubeIndex, const int &cpIndex, const int
121  & cmIndex);
122  AdjacentCubeList(const AdjacentCubeList &other);
124 
125  const QVector< int > GetAdjacentCubes() const;
126  void AddConnection(const int &cubeIndex, const int &cpIndex, const
127  int &cmIndex);
129 
130  private:
133  };
134  };
135 };
136 
137 #endif
138