Isis 3 Programmer Reference
CameraPointInfo.h
Go to the documentation of this file.
1 
23 #ifndef CameraPointInfo_h
24 #define CameraPointInfo_h
25 
26 #include <QString>
27 
28 namespace Isis {
29  class Camera;
30  class CubeManager;
31  class Cube;
32  class PvlGroup;
33 
34 
94 
95  public:
97  virtual ~CameraPointInfo();
98 
99  void SetCube(const QString &cubeFileName);
100  void SetCSVOutput(bool csvOutput);
101  PvlGroup *SetImage(const double sample, const double line,
102  const bool outside = false, const bool error = false);
103  PvlGroup *SetCenter(const bool outside = false, const bool error = false);
104  PvlGroup *SetSample(const double sample, const bool outside = false,
105  const bool error = false);
106  PvlGroup *SetLine(const double line, const bool outside = false,
107  const bool error = false);
108  PvlGroup *SetGround(const double latitude, const double longitude,
109  const bool outside = false, const bool error = false);
110 
111  protected:
112  Camera *camera();
113  Cube *cube();
114 
115  private:
116  bool CheckCube();
117  virtual PvlGroup *GetPointInfo(bool passed, bool outside, bool errors);
121  bool m_csvOutput;
122  };
123 };
124 
125 #endif
126 
bool m_csvOutput
Boolean to keep track of output format (CSV or PVL)
Cube * m_currentCube
The cube to extract camera information from.
Cube * cube()
Retrieves a pointer to the current cube.
CameraPointInfo()
Constructor, initializes CubeManager and other variables for use.
Camera * camera()
Retrieves a pointer to the camera.
virtual ~CameraPointInfo()
Destructor, deletes CubeManager object used.
CameraPointInfo provides quick access to the majority of information avaliable from a camera on a poi...
void SetCube(const QString &cubeFileName)
SetCube opens the given cube in a CubeManager.
PvlGroup * SetImage(const double sample, const double line, const bool outside=false, const bool error=false)
SetImage sets a sample, line image coordinate in the camera so data can be accessed.
bool CheckCube()
CheckCube checks that a cube has been set before the data for a point is accessed.
Contains multiple PvlContainers.
Definition: PvlGroup.h:57
void SetCSVOutput(bool csvOutput)
Set the output format (true is CSV, false is PVL)
PvlGroup * SetLine(const double line, const bool outside=false, const bool error=false)
SetLine sets the image coordinates to the center sample and the given line.
Class for quick re-accessing of cubes based on file name.
Definition: CubeManager.h:64
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
virtual PvlGroup * GetPointInfo(bool passed, bool outside, bool errors)
GetPointInfo builds the PvlGroup containing all the important information derived from the Camera...
CubeManager * m_usedCubes
The cubeManager used to open the current cube.
Camera * m_camera
The camera to extract point information from.
PvlGroup * SetSample(const double sample, const bool outside=false, const bool error=false)
SetSample sets the image coordinates to the center line and the given sample.
PvlGroup * SetGround(const double latitude, const double longitude, const bool outside=false, const bool error=false)
SetGround sets a latitude, longitude grrund coordinate in the camera so data can be accessed...
PvlGroup * SetCenter(const bool outside=false, const bool error=false)
SetCenter sets the image coordinates to the center of the image.
IO Handler for Isis Cubes.
Definition: Cube.h:170