Isis 3 Programmer Reference
ExportImagesWorkOrder.h
1#ifndef ExportImagesWorkOrder_H
2#define ExportImagesWorkOrder_H
3
4#include "WorkOrder.h"
5
6#include <functional>
7
8#include <QMutex>
9
10namespace Isis {
11 class IException;
12 class Image;
13
34 Q_OBJECT
35 public:
39
40 virtual ExportImagesWorkOrder *clone() const;
41
42 bool isExecutable(ImageList *images);
43
44
45 bool setupExecution();
46
47 void execute();
48 void postExecution();
49
50 private:
61 class ProjectImageExportFunctor : public std::function<void *(Image * const &)> {
62 public:
63 ProjectImageExportFunctor(QString destination);
66
67 void *operator()(Image * const &imageToExport);
68
69 IException errors() const;
70
71 private:
74
75 QString m_destination;
76
77 QMutex m_errorsLock;
78 QSharedPointer<IException> m_errors;
79 QSharedPointer<int> m_numErrors;
80 };
81
82 private:
83 ExportImagesWorkOrder &operator=(const ExportImagesWorkOrder &rhs);
84
85 QString m_warning;
86 };
87}
88
89#endif
IException errors() const
Get the accumulated error list from this functor's run.
void * operator()(Image *const &imageToExport)
Write the given image's cube into the destination folder (preserves the base name).
ProjectImageExportFunctor & operator=(const ProjectImageExportFunctor &rhs)
Not implemented.
ProjectImageExportFunctor(QString destination)
Create an image export functor that will copy the image's cubes into the given destination directory.
Write project images to a user-specified location.
void postExecution()
Display any warnings that occurred during the asynchronous computations.
bool setupExecution()
Prompts the user for input.
bool isExecutable(ImageList *images)
Currently, this work order only works with either no data (file menu) or with any number of images.
void execute()
Use internalData() and write the images into the output directory.
Isis exception class.
Definition IException.h:91
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
Provide Undo/redo abilities, serialization, and history for an operation.
Definition WorkOrder.h:311
Project * project() const
Returns the Project this WorkOrder is attached to.
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16