|
Isis Developer Reference
|
Go to the documentation of this file.
30 class QXmlStreamWriter;
44 class ShapeDisplayProperties;
45 class XmlStackedHandlerReader;
77 explicit Shape(QString shapeFileName,
QObject *parent = 0);
96 const geos::geom::MultiPolygon *
footprint()
const;
97 void setId(QString
id);
114 void save(QXmlStreamWriter &stream,
const Project *project,
FileName newProjectRoot)
const;
123 void initMemberData();
129 geos::geom::MultiPolygon *createFootprint(QMutex *cameraMutex);
130 void initQuickFootprint();
142 virtual bool startElement(
const QString &namespaceURI,
const QString &localName,
143 const QString &qName,
const QXmlAttributes &atts);
144 virtual bool characters(
const QString &ch);
145 virtual bool endElement(
const QString &namespaceURI,
const QString &localName,
146 const QString &qName);
149 Q_DISABLE_COPY(XmlHandler);
153 QString m_characters;
157 SpiceInt *m_bodyCode;
176 ShapeDisplayProperties *m_displayProperties;
184 QString m_serialNumber;
188 QString m_instrumentId;
192 QString m_spacecraftName;
196 geos::geom::MultiPolygon *m_footprint;
203 double m_aspectRatio;
205 Angle m_emissionAngle;
206 Angle m_incidenceAngle;
207 double m_lineResolution;
208 Distance m_localRadius;
209 Angle m_northAzimuth;
211 double m_sampleResolution;
214 QString m_targetName;
215 QString m_projectionName;
216 Longitude m_centerLongitude;
217 Latitude m_centerLatitude;
218 Latitude m_minimumLatitude;
219 Latitude m_maximumLatitude;
220 Longitude m_minimumLongitude;
221 Longitude m_maximumLongitude;
222 double m_pixelResolution;
226 Distance m_minimumRadius;
227 Distance m_maximumRadius;
@ Degrees
Degrees are generally considered more human readable, 0-360 is one circle, however most math does not...
Definition: Angle.h:56
static Camera * Create(Cube &cube)
Creates a Camera object using Pvl Specifications.
Definition: CameraFactory.cpp:45
void setId(QString id)
Override the automatically generated ID with the given ID.
Definition: Shape.cpp:402
PvlGroupIterator findGroup(const QString &name, PvlGroupIterator beg, PvlGroupIterator end)
Find a group with the specified name, within these indexes.
Definition: PvlObject.h:129
virtual QString fileName() const
Returns the opened cube's filename.
Definition: Cube.cpp:1563
@ Io
A type of error that occurred when performing an actual I/O operation.
Definition: IException.h:155
ShapeDisplayProperties * displayProperties()
Get the display (GUI) properties (information) associated with this shape.
Definition: Shape.cpp:355
Contains Pvl Groups and Pvl Objects.
Definition: PvlObject.h:61
void print() const
Prints a string representation of this exception to stderr.
Definition: IException.cpp:445
Q_DECLARE_METATYPE(Isis::Shape *)
@ Basemap
Definition: ControlPoint.h:445
void fromPvl(const PvlObject &pvl)
Definition: DisplayProperties.cpp:54
ControlPoint::SurfacePointSource::Source surfacePointSource()
Definition: Shape.cpp:209
void deleteFromDisk()
Delete the shape data from disk.
Definition: Shape.cpp:591
A single keyword-value pair.
Definition: PvlKeyword.h:82
PvlGroup & group(const QString &group) const
Read a group from the cube into a Label.
Definition: Cube.cpp:1991
@ Unprojected
Definition: Shape.h:74
QString Type() const
Accessor method that returns a string containing the Blob type.
Definition: Blob.cpp:124
QString name() const
Returns the name of the file excluding the path and the attributes in the file name.
Definition: FileName.cpp:162
@ Reference
Definition: ControlPoint.h:444
File name manipulation and expansion.
Definition: FileName.h:100
@ Unknown
A type of error that cannot be classified as any of the other error types.
Definition: IException.h:118
ImagePolygon readFootprint() const
Read the footprint polygon for the Cube.
Definition: Cube.cpp:866
virtual void pushContentHandler(XmlStackedHandler *newHandler)
Push a contentHandler and maybe continue parsing...
Definition: XmlStackedHandlerReader.cpp:55
Blob toBlob() const
Serialize the ImagePolygon to a Blob.
Definition: ImagePolygon.cpp:1347
void closeCube()
Cleans up the Cube *.
Definition: Shape.cpp:342
ControlPoint::RadiusSource::Source radiusSource()
Definition: Shape.cpp:214
Source
Definition: ControlPoint.h:451
static QString Compose(Pvl &label, bool def2filename=false)
Compose a SerialNumber from a PVL.
Definition: SerialNumber.cpp:38
Cube * copy(FileName newFile, const CubeAttributeOutput &newFileAttributes)
Copies the cube to the new fileName.
Definition: Cube.cpp:276
static QString shapeDataRoot(QString projectRoot)
Appends the root directory name 'shapes' to the project .
Definition: Project.cpp:2087
geos::geom::MultiPolygon * footprint()
Get the footprint of this shape (if available).
Definition: Shape.cpp:394
virtual bool startElement(const QString &namespaceURI, const QString &localName, const QString &qName, const QXmlAttributes &atts)
Definition: XmlStackedHandler.cpp:44
Container for cube-like labels.
Definition: Pvl.h:119
void Create(Cube &cube, int sinc=1, int linc=1, int ss=1, int sl=1, int ns=0, int nl=0, int band=1, bool increasePrecision=false)
Create a Polygon from given cube.
Definition: ImagePolygon.cpp:217
int objects() const
Returns the number of objects.
Definition: PvlObject.h:219
Manipulate and parse attributes of output cube filenames.
Definition: CubeAttribute.h:473
static geos::geom::GeometryFactory::Ptr globalFactory
Definition: PolygonTools.h:51
void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const
Saves this object to an XML file.
Definition: ShapeDisplayProperties.cpp:124
Angle incidenceAngle() const
Get the incidence angle of this shape, as calculated and attached by camstats.
Definition: Shape.cpp:492
Create cube polygons, read/write polygons to blobs.
Definition: ImagePolygon.h:153
bool isFootprintable() const
Test to see if it's possible to create a footprint from this shape.
Definition: Shape.cpp:294
Cube * cube()
Get the Cube * associated with this display property.
Definition: Shape.cpp:324
PvlObject & object(const int index)
Return the object at the specified index.
Definition: PvlObject.cpp:489
Angle northAzimuth() const
Get the north azimuth of this shape, as calculated and attached by camstats.
Definition: Shape.cpp:525
Manage a stack of content handlers for reading XML files.
Definition: XmlStackedHandlerReader.h:30
void copyToNewProjectRoot(const Project *project, FileName newProjectRoot)
Copy the cub/ecub files associated with this shape into the new project.
Definition: Shape.cpp:555
bool IsSpecial(const double d)
Returns if the input pixel is special.
Definition: SpecialPixel.h:197
QString Name() const
Accessor method that returns a string containing the Blob name.
Definition: Blob.cpp:133
PvlObject toPvl() const
Convert this Shape to PVL.
Definition: Shape.cpp:268
@ Basemap
Definition: Shape.h:73
ShapeType shapeType()
Definition: Shape.cpp:219
This is the GUI communication mechanism for shape objects.
Definition: ShapeDisplayProperties.h:60
Distance measurement, usually in meters.
Definition: Distance.h:34
The main project for ipce.
Definition: Project.h:289
QString fileName() const
Get the file name of the cube that this shape represents.
Definition: Shape.cpp:376
Angle emissionAngle() const
Get the emission angle of this shape, as calculated and attached by camstats.
Definition: Shape.cpp:481
FileName externalCubeFileName() const
If this is an external cube label file, this will give you the cube dn file that this label reference...
Definition: Cube.cpp:1535
@ Ellipsoid
Definition: ControlPoint.h:455
static QString RadiusSourceToString(RadiusSource::Source source)
Obtain a string representation of a given RadiusSource.
Definition: ControlPoint.cpp:1413
void fromPvl(const PvlObject &pvl)
Read the shape settings from a Pvl.
Definition: Shape.cpp:236
QString id() const
Get a unique, identifying string associated with this shape.
Definition: Shape.cpp:459
const int ReadWrite
Definition: Process.h:24
@ Meters
The distance is being specified in meters.
Definition: Distance.h:43
double aspectRatio() const
Get the aspect ratio of this shape, as calculated and attached by camstats.
Definition: Shape.cpp:449
QString expanded() const
Returns a QString of the full file name including the file path, excluding the attributes.
Definition: FileName.cpp:196
Angle phaseAngle() const
Get the phase angle of this shape, as calculated and attached by camstats.
Definition: Shape.cpp:536
int lineCount() const
Definition: Cube.cpp:1734
@ Dem
Definition: Shape.h:72
#define _FILEINFO_
Macro for the filename and line number.
Definition: IException.h:24
QDir dir() const
Returns the path of the file's parent directory as a QDir object.
Definition: FileName.cpp:465
@ DEM
Definition: ControlPoint.h:456
@ None
Definition: ControlPoint.h:452
bool isNamed(const QString &match) const
Returns whether the given string is equal to the container name or not.
Definition: PvlContainer.h:72
QString shapeDataRoot() const
Accessor for the root directory of the shape model data.
Definition: Project.cpp:2097
static QString SurfacePointSourceToString(SurfacePointSource::Source source)
Obtain a string representation of a given SurfacePointSource.
Definition: ControlPoint.cpp:1492
static SurfacePointSource::Source StringToSurfacePointSource(QString str)
Obtain a SurfacePoint::Source from a string.
Definition: ControlPoint.cpp:1530
static RadiusSource::Source StringToRadiusSource(QString str)
Obtain a RadiusSource::Source from a string.
Definition: ControlPoint.cpp:1448
@ None
Definition: ControlPoint.h:441
bool hasKeyword(const QString &kname, FindOptions opts) const
See if a keyword is in the current PvlObject, or deeper inside other PvlObjects and Pvlgroups within ...
Definition: PvlObject.cpp:236
double resolution() const
Get the resolution of this shape, as calculated and attached by camstats.
Definition: Shape.cpp:470
PvlObjectIterator findObject(const QString &name, PvlObjectIterator beg, PvlObjectIterator end)
Find the index of object with a specified name, between two indexes.
Definition: PvlObject.h:274
bool isValid() const
Test if this distance has been initialized or not.
Definition: Distance.cpp:192
This represents a shape in a project-based GUI interface.
Definition: Shape.h:68
int sampleCount() const
Definition: Cube.cpp:1807
QString displayName() const
Returns the display name.
Definition: DisplayProperties.cpp:88
IO Handler for Isis Cubes.
Definition: Cube.h:167
virtual bool endElement(const QString &namespaceURI, const QString &localName, const QString &qName)
Definition: XmlStackedHandler.cpp:55
Isis exception class.
Definition: IException.h:91
Distance localRadius() const
Get the local radius of this shape, as calculated and attached by camstats.
Definition: Shape.cpp:514
Defines an angle and provides unit conversions.
Definition: Angle.h:45
QString toString() const
Returns a QString of the full file name including the file path, excluding the attributes with any Is...
Definition: FileName.cpp:515
Source
Definition: ControlPoint.h:440
QString projectRoot() const
Get the top-level folder of the project.
Definition: Project.cpp:1666
const double Null
Value for an Isis Null pixel.
Definition: SpecialPixel.h:95
static Isis::Projection * CreateFromCube(Isis::Cube &cube)
This method is a helper method.
Definition: ProjectionFactory.cpp:1069
Shape(QString shapeFileName, QObject *parent=0)
Create an Shape from a cube file on disk.
Definition: Shape.cpp:45
@ Unknown
Definition: Shape.h:75
ShapeType
Definition: Shape.h:71
double toDouble(const QString &string)
Global function to convert from a string to a double.
Definition: IString.cpp:149
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:622
@ Programmer
This error is for when a programmer made an API call that was illegal.
Definition: IException.h:146
bool isValid() const
This indicates whether we have a legitimate angle stored or are in an unset, or invalid,...
Definition: Angle.cpp:95
QString serialNumber()
Get the serial number.
Definition: Shape.cpp:385
bool storesDnData() const
This method returns a boolean value.
Definition: Cube.cpp:1904
Pvl * label() const
Returns a pointer to the IsisLabel object associated with the cube.
Definition: Cube.cpp:1701
PvlObject toPvl() const
Convert to Pvl for project files.
Definition: DisplayProperties.cpp:68
double meters() const
Get the distance in meters.
Definition: Distance.cpp:85
XML Handler that parses XMLs in a stack-oriented way.
Definition: XmlStackedHandler.h:118
bool initFootprint(QMutex *cameraMutex)
Calculate a footprint for this shape.
Definition: Shape.cpp:421
void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const
Output format:
Definition: Shape.cpp:844
Adds specific functionality to C++ strings.
Definition: IString.h:165
FileName setExtension(const QString &extension) const
Sets all current file extensions to a new extension in the file name.
Definition: FileName.cpp:265
double lineResolution() const
Get the line resolution of this shape, as calculated and attached by camstats.
Definition: Shape.cpp:503
double sampleResolution() const
Get the sample resolution of this shape, as calculated and attached by camstats.
Definition: Shape.cpp:547
~Shape()
Clean up this shape.
Definition: Shape.cpp:89
geos::geom::MultiPolygon * Polys()
Return a geos Multipolygon.
Definition: ImagePolygon.h:210
QString path() const
Returns the path of the file name.
Definition: FileName.cpp:103
@ Radians
Radians are generally used in mathematical equations, 0-2*PI is one circle, however these are more di...
Definition: Angle.h:63
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
QString ToQt() const
Retuns the object string as a QString.
Definition: IString.cpp:869
@ User
A type of error that could only have occurred due to a mistake on the user's part (e....
Definition: IException.h:126
double radians() const
Convert an angle to a double.
Definition: Angle.h:226