Loading isis/make/config.linux-x86_64_Fedora25 +6 −1 Original line number Diff line number Diff line Loading @@ -89,6 +89,7 @@ THIRDPARTYLICPATH := $(ISIS3LOCAL)/license/ #--------------------------------------------------------------------------- QTINCDIR = -I$(ISIS3LOCAL)/include/qt/qt5.7.1 QTINCDIR += -I$(ISIS3LOCAL)/include/qt/qt5.7.1/Qt QTINCDIR += -I$(ISIS3LOCAL)/include/qt/qt5.7.1/QtCharts QTINCDIR += -I$(ISIS3LOCAL)/include/qt/qt5.7.1/QtCore QTINCDIR += -I$(ISIS3LOCAL)/include/qt/qt5.7.1/QtAssistant QTINCDIR += -I$(ISIS3LOCAL)/include/qt/qt5.7.1/QtConcurrent Loading @@ -115,7 +116,7 @@ QTINCDIR += -I$(ISIS3LOCAL)/include/qt/qt5.7.1/QtWidgets QTINCDIR += -I$(ISIS3LOCAL)/include/qt/qt5.7.1/QtXml QTINCDIR += -I$(ISIS3LOCAL)/include/qt/qt5.7.1/QtXmlPatterns QTLIBDIR = -L$(ISIS3LOCAL)/lib QTLIB = -lQt5Core -lQt5Concurrent -lQt5XmlPatterns -lQt5Xml -lQt5Network -lQt5Sql -lQt5Gui -lQt5PrintSupport -lQt5Positioning -lQt5Qml -lQt5Quick -lQt5Sensors -lQt5Svg -lQt5Test -lQt5OpenGL -lQt5Widgets -lQt5Multimedia -lQt5MultimediaWidgets -lQt5WebChannel -lQt5WebEngine -lQt5WebEngineWidgets -lQt5DBus QTLIB = -lQt5Core -lQt5Concurrent -lQt5XmlPatterns -lQt5Xml -lQt5Network -lQt5Sql -lQt5Gui -lQt5PrintSupport -lQt5Positioning -lQt5Qml -lQt5Quick -lQt5Sensors -lQt5Svg -lQt5Test -lQt5OpenGL -lQt5Widgets -lQt5Multimedia -lQt5MultimediaWidgets -lQt5WebChannel -lQt5WebEngine -lQt5WebEngineWidgets -lQt5DBus -lQt5Charts UIC = $(ISIS3LOCAL)/bin/uic MOC = $(ISIS3LOCAL)/bin/moc Loading Loading @@ -368,6 +369,10 @@ DEFAULTINCDIR = -I$(ISIS3LOCAL)/include #--------------------------------------------------------------------------- # Qt Libraries THIRDPARTYLIBS += "$(ISIS3LOCAL)/lib/libQt5Charts.so" THIRDPARTYLIBS += "$(ISIS3LOCAL)/lib/libQt5Charts.so.5" THIRDPARTYLIBS += "$(ISIS3LOCAL)/lib/libQt5Charts.so.5.7*[^g]" THIRDPARTYLIBS += "$(ISIS3LOCAL)/lib/libQt5Concurrent.so" THIRDPARTYLIBS += "$(ISIS3LOCAL)/lib/libQt5Concurrent.so.5" THIRDPARTYLIBS += "$(ISIS3LOCAL)/lib/libQt5Concurrent.so.5.7.*[^g]" Loading isis/src/control/objs/ControlNetVitals/ControlNetVitals.cpp +5 −5 Original line number Diff line number Diff line Loading @@ -62,7 +62,7 @@ namespace Isis { } // REFACTOR int ControlNetVitals::numConstraintedPoints() { int ControlNetVitals::numConstrainedPoints() { int count = 0; foreach(ControlPoint* point, m_controlNet->GetPoints()) { if (point->GetPointTypeString() == "Constrained") count++; Loading Loading @@ -209,23 +209,23 @@ namespace Isis { QString details = ""; if (hasIslands()) { status = "Broken!"; details = "This network has " + toString(numIslands()) + " islands."; details = "This network has " + toString(numIslands()) + " island(s)."; } else { if (numPointsBelowMeasureThreshold() < 3) { status = "Weak!"; details += "This network has " + toString(numPointsBelowMeasureThreshold()) + " points with less than 3 measures\n"; details += "This network has " + toString(numPointsBelowMeasureThreshold()) + " point(s) with less than 3 measures\n"; } if (numImagesBelowMeasureThreshold() < 3) { status = "Weak!"; details += "This network has " + toString(numImagesBelowMeasureThreshold()) + " images with less than 3 measures\n"; details += "This network has " + toString(numImagesBelowMeasureThreshold()) + " image(s) with less than 3 measures\n"; } if (numImagesBelowHullTolerance() > 0) { status = "Weak!"; details += "This network has " + toString(numImagesBelowHullTolerance()) + " images below the Convex Hull Tolerance of 75%\n"; details += "This network has " + toString(numImagesBelowHullTolerance()) + " image(s) below the Convex Hull Tolerance of 75%\n"; } if (status.isEmpty()) { Loading isis/src/control/objs/ControlNetVitals/ControlNetVitals.h +1 −1 Original line number Diff line number Diff line Loading @@ -59,7 +59,7 @@ namespace Isis { int numIgnoredPoints(); int numLockedPoints(); int numFixedPoints(); int numConstraintedPoints(); int numConstrainedPoints(); int numFreePoints(); int numPointsBelowMeasureThreshold(int num=3); Loading isis/src/qisis/apps/healthmonitor/healthmonitor.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -15,7 +15,7 @@ int main(int argc, char* argv[]) QApplication app(argc, argv); // Create a widget ControlNet *net = new ControlNet(); net->ReadControl("simplenet.net"); net->ReadControl("/work/projects/progteam/fy18_cnetimprovements/test_data/themis/Themis_SyrtisMajor_Memnonia_Final.net"); ControlNetVitals *vitals = new ControlNetVitals(net); ControlHealthMonitor *w = new ControlHealthMonitor(vitals); w->show(); Loading isis/src/qisis/objs/ControlHealthMonitorView/ControlHealthMonitorView.cpp 0 → 100644 +164 −0 Original line number Diff line number Diff line /** * @file * $Date$ * $Revision$ * * Unless noted otherwise, the portions of Isis written by the USGS are * public domain. See individual third-party library and package descriptions * for intellectual property information, user agreements, and related * information. * * Although Isis has been used by the USGS, no warranty, expressed or * implied, is made by the USGS as to the accuracy and functioning of such * software and related material nor shall the fact of distribution * constitute any such warranty, and no responsibility is assumed by the * USGS in connection therewith. * * For additional information, launch * $ISISROOT/doc//documents/Disclaimers/Disclaimers.html * in a browser or see the Privacy & Disclaimers page on the Isis website, * http://isis.astrogeology.usgs.gov, and the USGS privacy and disclaimers on * http://www.usgs.gov/privacy.html. */ #include "IsisDebug.h" #include "ControlHealthMonitorView.h" #include <QAction> #include <QList> #include <QSize> #include <QSizePolicy> #include <QToolBar> #include <QVBoxLayout> #include <QWidgetAction> #include "ControlNet.h" #include "ControlPoint.h" #include "ControlHealthMonitorWidget.h" #include "Directory.h" #include "ToolPad.h" namespace Isis { /** * Constructor. */ ControlHealthMonitorView::ControlHealthMonitorView(Directory *directory, QWidget *parent) : AbstractProjectItemView(parent) { ControlNetVitals *vitals = new ControlNetVitals(directory->project()->activeControl()->controlNet()); m_ControlHealthMonitorWidget = new ControlHealthMonitorWidget(vitals, parent); // TODO How are control nets and serial number lists going to be handled? I assume there can // be several active control nets depending on the view, ie. jigsaw might operate on one // net, while the editors might be using a different net. Will Directory keep track? // QVBoxLayout *layout = new QVBoxLayout; setLayout(layout); layout->addWidget(m_ControlHealthMonitorWidget); m_permToolBar = new QToolBar("Standard Tools", 0); m_permToolBar->setObjectName("permToolBar"); m_permToolBar->setIconSize(QSize(22, 22)); //toolBarLayout->addWidget(m_permToolBar); m_activeToolBar = new QToolBar("Active Tool", 0); m_activeToolBar->setObjectName("activeToolBar"); m_activeToolBar->setIconSize(QSize(22, 22)); //toolBarLayout->addWidget(m_activeToolBar); m_toolPad = new ToolPad("Tool Pad", 0); m_toolPad->setObjectName("toolPad"); //toolBarLayout->addWidget(m_toolPad); // m_ControlHealthMonitorWidget->addToPermanent(m_permToolBar); // m_ControlHealthMonitorWidget->addTo(m_activeToolBar); // m_ControlHealthMonitorWidget->addTo(m_toolPad); m_activeToolBarAction = new QWidgetAction(this); m_activeToolBarAction->setDefaultWidget(m_activeToolBar); setAcceptDrops(true); QSizePolicy policy = sizePolicy(); policy.setHorizontalPolicy(QSizePolicy::Expanding); policy.setVerticalPolicy(QSizePolicy::Expanding); setSizePolicy(policy); } /** * Destructor */ ControlHealthMonitorView::~ControlHealthMonitorView() { delete m_ControlHealthMonitorWidget; delete m_permToolBar; delete m_activeToolBar; delete m_toolPad; m_permToolBar = 0; m_activeToolBar = 0; m_toolPad = 0; } /** * Returns the ControlHealthMonitorWidget. * * @return (ControlHealthMonitorWidget *) The ControlHealthMonitorWidget used to * display the footprints. */ ControlHealthMonitorWidget *ControlHealthMonitorView::controlHealthMonitorWidget() { return m_ControlHealthMonitorWidget; } /** * Returns the suggested size for the widget. * * @return (QSize) The size */ QSize ControlHealthMonitorView::sizeHint() const { return QSize(800, 600); } /** * Returns a list of actions for the permanent tool bar. * * @return (QList<QAction *>) The actions */ QList<QAction *> ControlHealthMonitorView::permToolBarActions() { return m_permToolBar->actions(); } /** * Returns a list of actions for the active tool bar. * * @return (QList<QAction *>) The actions */ QList<QAction *> ControlHealthMonitorView::activeToolBarActions() { QList<QAction *> actions; actions.append(m_activeToolBarAction); return actions; } /** * Returns a list of actions for the tool pad. * * @return (QList<QAction *>) The actions */ QList<QAction *> ControlHealthMonitorView::toolPadActions() { return m_toolPad->actions(); } } Loading
isis/make/config.linux-x86_64_Fedora25 +6 −1 Original line number Diff line number Diff line Loading @@ -89,6 +89,7 @@ THIRDPARTYLICPATH := $(ISIS3LOCAL)/license/ #--------------------------------------------------------------------------- QTINCDIR = -I$(ISIS3LOCAL)/include/qt/qt5.7.1 QTINCDIR += -I$(ISIS3LOCAL)/include/qt/qt5.7.1/Qt QTINCDIR += -I$(ISIS3LOCAL)/include/qt/qt5.7.1/QtCharts QTINCDIR += -I$(ISIS3LOCAL)/include/qt/qt5.7.1/QtCore QTINCDIR += -I$(ISIS3LOCAL)/include/qt/qt5.7.1/QtAssistant QTINCDIR += -I$(ISIS3LOCAL)/include/qt/qt5.7.1/QtConcurrent Loading @@ -115,7 +116,7 @@ QTINCDIR += -I$(ISIS3LOCAL)/include/qt/qt5.7.1/QtWidgets QTINCDIR += -I$(ISIS3LOCAL)/include/qt/qt5.7.1/QtXml QTINCDIR += -I$(ISIS3LOCAL)/include/qt/qt5.7.1/QtXmlPatterns QTLIBDIR = -L$(ISIS3LOCAL)/lib QTLIB = -lQt5Core -lQt5Concurrent -lQt5XmlPatterns -lQt5Xml -lQt5Network -lQt5Sql -lQt5Gui -lQt5PrintSupport -lQt5Positioning -lQt5Qml -lQt5Quick -lQt5Sensors -lQt5Svg -lQt5Test -lQt5OpenGL -lQt5Widgets -lQt5Multimedia -lQt5MultimediaWidgets -lQt5WebChannel -lQt5WebEngine -lQt5WebEngineWidgets -lQt5DBus QTLIB = -lQt5Core -lQt5Concurrent -lQt5XmlPatterns -lQt5Xml -lQt5Network -lQt5Sql -lQt5Gui -lQt5PrintSupport -lQt5Positioning -lQt5Qml -lQt5Quick -lQt5Sensors -lQt5Svg -lQt5Test -lQt5OpenGL -lQt5Widgets -lQt5Multimedia -lQt5MultimediaWidgets -lQt5WebChannel -lQt5WebEngine -lQt5WebEngineWidgets -lQt5DBus -lQt5Charts UIC = $(ISIS3LOCAL)/bin/uic MOC = $(ISIS3LOCAL)/bin/moc Loading Loading @@ -368,6 +369,10 @@ DEFAULTINCDIR = -I$(ISIS3LOCAL)/include #--------------------------------------------------------------------------- # Qt Libraries THIRDPARTYLIBS += "$(ISIS3LOCAL)/lib/libQt5Charts.so" THIRDPARTYLIBS += "$(ISIS3LOCAL)/lib/libQt5Charts.so.5" THIRDPARTYLIBS += "$(ISIS3LOCAL)/lib/libQt5Charts.so.5.7*[^g]" THIRDPARTYLIBS += "$(ISIS3LOCAL)/lib/libQt5Concurrent.so" THIRDPARTYLIBS += "$(ISIS3LOCAL)/lib/libQt5Concurrent.so.5" THIRDPARTYLIBS += "$(ISIS3LOCAL)/lib/libQt5Concurrent.so.5.7.*[^g]" Loading
isis/src/control/objs/ControlNetVitals/ControlNetVitals.cpp +5 −5 Original line number Diff line number Diff line Loading @@ -62,7 +62,7 @@ namespace Isis { } // REFACTOR int ControlNetVitals::numConstraintedPoints() { int ControlNetVitals::numConstrainedPoints() { int count = 0; foreach(ControlPoint* point, m_controlNet->GetPoints()) { if (point->GetPointTypeString() == "Constrained") count++; Loading Loading @@ -209,23 +209,23 @@ namespace Isis { QString details = ""; if (hasIslands()) { status = "Broken!"; details = "This network has " + toString(numIslands()) + " islands."; details = "This network has " + toString(numIslands()) + " island(s)."; } else { if (numPointsBelowMeasureThreshold() < 3) { status = "Weak!"; details += "This network has " + toString(numPointsBelowMeasureThreshold()) + " points with less than 3 measures\n"; details += "This network has " + toString(numPointsBelowMeasureThreshold()) + " point(s) with less than 3 measures\n"; } if (numImagesBelowMeasureThreshold() < 3) { status = "Weak!"; details += "This network has " + toString(numImagesBelowMeasureThreshold()) + " images with less than 3 measures\n"; details += "This network has " + toString(numImagesBelowMeasureThreshold()) + " image(s) with less than 3 measures\n"; } if (numImagesBelowHullTolerance() > 0) { status = "Weak!"; details += "This network has " + toString(numImagesBelowHullTolerance()) + " images below the Convex Hull Tolerance of 75%\n"; details += "This network has " + toString(numImagesBelowHullTolerance()) + " image(s) below the Convex Hull Tolerance of 75%\n"; } if (status.isEmpty()) { Loading
isis/src/control/objs/ControlNetVitals/ControlNetVitals.h +1 −1 Original line number Diff line number Diff line Loading @@ -59,7 +59,7 @@ namespace Isis { int numIgnoredPoints(); int numLockedPoints(); int numFixedPoints(); int numConstraintedPoints(); int numConstrainedPoints(); int numFreePoints(); int numPointsBelowMeasureThreshold(int num=3); Loading
isis/src/qisis/apps/healthmonitor/healthmonitor.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -15,7 +15,7 @@ int main(int argc, char* argv[]) QApplication app(argc, argv); // Create a widget ControlNet *net = new ControlNet(); net->ReadControl("simplenet.net"); net->ReadControl("/work/projects/progteam/fy18_cnetimprovements/test_data/themis/Themis_SyrtisMajor_Memnonia_Final.net"); ControlNetVitals *vitals = new ControlNetVitals(net); ControlHealthMonitor *w = new ControlHealthMonitor(vitals); w->show(); Loading
isis/src/qisis/objs/ControlHealthMonitorView/ControlHealthMonitorView.cpp 0 → 100644 +164 −0 Original line number Diff line number Diff line /** * @file * $Date$ * $Revision$ * * Unless noted otherwise, the portions of Isis written by the USGS are * public domain. See individual third-party library and package descriptions * for intellectual property information, user agreements, and related * information. * * Although Isis has been used by the USGS, no warranty, expressed or * implied, is made by the USGS as to the accuracy and functioning of such * software and related material nor shall the fact of distribution * constitute any such warranty, and no responsibility is assumed by the * USGS in connection therewith. * * For additional information, launch * $ISISROOT/doc//documents/Disclaimers/Disclaimers.html * in a browser or see the Privacy & Disclaimers page on the Isis website, * http://isis.astrogeology.usgs.gov, and the USGS privacy and disclaimers on * http://www.usgs.gov/privacy.html. */ #include "IsisDebug.h" #include "ControlHealthMonitorView.h" #include <QAction> #include <QList> #include <QSize> #include <QSizePolicy> #include <QToolBar> #include <QVBoxLayout> #include <QWidgetAction> #include "ControlNet.h" #include "ControlPoint.h" #include "ControlHealthMonitorWidget.h" #include "Directory.h" #include "ToolPad.h" namespace Isis { /** * Constructor. */ ControlHealthMonitorView::ControlHealthMonitorView(Directory *directory, QWidget *parent) : AbstractProjectItemView(parent) { ControlNetVitals *vitals = new ControlNetVitals(directory->project()->activeControl()->controlNet()); m_ControlHealthMonitorWidget = new ControlHealthMonitorWidget(vitals, parent); // TODO How are control nets and serial number lists going to be handled? I assume there can // be several active control nets depending on the view, ie. jigsaw might operate on one // net, while the editors might be using a different net. Will Directory keep track? // QVBoxLayout *layout = new QVBoxLayout; setLayout(layout); layout->addWidget(m_ControlHealthMonitorWidget); m_permToolBar = new QToolBar("Standard Tools", 0); m_permToolBar->setObjectName("permToolBar"); m_permToolBar->setIconSize(QSize(22, 22)); //toolBarLayout->addWidget(m_permToolBar); m_activeToolBar = new QToolBar("Active Tool", 0); m_activeToolBar->setObjectName("activeToolBar"); m_activeToolBar->setIconSize(QSize(22, 22)); //toolBarLayout->addWidget(m_activeToolBar); m_toolPad = new ToolPad("Tool Pad", 0); m_toolPad->setObjectName("toolPad"); //toolBarLayout->addWidget(m_toolPad); // m_ControlHealthMonitorWidget->addToPermanent(m_permToolBar); // m_ControlHealthMonitorWidget->addTo(m_activeToolBar); // m_ControlHealthMonitorWidget->addTo(m_toolPad); m_activeToolBarAction = new QWidgetAction(this); m_activeToolBarAction->setDefaultWidget(m_activeToolBar); setAcceptDrops(true); QSizePolicy policy = sizePolicy(); policy.setHorizontalPolicy(QSizePolicy::Expanding); policy.setVerticalPolicy(QSizePolicy::Expanding); setSizePolicy(policy); } /** * Destructor */ ControlHealthMonitorView::~ControlHealthMonitorView() { delete m_ControlHealthMonitorWidget; delete m_permToolBar; delete m_activeToolBar; delete m_toolPad; m_permToolBar = 0; m_activeToolBar = 0; m_toolPad = 0; } /** * Returns the ControlHealthMonitorWidget. * * @return (ControlHealthMonitorWidget *) The ControlHealthMonitorWidget used to * display the footprints. */ ControlHealthMonitorWidget *ControlHealthMonitorView::controlHealthMonitorWidget() { return m_ControlHealthMonitorWidget; } /** * Returns the suggested size for the widget. * * @return (QSize) The size */ QSize ControlHealthMonitorView::sizeHint() const { return QSize(800, 600); } /** * Returns a list of actions for the permanent tool bar. * * @return (QList<QAction *>) The actions */ QList<QAction *> ControlHealthMonitorView::permToolBarActions() { return m_permToolBar->actions(); } /** * Returns a list of actions for the active tool bar. * * @return (QList<QAction *>) The actions */ QList<QAction *> ControlHealthMonitorView::activeToolBarActions() { QList<QAction *> actions; actions.append(m_activeToolBarAction); return actions; } /** * Returns a list of actions for the tool pad. * * @return (QList<QAction *>) The actions */ QList<QAction *> ControlHealthMonitorView::toolPadActions() { return m_toolPad->actions(); } }