This represents an ISIS control net in a project-based GUI interface. More...
#include <Control.h>
Classes | |
class | XmlHandler |
Nested class used to write the Control object information to an XML file for the purpose of saving and restoring the state of the project. More... | |
Public Slots | |
void | updateFileName (Project *) |
Change the on-disk file name for this control to be where the control ought to be in the given project. More... | |
Public Member Functions | |
Control (QString cnetFileName, QObject *parent=0) | |
Create a Control from control net located on disk. More... | |
Control (ControlNet *controlNet, QString cnetFileName, QObject *parent=0) | |
Create a Control from a control network that has already been created and read from disk. More... | |
Control (FileName cnetFolder, XmlStackedHandlerReader *xmlReader, QObject *parent=0) | |
Construct this control from XML. More... | |
~Control () | |
Destroys Control object. More... | |
ControlNet * | controlNet () |
Open and return a pointer to the ControlNet for this Control. More... | |
void | openControlNet () |
Sets the ControlNet from the control net file name provided in the constructor. More... | |
void | closeControlNet () |
Cleans up the ControlNet pointer. More... | |
ControlDisplayProperties * | displayProperties () |
Access a pointer to the display properties for the control network. More... | |
const ControlDisplayProperties * | displayProperties () const |
Access a const pointer to the display properties for the control network. More... | |
QString | fileName () const |
Access the name of the control network file associated with this Control. More... | |
QString | id () const |
Access the unique ID associated with this Control. More... | |
void | save (QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const |
Method to write this Control object's member data to an XML stream. More... | |
void | copyToNewProjectRoot (const Project *project, FileName newProjectRoot) |
Copies the files of the given Project to the given location. More... | |
void | deleteFromDisk () |
Delete the control net from disk. More... | |
Private Member Functions | |
Control (const Control &other) | |
Control & | operator= (const Control &rhs) |
Private Attributes | |
ControlNet * | m_controlNet |
A pointer to the ControlNet object associated with this Control object. More... | |
ControlDisplayProperties * | m_displayProperties |
Contains the display properties for this Control object. More... | |
QString | m_fileName |
File name of the control net associated with this control. More... | |
QUuid * | m_id |
A unique ID for this Control. More... | |
This represents an ISIS control net in a project-based GUI interface.
This encapsulates ideas about a control net such as it's filename and display properties.
2012-08-02 Kimberly Oyama - Added comments to some of the methods and member variables.
2012-09-11 Tracie Sucharski - Added new constructor that takes a ControlNet *.
2015-10-14 Jeffrey Covington - Declared Control * as a Qt metatype for use with QVariant. References #3949
2016-06-02 Jeannie Backer - Updated documentation. Fixes #3949
|
explicit |
Create a Control from control net located on disk.
cNetFileName | The name of the control net on disk |
parent | The Qt-relationship parent |
Definition at line 27 of file Control.cpp.
References m_controlNet, m_displayProperties, m_fileName, m_id, and openControlNet().
|
explicit |
Create a Control from a control network that has already been created and read from disk.
controlNet | The actual control network |
cnetFileName | The name of the control net on disk |
parent | The Qt-relationship parent |
Definition at line 50 of file Control.cpp.
References controlNet(), m_controlNet, m_displayProperties, m_fileName, and m_id.
Isis::Control::Control | ( | FileName | cnetFolder, |
XmlStackedHandlerReader * | xmlReader, | ||
QObject * | parent = 0 |
||
) |
Construct this control from XML.
cnetFolder | Location of control xml |
xmlReader | An XML reader that's up to an <control> tag. |
parent | The Qt-relationship parent |
Definition at line 72 of file Control.cpp.
References m_controlNet, m_displayProperties, and m_id.
Isis::Control::~Control | ( | ) |
Destroys Control object.
Definition at line 85 of file Control.cpp.
References m_controlNet, m_displayProperties, and m_id.
void Isis::Control::closeControlNet | ( | ) |
Cleans up the ControlNet pointer.
This method should be called once there is no more need for this network because the OS will limit how many of these can be open.
Definition at line 138 of file Control.cpp.
References m_controlNet.
Referenced by updateFileName().
ControlNet * Isis::Control::controlNet | ( | ) |
Open and return a pointer to the ControlNet for this Control.
Definition at line 106 of file Control.cpp.
References m_controlNet, and openControlNet().
Referenced by Isis::Directory::addCnetEditorView(), Isis::ExportControlNetWorkOrder::asyncRedo(), Control(), copyToNewProjectRoot(), Isis::CubeDnView::CubeDnView(), Isis::SetActiveControlWorkOrder::execute(), Isis::MosaicControlNetTool::openControlNet(), and Isis::ControlPointEditWidget::setControl().
Copies the files of the given Project to the given location.
project | A pointer to the Project. |
newProjectRoot | The name of the new root directory where the project will be copied. |
Definition at line 193 of file Control.cpp.
References Isis::Project::cnetRoot(), controlNet(), m_fileName, Isis::Project::projectRoot(), and Isis::ControlNet::Write().
Referenced by Isis::ControlList::CopyControlDataFunctor::operator()().
void Isis::Control::deleteFromDisk | ( | ) |
Delete the control net from disk.
The control net will no longer be accessible until you call updateFileName().
IException::Io | "Could not remove file." |
Definition at line 210 of file Control.cpp.
References _FILEINFO_, Isis::IException::Io, and m_fileName.
Referenced by Isis::ControlList::deleteFromDisk().
ControlDisplayProperties * Isis::Control::displayProperties | ( | ) |
Access a pointer to the display properties for the control network.
Definition at line 151 of file Control.cpp.
References m_displayProperties.
Referenced by Isis::Directory::addCnetEditorView(), and Isis::ExportControlNetWorkOrder::execute().
const ControlDisplayProperties * Isis::Control::displayProperties | ( | ) | const |
Access a const pointer to the display properties for the control network.
Definition at line 161 of file Control.cpp.
References m_displayProperties.
QString Isis::Control::fileName | ( | ) | const |
Access the name of the control network file associated with this Control.
Definition at line 171 of file Control.cpp.
References m_fileName.
Referenced by Isis::Project::addControl(), Isis::BundleAdjust::BundleAdjust(), Isis::ExportControlNetWorkOrder::execute(), Isis::MosaicControlNetTool::openControlNet(), Isis::ControlPointEditWidget::setControl(), Isis::ProjectItem::setControl(), and Isis::Control::XmlHandler::startElement().
QString Isis::Control::id | ( | ) | const |
Access the unique ID associated with this Control.
Definition at line 181 of file Control.cpp.
References m_id.
Referenced by Isis::Project::addControl(), and Isis::ExportControlNetWorkOrder::execute().
void Isis::Control::openControlNet | ( | ) |
Sets the ControlNet from the control net file name provided in the constructor.
IException::Programmer | "Error opening control net." |
Definition at line 121 of file Control.cpp.
References _FILEINFO_, m_controlNet, m_fileName, and Isis::IException::Programmer.
Referenced by Control(), and controlNet().
void Isis::Control::save | ( | QXmlStreamWriter & | stream, |
const Project * | project, | ||
FileName | newProjectRoot | ||
) | const |
Method to write this Control object's member data to an XML stream.
stream | The stream to which the Control will be saved. |
project | The Project to which this Control will be added. |
newProjectRoot | The location of the project root directory. |
Definition at line 248 of file Control.cpp.
References m_displayProperties, m_fileName, and m_id.
Referenced by Isis::ControlList::save().
|
slot |
Change the on-disk file name for this control to be where the control ought to be in the given project.
project | The project that this control is stored in |
Definition at line 230 of file Control.cpp.
References closeControlNet(), Isis::Project::cnetRoot(), and m_fileName.
|
private |
A pointer to the ControlNet object associated with this Control object.
Definition at line 109 of file Control.h.
Referenced by closeControlNet(), Control(), controlNet(), openControlNet(), and ~Control().
|
private |
Contains the display properties for this Control object.
Definition at line 111 of file Control.h.
Referenced by Control(), displayProperties(), save(), and ~Control().
|
private |
File name of the control net associated with this control.
Definition at line 113 of file Control.h.
Referenced by Control(), copyToNewProjectRoot(), deleteFromDisk(), fileName(), openControlNet(), save(), and updateFileName().
|
private |
U.S. Department of the Interior | U.S. Geological Survey ISIS | Privacy & Disclaimers | Astrogeology Research Program To contact us, please post comments and questions on the ISIS Support Center File Modified: 07/12/2023 23:42:52 |