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