40 class QXmlStreamWriter;
54 class ShapeDisplayProperties;
55 class XmlStackedHandlerReader;
87 explicit Shape(QString shapeFileName,
QObject *parent = 0);
106 const geos::geom::MultiPolygon *
footprint()
const;
107 void setId(QString
id);
124 void save(QXmlStreamWriter &stream,
const Project *project,
FileName newProjectRoot)
const;
133 void initMemberData();
139 geos::geom::MultiPolygon *createFootprint(QMutex *cameraMutex);
140 void initQuickFootprint();
152 virtual bool startElement(
const QString &namespaceURI,
const QString &localName,
153 const QString &qName,
const QXmlAttributes &atts);
154 virtual bool characters(
const QString &ch);
155 virtual bool endElement(
const QString &namespaceURI,
const QString &localName,
156 const QString &qName);
159 Q_DISABLE_COPY(XmlHandler);
163 QString m_characters;
167 SpiceInt *m_bodyCode;
186 ShapeDisplayProperties *m_displayProperties;
194 QString m_serialNumber;
198 QString m_instrumentId;
202 QString m_spacecraftName;
206 geos::geom::MultiPolygon *m_footprint;
213 double m_aspectRatio;
215 Angle m_emissionAngle;
216 Angle m_incidenceAngle;
217 double m_lineResolution;
218 Distance m_localRadius;
219 Angle m_northAzimuth;
221 double m_sampleResolution;
224 QString m_targetName;
225 QString m_projectionName;
226 Longitude m_centerLongitude;
227 Latitude m_centerLatitude;
228 Latitude m_minimumLatitude;
229 Latitude m_maximumLatitude;
230 Longitude m_minimumLongitude;
231 Longitude m_maximumLongitude;
232 double m_pixelResolution;
236 Distance m_minimumRadius;
237 Distance m_maximumRadius;
PvlObject toPvl() const
Convert this Shape to PVL.
Definition: Shape.cpp:268
double resolution() const
Get the resolution of this shape, as calculated and attached by camstats.
Definition: Shape.cpp:471
ControlPoint::RadiusSource::Source radiusSource()
Definition: Shape.cpp:214
The main project for ipce.
Definition: Project.h:289
void closeCube()
Cleans up the Cube *.
Definition: Shape.cpp:343
Source
Definition: ControlPoint.h:466
ShapeType
Definition: Shape.h:81
File name manipulation and expansion.
Definition: FileName.h:116
Angle incidenceAngle() const
Get the incidence angle of this shape, as calculated and attached by camstats.
Definition: Shape.cpp:493
Source
Definition: ControlPoint.h:455
Angle northAzimuth() const
Get the north azimuth of this shape, as calculated and attached by camstats.
Definition: Shape.cpp:526
void copyToNewProjectRoot(const Project *project, FileName newProjectRoot)
Copy the cub/ecub files associated with this shape into the new project.
Definition: Shape.cpp:556
Distance localRadius() const
Get the local radius of this shape, as calculated and attached by camstats.
Definition: Shape.cpp:515
ShapeDisplayProperties * displayProperties()
Get the display (GUI) properties (information) associated with this shape.
Definition: Shape.cpp:356
This is the GUI communication mechanism for shape objects.
Definition: ShapeDisplayProperties.h:74
~Shape()
Clean up this shape.
Definition: Shape.cpp:89
Unless noted otherwise, the portions of Isis written by the USGS are public domain.
double sampleResolution() const
Get the sample resolution of this shape, as calculated and attached by camstats.
Definition: Shape.cpp:548
Distance measurement, usually in meters.
Definition: Distance.h:47
bool initFootprint(QMutex *cameraMutex)
Calculate a footprint for this shape.
Definition: Shape.cpp:422
void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const
Output format:
Definition: Shape.cpp:846
Cube * cube()
Get the Cube * associated with this display property.
Definition: Shape.cpp:325
Angle emissionAngle() const
Get the emission angle of this shape, as calculated and attached by camstats.
Definition: Shape.cpp:482
double lineResolution() const
Get the line resolution of this shape, as calculated and attached by camstats.
Definition: Shape.cpp:504
QString serialNumber()
Get the serial number.
Definition: Shape.cpp:386
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:623
XML Handler that parses XMLs in a stack-oriented way.
Definition: XmlStackedHandler.h:112
Shape(QString shapeFileName, QObject *parent=0)
Create an Shape from a cube file on disk.
Definition: Shape.cpp:45
geos::geom::MultiPolygon * footprint()
Get the footprint of this shape (if available).
Definition: Shape.cpp:395
QString id() const
Get a unique, identifying string associated with this shape.
Definition: Shape.cpp:460
QString fileName() const
Get the file name of the cube that this shape represents.
Definition: Shape.cpp:377
void fromPvl(const PvlObject &pvl)
Read the shape settings from a Pvl.
Definition: Shape.cpp:236
void setId(QString id)
Override the automatically generated ID with the given ID.
Definition: Shape.cpp:403
Defines an angle and provides unit conversions.
Definition: Angle.h:62
Unless noted otherwise, the portions of Isis written by the USGS are public domain.
void deleteFromDisk()
Delete the shape data from disk.
Definition: Shape.cpp:592
This represents a shape in a project-based GUI interface.
Definition: Shape.h:78
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
Q_DECLARE_METATYPE(Isis::Shape *)
double aspectRatio() const
Get the aspect ratio of this shape, as calculated and attached by camstats.
Definition: Shape.cpp:450
Angle phaseAngle() const
Get the phase angle of this shape, as calculated and attached by camstats.
Definition: Shape.cpp:537
Contains Pvl Groups and Pvl Objects.
Definition: PvlObject.h:74
Manage a stack of content handlers for reading XML files.
Definition: XmlStackedHandlerReader.h:25
ControlPoint::SurfacePointSource::Source surfacePointSource()
Definition: Shape.cpp:209
bool isFootprintable() const
Test to see if it's possible to create a footprint from this shape.
Definition: Shape.cpp:294
Unless noted otherwise, the portions of Isis written by the USGS are public domain.
IO Handler for Isis Cubes.
Definition: Cube.h:170
ShapeType shapeType()
Definition: Shape.cpp:219