30#include <QXmlDefaultHandler> 
   35class QXmlStreamWriter;
 
   47  class BundleSolutionInfo;
 
   51  class CorrelationMatrix;
 
  335      QString 
name() 
const;
 
  360      QList<ImageList *> 
images();
 
  364      QList<ShapeList *> 
shapes();
 
  403      void save(
FileName projectPath, 
bool verifyPathDoesntExist = 
true);
 
  407      template<
typename Data> 
void warn(QString text, Data relevantData);
 
  409      void warn(QString text);
 
  562      void targetBodyClosed(
QObject *targetBodyObj);
 
  566      void checkActiveControlAndImageList();
 
  567      void checkControlsAndImagesAvailable();
 
  572      void createFolders();
 
  574      ControlList *createOrRetrieveControlList(QString 
name, QString path = 
"");
 
  575      ImageList *createOrRetrieveImageList(QString 
name, QString path = 
"");
 
  576      ShapeList *createOrRetrieveShapeList(QString 
name, QString path = 
"");
 
  581      QString nextImageListGroupName();
 
  585      void saveHistory(QXmlStreamWriter &stream) 
const;
 
  586      void saveWarnings(QXmlStreamWriter &stream) 
const;
 
  588      void storeWarning(QString text);
 
  589      void storeWarning(QString text, 
const ImageList &relevantData);
 
  601          virtual bool startElement(
const QString &namespaceURI, 
const QString &localName,
 
  602                                    const QString &qName, 
const QXmlAttributes &atts);
 
  603          virtual bool endElement(
const QString &namespaceURI, 
const QString &localName,
 
  604                                  const QString &qName);
 
  607          Q_DISABLE_COPY(XmlHandler);
 
  610          QList<ImageList *> m_imageLists;
 
  611          QList<ShapeList *> m_shapeLists;
 
  612          QList<ControlList *> m_controls;
 
  613          QList<BundleSolutionInfo *> m_bundleSolutionInfos;
 
  614          QList<TemplateList *> m_mapTemplateLists;
 
  615          QList<TemplateList *> m_regTemplateLists;
 
  621      static const int m_maxRecentProjects = 5;
 
  623      QString m_newProjectRoot;
 
  625      QDir m_currentCnetFolder;
 
  626      QPointer<Directory> m_directory;
 
  627      QList<ImageList *> *m_images;
 
  628      QList<ControlList *> *m_controls;
 
  629      QList<ShapeList *> *m_shapes;
 
  631      QList<TemplateList *> *m_mapTemplates;
 
  632      QList<TemplateList *> *m_regTemplates;
 
  634      QList<BundleSolutionInfo *> *m_bundleSolutionInfo;
 
  636      QPointer<Control> m_activeControl;
 
  637      QPointer<ImageList> m_activeImageList;
 
  651      QMap<QString, Control *> *m_idToControlMap;
 
  652      QMap<QString, Image *> *m_idToImageMap;
 
  653      QMap<QString, Shape *> *m_idToShapeMap;
 
  654      QMap<QString, BundleSolutionInfo *> *m_idToBundleSolutionInfoMap;
 
  655      QMap<QString, TargetBody *> *m_idToTargetBodyMap;
 
  656      QMap<QString, GuiCamera *> *m_idToGuiCameraMap;
 
  660      QList< QPointer<WorkOrder> > *m_workOrderHistory;
 
  662      QPointer<ImageReader> m_imageReader;
 
  664      bool m_isTemporaryProject;
 
  668      int m_numImagesCurrentlyReading;
 
  671      QMutex *m_workOrderMutex;
 
  672      QMutex *m_imageReadingMutex;
 
  674      int m_numShapesCurrentlyReading;
 
  675      QMutex *m_shapeMutex;
 
  676      QPointer<ShapeReader> m_shapeReader;
 
  677      QMutex *m_shapeReadingMutex;
 
  679      QUndoStack m_undoStack;
 
 
Q_DECLARE_METATYPE(Isis::Project *)
 
Container class for BundleAdjustment settings.
Definition BundleSettings.h:125
 
Container class for BundleAdjustment results.
Definition BundleSolutionInfo.h:162
 
This represents an ISIS control net in a project-based GUI interface.
Definition Control.h:66
 
Maintains a list of Controls so that control nets can easily be copied from one Project to another,...
Definition ControlList.h:44
 
Definition Directory.h:271
 
File name manipulation and expansion.
Definition FileName.h:100
 
List of GuiCameras saved as QSharedPointers.
Definition GuiCameraList.h:35
 
This represents a cube in a project-based GUI interface.
Definition Image.h:107
 
Internalizes a list of images and allows for operations on the entire list.
Definition ImageList.h:55
 
The main project for ipce.
Definition Project.h:289
 
void activeControlSet(bool boolean)
Emitted when an active control is set.
 
void setActiveImageList(QString displayName)
Set the Active ImageList from the displayName which is saved in project.xml.
Definition Project.cpp:1954
 
void addBundleSolutionInfo(BundleSolutionInfo *bundleSolutionInfo)
Add the given BundleSolutionInfo to the current project.
Definition Project.cpp:1193
 
void activeImageListSet()
Emitted when an active image list is set.
 
Shape * shape(QString id)
Return a shape given its id.
Definition Project.cpp:1538
 
QString targetBodyRoot() const
Accessor for the root directory of the target body data.
Definition Project.cpp:2185
 
QMutex * mutex()
Return mutex used for Naif calls.
Definition Project.cpp:1657
 
ImageList * imageList(QString name)
Return an imagelist given its name.
Definition Project.cpp:1519
 
void workOrderStarting(WorkOrder *)
Emitted when work order starts.
 
QList< TemplateList * > templates()
Return all template FileNames.
Definition Project.cpp:2144
 
bool isTemporaryProject() const
Returns if the project is a temp project or not.
Definition Project.cpp:1566
 
void bundleSolutionInfoAdded(BundleSolutionInfo *bundleSolutionInfo)
Emitted when new BundleSolutionInfo available from jigsaw receivers: ProjectTreeWidget (TODO: should ...
 
void setName(QString newName)
Change the project's name (GUI only, doesn't affect location on disk).
Definition Project.cpp:1683
 
void imagesAdded(ImageList *images)
Emitted when new images are available.
 
void projectSaved(Project *)
Emitted when project is saved.
 
QDir addCnetFolder(QString prefix)
Create and return the name of a folder for placing control networks.
Definition Project.cpp:925
 
void controlListAdded(ControlList *controls)
apparently not used?
 
void addControl(Control *control)
Add the given Control's to the current project.
Definition Project.cpp:957
 
WorkOrder * lastNotUndoneWorkOrder()
Return the last not undone workorder.
Definition Project.cpp:1604
 
QDir addTemplateFolder(QString prefix)
Create and navigate to the appropriate template type folder in the project directory.
Definition Project.cpp:1133
 
void allControlsRemoved()
Emitted when all controls have been removed from the Project.
 
QString bundleSolutionInfoRoot() const
Accessor for the root directory of the results data.
Definition Project.cpp:2242
 
void projectRelocated(Project *)
Emitted when project location moved receivers: Control, BundleSolutionInfo, Image,...
 
void deleteAllProjectFiles()
Delete all of the files, that this project stores, from disk.
Definition Project.cpp:2250
 
QString newProjectRoot() const
Get the top-level folder of the new project.
Definition Project.cpp:1674
 
void setActiveControl(QString displayName)
Set the Active Control (control network)
Definition Project.cpp:1818
 
QDir addBundleSolutionInfoFolder(QString folder)
Create and return the name of a folder for placing BundleSolutionInfo.
Definition Project.cpp:1173
 
QList< TemplateList * > regTemplates()
Return registration template FileNames.
Definition Project.cpp:2165
 
void projectLoaded(Project *)
Emitted when project loaded receivers: IpceMainWindow, Directory, HistoryTreeWidget.
 
QString templateRoot() const
Accessor for the root directory of the template data.
Definition Project.cpp:2134
 
QUndoStack * undoStack()
Returns the Projects stack of QUndoCommands.
Definition Project.cpp:1693
 
void workOrderFinished(WorkOrder *)
Emitted when work order ends.
 
bool hasCamera(QString id)
This method checks for the existence of a camera based on InstrumentId.
Definition Project.cpp:2744
 
QList< WorkOrder * > workOrderHistory()
Get the entire list of work orders that have executed.
Definition Project.cpp:1747
 
void templatesAdded(TemplateList *newTemplates)
 
QString resultsRoot() const
Accessor for the root directory of the results data.
Definition Project.cpp:2213
 
void addImagesToIdMap(ImageList images)
Add images to the id map which are not under the projects main data area, the Images node on the proj...
Definition Project.cpp:2777
 
void waitForShapeReaderFinished()
Locks program if another spot in code is still running and called this function.
Definition Project.cpp:1739
 
TargetBodyList targetBodies()
Return TargetBodyList in Project.
Definition Project.cpp:2193
 
void waitForImageReaderFinished()
Locks program if another spot in code is still running and called this function.
Definition Project.cpp:1731
 
ShapeList * shapeList(QString name)
Return a shapelist given its name.
Definition Project.cpp:1548
 
bool clearing()
Definition Project.cpp:665
 
BundleSettings * bundleSettings()
Return BundleSettings objects in Project.
Definition Project.h:390
 
bool hasTarget(QString id)
This method checks for the existence of a target based on TargetName.
Definition Project.cpp:2714
 
void controlAdded(Control *control)
Emitted when new Control added to Project receivers: ProjectTreeWidget.
 
QList< ShapeList * > shapes()
Return the projects shapelist.
Definition Project.cpp:2105
 
QMutex * workOrderMutex()
This function returns a QMutex.
Definition Project.cpp:2985
 
~Project()
Clean up the project.
Definition Project.cpp:256
 
QList< QAction * > userPreferenceActions()
Get a list of configuration/settings actions related to reading images into this Project.
Definition Project.cpp:915
 
void clear()
Function to clear out all values in a project essentially making it a new project object.
Definition Project.cpp:458
 
void addToProject(WorkOrder *)
This executes the WorkOrder and stores it in the project.
Definition Project.cpp:2597
 
void warn(QString text, Data relevantData)
Definition Project.cpp:2642
 
void activeControlAndImageListSet()
Emitted when both an active control and active image list have been set.
 
void activeControlModified()
Emmited in cnetModified() when the actice control is modified.
 
void addTarget(Target *target)
Adds a new target to the project.
Definition Project.cpp:2729
 
QList< TemplateList * > mapTemplates()
Return map template FileNames.
Definition Project.cpp:2155
 
Control * control(QString id)
Accessor for if the project is clearing or not.
Definition Project.cpp:1162
 
void cnetModified()
When a cnet is modified, set the project state to not clean.
Definition Project.cpp:1923
 
void guiCamerasAdded(GuiCameraList *targets)
Emitted when new GuiCamera objects added to project receivers: Directory.
 
QString imageDataRoot() const
Accessor for the root directory of the image data.
Definition Project.cpp:2076
 
void shapesAdded(ShapeList *shapes)
Emitted when new shape model images are available.
 
void cnetSaved(bool value)
Emmited in save() when the project is being saved Connected to Directory so that ControlPointEditWidg...
 
QString cnetRoot() const
Get where control networks ought to be stored inside the project.
Definition Project.cpp:2028
 
QList< ControlList * > controls()
Return controls in project.
Definition Project.cpp:2037
 
Directory * directory() const
Returns the directory associated with this Project.
Definition Project.cpp:1228
 
void targetsAdded(TargetBodyList *targets)
Emitted when new TargetBody objects added to project receivers: Directory.
 
bool isClean()
Accessor to determine whether the current project is Unsaved.
Definition Project.cpp:1583
 
void open(QString)
Open the project at the given path.
Definition Project.cpp:1344
 
ImageList * activeImageList()
Returns the active ImageList.
Definition Project.cpp:2002
 
QList< BundleSolutionInfo * > bundleSolutionInfo()
Return BundleSolutionInfo objects in Project.
Definition Project.cpp:2222
 
void writeSettings(FileName projName) const
 
QString projectRoot() const
Get the top-level folder of the project.
Definition Project.cpp:1665
 
void removeImages(ImageList &imageList)
Definition Project.cpp:2785
 
QString name() const
Get the project's GUI name.
Definition Project.cpp:1624
 
void setClean(bool value)
Function to change the clean state of the project.
Definition Project.cpp:1594
 
Control * activeControl()
Return the Active Control (control network)
Definition Project.cpp:1902
 
void loadBundleSolutionInfo(BundleSolutionInfo *bundleSolutionInfo)
Loads bundle solution info into project.
Definition Project.cpp:1209
 
void addCamera(Camera *camera)
Adds a new camera to the project.
Definition Project.cpp:2760
 
QDir addImageFolder(QString prefix)
Create and return the name of a folder for placing images.
Definition Project.cpp:1002
 
void discardActiveControlEdits()
 
void nameChanged(QString newName)
Emitted when project name is changed receivers: ProjectTreeWidget.
 
void relocateProjectRoot(QString newRoot)
This is called when the project is moved.
Definition Project.cpp:2304
 
void imageListAdded(ImageList *images)
Emitted when new ImageList added to Project receivers: ProjectTreeWidget.
 
static int maxRecentProjects()
Return max number of recent projects to be displayed.
Definition Project.h:396
 
static QStringList shapes(QStringList)
 
QString shapeDataRoot() const
Accessor for the root directory of the shape model data.
Definition Project.cpp:2096
 
bool isOpen()
Accessor to determine whether a current project is Open.
Definition Project.cpp:1574
 
QList< ImageList * > images()
Return projects imagelist.
Definition Project.cpp:2114
 
void controlsAndImagesAvailable()
Emitted when at least one cnet and image have been added to the project.
 
Image * image(QString id)
Return an image given its id.
Definition Project.cpp:1508
 
void addTemplates(TemplateList *templateFiles)
Add new templates to m_mapTemplates or m_regTemplates and update project item model.
Definition Project.cpp:1112
 
void addShapes(QStringList shapeFiles)
Read the given shape model cube file names as Images and add them to the project.
Definition Project.cpp:1088
 
QProgressBar * progress()
Definition Project.cpp:1498
 
Project(Directory &directory, QObject *parent=0)
Create a new Project.
Definition Project.cpp:87
 
void addImages(QStringList imageFiles)
Read the given cube file names as Images and add them to the project.
Definition Project.cpp:1031
 
bool save()
Generic save method to save the state of the project.
Definition Project.cpp:2323
 
QDir addShapeFolder(QString prefix)
Create and return the name of a folder for placing shape models.
Definition Project.cpp:1059
 
ControlList * controlList(QString name)
Return controlslist matching name in Project.
Definition Project.cpp:2047
 
void removeTemplate(FileName file)
 
This represents a shape in a project-based GUI interface.
Definition Shape.h:68
 
Internalizes a list of shapes and allows for operations on the entire list.
Definition ShapeList.h:33
 
List for holding TargetBodies.
Definition TargetBodyList.h:33
 
This class is used to create and store valid Isis targets.
Definition Target.h:63
 
Definition TemplateList.h:35
 
Provide Undo/redo abilities, serialization, and history for an operation.
Definition WorkOrder.h:311
 
XML Handler that parses XMLs in a stack-oriented way.
Definition XmlStackedHandler.h:118
 
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16