33 #include "XmlStackedHandler.h"
41 class QXmlStreamWriter;
52 class ImageDisplayProperties;
55 class XmlStackedHandlerReader;
94 explicit Image(QString imageFileName,
QObject *parent = 0);
110 const geos::geom::MultiPolygon *
footprint()
const;
111 void setId(QString
id);
128 void save(QXmlStreamWriter &stream,
const Project *project,
FileName newProjectRoot)
const;
155 virtual bool startElement(
const QString &namespaceURI,
const QString &localName,
156 const QString &qName,
const QXmlAttributes &atts);
158 virtual bool endElement(
const QString &namespaceURI,
const QString &localName,
159 const QString &qName);
Angle incidenceAngle() const
Get the incidence angle of this image, as calculated and attached by camstats.
void initQuickFootprint()
Creates a default ImagePolygon option which is read into the Cube.
The main project for cnetsuite.
QString id() const
Get a unique, identifying string associated with this image.
Angle emissionAngle() const
Get the emission angle of this image, as calculated and attached by camstats.
void updateFileName(Project *)
Change the on-disk file name for this cube to be where the image ought to be in the given project...
File name manipulation and expansion.
~Image()
Clean up this image.
QString m_instrumentId
Instrument id associated with this Image.
void deleteFromDisk()
Delete the image data from disk.
QUuid * m_id
A unique ID for this Image (useful for others to reference this Image when saving to disk)...
QString fileName() const
Get the file name of the cube that this image represents.
bool isFootprintable() const
Test to see if it's possible to create a footprint from this image.
Distance m_localRadius
Local radius of the image.
Image * m_image
Pointer to the Image.
Q_DECLARE_METATYPE(Isis::Cube *)
This allows Cube *'s to be stored in a QVariant.
double sampleResolution() const
Get the sample resolution of this image, as calculated and attached by camstats.
double lineResolution() const
Get the line resolution of this image, as calculated and attached by camstats.
double m_resolution
Resolution of the image.
Unless noted otherwise, the portions of Isis written by the USGS are public domain.
Angle m_northAzimuth
North Azimuth for the image.
Distance measurement, usually in meters.
Distance localRadius() const
Get the local radius of this image, as calculated and attached by camstats.
Angle m_emissionAngle
Emmission angle of the image.
void setId(QString id)
Override the automatically generated ID with the given ID.
double m_aspectRatio
Aspect ratio of the image.
QString m_spacecraftName
Spacecraft name associated with this Image.
Cube * m_cube
The cube associated with this Image.
void copyToNewProjectRoot(const Project *project, FileName newProjectRoot)
Copy the cub/ecub files associated with this image into the new project.
PvlObject toPvl() const
Convert this Image to PVL.
SpiceInt * m_bodyCode
The NaifBodyCode value, if it exists in the labels.
This is the GUI communication mechanism for cubes.
virtual bool startElement(const QString &namespaceURI, const QString &localName, const QString &qName, const QXmlAttributes &atts)
The XML reader invokes this method at the start of every element in the XML document.
Angle m_phaseAngle
Phase angle for the image.
Angle m_incidenceAngle
Incidence angle of the image.
QString m_fileName
The on-disk file name of the cube associated with this Image.
Image(QString imageFileName, QObject *parent=0)
Create an image from a cube file on disk.
virtual bool characters(const QString &ch)
This implementation of a virtual function calls QXmlDefaultHandler::characters(QString &ch) which in ...
XML Handler that parses XMLs in a stack-oriented way.
QString m_characters
Character data storage found in the content of XML elements.
double aspectRatio() const
Get the aspect ratio of this image, as calculated and attached by camstats.
double m_lineResolution
Line resolution of the image.
This represents a cube in a project-based GUI interface.
ImageDisplayProperties * displayProperties()
Get the display (GUI) properties (information) associated with this image.
double resolution() const
Get the resolution of this image, as calculated and attached by camstats.
ImageDisplayProperties * m_displayProperties
The GUI information for how this Image ought to be displayed.
virtual bool endElement(const QString &namespaceURI, const QString &localName, const QString &qName)
The XML reader invokes this method at the end of every element in the XML document.
Angle northAzimuth() const
Get the north azimuth of this image, as calculated and attached by camstats.
Defines an angle and provides unit conversions.
void initCamStats()
Checks to see if the Cube label contains Camera Statistics.
void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const
Write the Image properties out to an XML file.
FileName m_imageFolder
The Name/path of the image.
bool initFootprint(QMutex *cameraMutex)
Calculate a footprint for this image.
double m_sampleResolution
Sample resolution of the image.
XmlHandler(Image *image, FileName imageFolder)
Create an XML Handler (reader) that can populate the Image class data.
QString serialNumber()
Returns the serial number of the Cube.
geos::geom::MultiPolygon * footprint()
Get the footprint of this image (if available).
Cube * cube()
Get the Cube pointer associated with this display property.
Child class for XmlStackedHandler which is used to process XML in a stack-oriented way...
void fromPvl(const PvlObject &pvl)
Read the image settings from a Pvl.
Contains Pvl Groups and Pvl Objects.
his enables stack-based XML parsing of XML files.
Angle phaseAngle() const
Get the phase angle of this image, as calculated and attached by camstats.
geos::geom::MultiPolygon * m_footprint
A 0-360 ocentric lon,lat degrees footprint of this Image.
void closeCube()
Cleans up the Cube pointer.
geos::geom::MultiPolygon * createFootprint(QMutex *cameraMutex)
Calculates a footprint for an Image using the camera or projection information.
IO Handler for Isis Cubes.