39 class QXmlStreamWriter;
53 class ShapeDisplayProperties;
54 class XmlStackedHandlerReader;
79 explicit Shape(QString shapeFileName,
QObject *parent = 0);
98 const geos::geom::MultiPolygon *
footprint()
const;
99 void setId(QString
id);
116 void save(QXmlStreamWriter &stream,
const Project *project,
FileName newProjectRoot)
const;
125 void initMemberData();
131 geos::geom::MultiPolygon *createFootprint(QMutex *cameraMutex);
132 void initQuickFootprint();
144 virtual bool startElement(
const QString &namespaceURI,
const QString &localName,
145 const QString &qName,
const QXmlAttributes &atts);
146 virtual bool characters(
const QString &ch);
147 virtual bool endElement(
const QString &namespaceURI,
const QString &localName,
148 const QString &qName);
151 Q_DISABLE_COPY(XmlHandler);
155 QString m_characters;
159 SpiceInt *m_bodyCode;
177 ShapeDisplayProperties *m_displayProperties;
185 QString m_instrumentId;
189 QString m_spacecraftName;
193 geos::geom::MultiPolygon *m_footprint;
200 double m_aspectRatio;
202 Angle m_emissionAngle;
203 Angle m_incidenceAngle;
204 double m_lineResolution;
205 Distance m_localRadius;
206 Angle m_northAzimuth;
208 double m_sampleResolution;
211 QString m_targetName;
212 QString m_projectionName;
213 Longitude m_centerLongitude;
214 Latitude m_centerLatitude;
215 Latitude m_minimumLatitude;
216 Latitude m_maximumLatitude;
217 Longitude m_minimumLongitude;
218 Longitude m_maximumLongitude;
219 double m_pixelResolution;
223 Distance m_minimumRadius;
224 Distance m_maximumRadius;
Distance localRadius() const
Get the local radius of this shape, as calculated and attached by camstats.
Definition: Shape.cpp:472
The main project for cnetsuite.
Definition: Project.h:105
void closeCube()
Cleans up the Cube *.
Definition: Shape.cpp:300
ShapeType
Definition: Shape.h:73
Angle emissionAngle() const
Get the emission angle of this shape, as calculated and attached by camstats.
Definition: Shape.cpp:439
File name manipulation and expansion.
Definition: FileName.h:111
void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const
Output format:
Definition: Shape.cpp:800
void copyToNewProjectRoot(const Project *project, FileName newProjectRoot)
Copy the cub/ecub files associated with this shape into the new project.
Definition: Shape.cpp:513
Q_DECLARE_METATYPE(Isis::Cube *)
This allows Cube *'s to be stored in a QVariant.
ShapeDisplayProperties * displayProperties()
Get the display (GUI) properties (information) associated with this shape.
Definition: Shape.cpp:313
This is the GUI communication mechanism for shape objects.
Definition: ShapeDisplayProperties.h:74
~Shape()
Clean up this shape.
Definition: Shape.cpp:87
Unless noted otherwise, the portions of Isis written by the USGS are public domain.
Distance measurement, usually in meters.
Definition: Distance.h:47
Angle northAzimuth() const
Get the north azimuth of this shape, as calculated and attached by camstats.
Definition: Shape.cpp:483
bool initFootprint(QMutex *cameraMutex)
Calculate a footprint for this shape.
Definition: Shape.cpp:379
double sampleResolution() const
Get the sample resolution of this shape, as calculated and attached by camstats.
Definition: Shape.cpp:505
PvlObject toPvl() const
Convert this Shape to PVL.
Definition: Shape.cpp:225
Cube * cube()
Get the Cube * associated with this display property.
Definition: Shape.cpp:282
QString serialNumber()
Get the serial number.
Definition: Shape.cpp:343
void updateFileName(Project *)
Change the on-disk file name for this cube to be where the shape ought to be in the given project...
Definition: Shape.cpp:580
XML Handler that parses XMLs in a stack-oriented way.
Definition: XmlStackedHandler.h:47
Shape(QString shapeFileName, QObject *parent=0)
Create an Shape from a cube file on disk.
Definition: Shape.cpp:43
QString id() const
Get a unique, identifying string associated with this shape.
Definition: Shape.cpp:417
geos::geom::MultiPolygon * footprint()
Get the footprint of this shape (if available).
Definition: Shape.cpp:352
void fromPvl(const PvlObject &pvl)
Read the shape settings from a Pvl.
Definition: Shape.cpp:193
double resolution() const
Get the resolution of this shape, as calculated and attached by camstats.
Definition: Shape.cpp:428
void setId(QString id)
Override the automatically generated ID with the given ID.
Definition: Shape.cpp:360
Defines an angle and provides unit conversions.
Definition: Angle.h:58
Unless noted otherwise, the portions of Isis written by the USGS are public domain.
bool isFootprintable() const
Test to see if it's possible to create a footprint from this shape.
Definition: Shape.cpp:251
double aspectRatio() const
Get the aspect ratio of this shape, as calculated and attached by camstats.
Definition: Shape.cpp:407
void deleteFromDisk()
Delete the shape data from disk.
Definition: Shape.cpp:549
This represents a shape in a project-based GUI interface.
Definition: Shape.h:70
Angle phaseAngle() const
Get the phase angle of this shape, as calculated and attached by camstats.
Definition: Shape.cpp:494
Contains Pvl Groups and Pvl Objects.
Definition: PvlObject.h:74
Angle incidenceAngle() const
Get the incidence angle of this shape, as calculated and attached by camstats.
Definition: Shape.cpp:450
his enables stack-based XML parsing of XML files.
Definition: XmlStackedHandlerReader.h:26
QString fileName() const
Get the file name of the cube that this shape represents.
Definition: Shape.cpp:334
double lineResolution() const
Get the line resolution of this shape, as calculated and attached by camstats.
Definition: Shape.cpp:461
Unless noted otherwise, the portions of Isis written by the USGS are public domain.
IO Handler for Isis Cubes.
Definition: Cube.h:158
ShapeType shapeType()
Definition: Shape.cpp:176