1#ifndef FeatureNomenclatureTool_h
2#define FeatureNomenclatureTool_h
7#include <QProgressDialog>
20template <
typename A,
typename B>
class QMap;
21template <
typename A,
typename B>
struct QPair;
24 class MdiCubeViewport;
25 class UniversalGroundMap;
140 void centerOnSelectedFeature();
142 void featureSelected();
144 void findNomenclatureStateChanged(
int);
145 void nomenclaturePositionsOutdated();
146 void onToolActivated();
147 void showDisclaimer();
151 class ViewportFeatureDisplay;
155 void findMissingNomenclature();
157 void rebuildFeaturesCombo();
161 void toolStateChanged();
164 const ViewportFeatureDisplay *
167 QList<MdiCubeViewport *> viewportsWithFoundNomenclature();
170 void writeSettings();
188 class FeaturePosition {
192 FeaturePosition(
const FeaturePosition &other);
195 bool isValid()
const;
197 QPair<double, double> center()
const;
198 QList< QPair<double, double> > edges()
const;
203 void swap(FeaturePosition &other);
204 FeaturePosition &operator=(
const FeaturePosition &rhs);
210 double m_centerSample;
219 QList< QPair<double, double> > *m_featureEdgeLineSamples;
236 class FeatureDisplayPosition {
238 FeatureDisplayPosition();
239 FeatureDisplayPosition(QRect textRect, QRect fullDisplayRect,
240 QList<QPoint> edgePoints);
241 FeatureDisplayPosition(
const FeatureDisplayPosition &other);
242 ~FeatureDisplayPosition();
244 QRect textArea()
const;
245 QRect displayArea()
const;
246 QList<QPoint> edgePoints()
const;
248 void swap(FeatureDisplayPosition &other);
249 FeatureDisplayPosition &operator=(
const FeatureDisplayPosition &rhs);
256 QRect *m_fullDisplayRect;
258 QList<QPoint> *m_edgePoints;
275 class ViewportFeatureDisplay {
277 ViewportFeatureDisplay();
279 MdiCubeViewport *sourceViewport,
280 QList<FeatureNomenclature::Feature> features,
282 ViewportFeatureDisplay(
const ViewportFeatureDisplay &other);
283 ~ViewportFeatureDisplay();
286 void centerFeature(FeatureNomenclature::Feature);
287 QList<FeatureNomenclature::Feature> features();
288 QList<FeaturePosition> featurePositions();
289 MdiCubeViewport *sourceViewport()
const;
290 void paint(QPainter *painter,
bool showVectors,
291 VectorType
vectorType,
bool approvedOnly)
const;
297 void swap(ViewportFeatureDisplay &other);
298 ViewportFeatureDisplay &operator=(
299 const ViewportFeatureDisplay &rhs);
302 QPair<QPointF, QPointF> viewportCubeRange()
const;
309 MdiCubeViewport *m_sourceViewport;
311 QList<FeaturePosition> *m_features;
313 QList<FeatureDisplayPosition> *m_featureScreenAreas;
319 QPair<QPointF, QPointF> *m_viewportCubeRange;
324 QPointer<QAction> m_action;
327 QPointer<QCheckBox> m_findNomenclatureCheckBox;
337 QPointer<QComboBox> m_foundFeaturesCombo;
339 QPointer<QPushButton> m_nomenclatureCenterBtn;
341 QPointer<QPushButton> m_nomenclatureOptionsBtn;
343 QPointer<QPushButton> m_disclaimerBtn;
348 QPointer<QProgressBar> m_queryingProgress;
351 QList<ViewportFeatureDisplay> * m_foundNomenclature;
356 QMap< MdiCubeViewport *,
357 FeatureNomenclature *> * m_nomenclatureSearchers;
364 bool m_nomenclatureEnabled;
367 QString m_disclaimerText;
374 bool m_defaultEnabled;
376 bool m_disclaimedAlready;
378 VectorType m_extentType;
380 bool m_showApprovedOnly;
A named feature on a target.
Definition FeatureNomenclature.h:117
Feature nomenclature database querier.
Definition FeatureNomenclature.h:51
Cube display widget for certain Isis MDI applications.
Definition MdiCubeViewport.h:39
Universal Ground Map.
Definition UniversalGroundMap.h:69
This is free and unencumbered software released into the public domain.
Definition CubeIoHandler.h:22
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16
This is free and unencumbered software released into the public domain.
Definition CubeIoHandler.h:23