Isis 3 Programmer Reference
CameraPointInfo.h
1#ifndef CameraPointInfo_h
2#define CameraPointInfo_h
8/* SPDX-License-Identifier: CC0-1.0 */
9
10#include <QString>
11
12namespace Isis {
13 class Camera;
14 class CubeManager;
15 class Cube;
16 class PvlGroup;
17
18
78
79 public:
81 virtual ~CameraPointInfo();
82
83 void SetCube(const QString &cubeFileName);
84 void SetCSVOutput(bool csvOutput);
85 PvlGroup *SetImage(const double sample, const double line,
86 const bool outside = false, const bool error = false);
87 PvlGroup *SetCenter(const bool outside = false, const bool error = false);
88 PvlGroup *SetSample(const double sample, const bool outside = false,
89 const bool error = false);
90 PvlGroup *SetLine(const double line, const bool outside = false,
91 const bool error = false);
92 PvlGroup *SetGround(const double latitude, const double longitude,
93 const bool outside = false, const bool error = false);
94
95 protected:
96 Camera *camera();
97 Cube *cube();
98
99 private:
100 bool CheckCube();
101 virtual PvlGroup *GetPointInfo(bool passed, bool outside, bool errors);
106 };
107};
108
109#endif
110
CameraPointInfo provides quick access to the majority of information avaliable from a camera on a poi...
void SetCSVOutput(bool csvOutput)
Set the output format (true is CSV, false is PVL)
Camera * m_camera
The camera to extract point information from.
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 * camera()
Retrieves a pointer to the camera.
PvlGroup * SetCenter(const bool outside=false, const bool error=false)
SetCenter sets the image coordinates to the center of the image.
Cube * cube()
Retrieves a pointer to the current cube.
CameraPointInfo()
Constructor, initializes CubeManager and other variables for use.
bool m_csvOutput
Boolean to keep track of output format (CSV or PVL)
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.
bool CheckCube()
CheckCube checks that a cube has been set before the data for a point is accessed.
virtual ~CameraPointInfo()
Destructor, deletes CubeManager object used.
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.
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.
void SetCube(const QString &cubeFileName)
SetCube opens the given cube in a CubeManager.
Cube * m_currentCube
The cube to extract camera information from.
IO Handler for Isis Cubes.
Definition Cube.h:168
Class for quick re-accessing of cubes based on file name.
Definition CubeManager.h:70
Contains multiple PvlContainers.
Definition PvlGroup.h:41
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16