Commit ef11ef13 authored by Ken Edmundson's avatar Ken Edmundson
Browse files

added preliminary target body functionality to ipce

git-svn-id: http://subversion.wr.usgs.gov/repos/prog/isis3/branches/ipce@6354 41f8697f-d340-4b68-9986-7bafba869bb8
parent 0fbdb580
Loading
Loading
Loading
Loading
+49 −0
Original line number Diff line number Diff line
#include "GuiCameraTreeWidgetItem.h"

#include <QDebug>

#include "GuiCameraDisplayProperties.h"

namespace Isis {

  /**
   * GuiCameraTreeWidgetItem constructor.
   * GuiCameraTreeWidgetItem is derived from QTreeWidgetItem
   *
   *
   * @param parent
   */
  GuiCameraTreeWidgetItem::GuiCameraTreeWidgetItem(GuiCameraQsp guiCamera,
      QTreeWidget *parent) : QTreeWidgetItem(parent, UserType) {
    m_guiCamera = guiCamera;

    setText(0, m_guiCamera->displayProperties()->displayName());
    setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable);

//    if (m_guiCamera->displayProperties()->displayName() == "fred")
//      setIcon(0, QIcon(":moon"));
//    else if (m_targetBody->displayProperties()->displayName() == "Enceladus")
//      setIcon(0, QIcon(":enceladus"));
//    else if (m_targetBody->displayProperties()->displayName() == "Mars")
//      setIcon(0, QIcon(":mars"));
//    else
      setIcon(0, QIcon(":camera"));

    // should m_guiCamera be a QSharedPointer? Then the signal below is not needed?
    connect(m_guiCamera.data(), SIGNAL(destroyed(QObject *)), this, SLOT(deleteLater()));
  }


  GuiCameraTreeWidgetItem::~GuiCameraTreeWidgetItem() {
  }


  GuiCameraQsp GuiCameraTreeWidgetItem::guiCamera() {
    return m_guiCamera;
  }


  void GuiCameraTreeWidgetItem::selectionChanged() {
//    m_control->displayProperties()->setSelected(isSelected());
  }
}
+37 −0
Original line number Diff line number Diff line
#ifndef GuiCameraTreeWidgetItem_H
#define GuiCameraTreeWidgetItem_H

#include <QObject>
#include <QTreeWidgetItem>

#include "GuiCamera.h"

namespace Isis {

  /**
   * @brief A control in the project tree widget
   *
   * This class visualizes a GuiCamera * from the project in the project tree widget.
   *
   * @author 2015-06-23 Ken Edmundson
   *
   * @internal
   *   @history 2015-06-23 Ken Edmundson - Original version.
   */
  class GuiCameraTreeWidgetItem : public QObject, public QTreeWidgetItem {
    Q_OBJECT
    public:
      GuiCameraTreeWidgetItem(GuiCameraQsp guiCamera,
                                       QTreeWidget *parent = 0);
      virtual ~GuiCameraTreeWidgetItem();

      GuiCameraQsp guiCamera();
      void selectionChanged();

    private:
      GuiCameraQsp m_guiCamera;
  };
}

#endif
+7 −0
Original line number Diff line number Diff line
ifeq ($(ISISROOT), $(BLANK))
.SILENT:
error:
	echo "Please set ISISROOT";
else
	include $(ISISROOT)/make/isismake.objs
endif
 No newline at end of file
+165 −0
Original line number Diff line number Diff line
#include "SensorInfoWidget.h"
#include "ui_SensorInfoWidget.h"

#include <QPixmap>

#include "Camera.h"
#include "CameraDistortionMap.h"
#include "Directory.h"
#include "GuiCamera.h"
#include "GuiCameraDisplayProperties.h"

namespace Isis {

  SensorInfoWidget::SensorInfoWidget(GuiCamera* camera, Directory *directory,
                                     QWidget *parent) : m_ui(new Ui::SensorInfoWidget) {
    m_ui->setupUi(this);

    m_camera = camera;

    // danger here
//    Camera *isisCamera = camera->camera();
    // danger here

    QString displayName = camera->displayProperties()->displayName();

//    CameraDistortionMap *distortionMap = isisCamera->DistortionMap();

    QPixmap image;
    if (displayName.contains("ISSNA")) {
      image.load(":cassini-iss-nac");
    }
    else if (displayName.contains("Metric")) {
      image.load(":apollo-metric-camera");
    }
    else if (displayName.contains("HiRISE")) {
      image.load(":hirise-camera");
    }

    m_ui->spacecraftlabel->setText(tr("Spacecraft: %1")
                                   .arg(m_camera->spacecraftNameLong()));

    setMinimumWidth(m_ui->tabWidget->minimumWidth()+20);

    m_ui->targetImage->setPixmap(image);

    setFrameStyle(QFrame::Panel | QFrame::Sunken);
    setLineWidth(2);

    m_ui->tabWidget->setCurrentIndex(0);

//    m_ui->poleRightAscensionLabel->setText(formatPoleRaString());
//    m_ui->poleDeclinationLabel->setText(formatPoleDecString());
//    m_ui->polePMOffsetLabel->setText(formatPmString());

//    m_ui->aRadiiLabel->setText(tr("%1").arg(m_target->radiusA().kilometers()));
//    m_ui->bRadiiLabel->setText(tr("%1").arg(m_target->radiusB().kilometers()));
//    m_ui->cRadiiLabel->setText(tr("%1").arg(m_target->radiusC().kilometers()));
//    m_ui->meanRadiiLabel->setText(tr("%1").arg(m_target->meanRadius().kilometers()));
  }


  SensorInfoWidget::~SensorInfoWidget() {
    delete m_ui;
  }


//  QString SensorInfoWidget::formatPoleRaString() {
//    std::vector<double> poleRaCoefs = m_target->poleRaCoefs();
//    std::vector<double> poleRaNutPrecCoefs = m_target->poleRaNutPrecCoefs();

//    const QChar degChar(0260);
//    QString poleRaString = "";
//    QString coefLetter = m_target->naifPlanetSystemName().at(0);

//    if (poleRaCoefs[1] < 0.0 )
//      poleRaString.append(tr("%1%3 - %2T").arg(poleRaCoefs[0]).arg(-poleRaCoefs[1]).arg(degChar));
//    else
//      poleRaString.append(tr("%1%3 + %2T").arg(poleRaCoefs[0]).arg(poleRaCoefs[1]).arg(degChar));

//    QString tmp;
//    int nCoefs = poleRaNutPrecCoefs.size();;
//    for (int i = 0; i < nCoefs; i++) {
//      if (poleRaNutPrecCoefs[i] < 0.0 ) {
//        tmp.append(tr(" - %1%2%3").arg(-poleRaNutPrecCoefs[i]).arg("sin %1").arg(coefLetter)
//                                  .arg(i+1));
//      }
//      else if (poleRaNutPrecCoefs[i] > 0.0 ) {
//        tmp.append(tr(" + %1%2%3").arg(poleRaNutPrecCoefs[i]).arg("sin %1").arg(coefLetter)
//                                  .arg(i+1));
//      }
//    }

//    poleRaString.append(tmp);

//    return poleRaString;
//  }


//  QString SensorInfoWidget::formatPoleDecString() {
//    std::vector<double> poleDecCoefs = m_target->poleDecCoefs();
//    std::vector<double> poleDecNutPrecCoefs = m_target->poleDecNutPrecCoefs();

//    const QChar degChar(0260);
//    QString poleDecString = "";
//    QString coefLetter = m_target->naifPlanetSystemName().at(0);

//    if (poleDecCoefs[1] < 0.0 )
//      poleDecString.append(tr("%1%3 - %2T").arg(poleDecCoefs[0]).arg(-poleDecCoefs[1])
//                                           .arg(degChar));
//    else
//      poleDecString.append(tr("%1%3 + %2T").arg(poleDecCoefs[0]).arg(poleDecCoefs[1]).arg(degChar));

//    QString tmp;
//    int nCoefs = poleDecNutPrecCoefs.size();;
//    for (int i = 0; i < nCoefs; i++) {
//      if (poleDecNutPrecCoefs[i] < 0.0 ) {
//        tmp.append(tr(" - %1%2%3").arg(-poleDecNutPrecCoefs[i]).arg("cos %1").arg(coefLetter)
//                                  .arg(i+1));
//      }
//      else if (poleDecNutPrecCoefs[i] > 0.0 ) {
//        tmp.append(tr(" + %1%2%3").arg(poleDecNutPrecCoefs[i]).arg("cos %1").arg(coefLetter)
//                                  .arg(i+1));
//      }
//    }

//    poleDecString.append(tmp);

//    return poleDecString;
//  }


//  QString SensorInfoWidget::formatPmString() {
//    std::vector<double> pmCoefs = m_target->pmCoefs();
//    std::vector<double> pmNutPrecCoefs = m_target->pmNutPrecCoefs();

//    const QChar degChar(0260);
//    QString pmString = "";
//    QString coefLetter = m_target->naifPlanetSystemName().at(0);

//    if (pmCoefs[1] < 0.0 )
//      pmString.append(tr("%1%3 - %2d").arg(pmCoefs[0]).arg(-pmCoefs[1]).arg(degChar));
//    else if (pmCoefs[1] > 0.0 )
//      pmString.append(tr("%1%3 + %2d").arg(pmCoefs[0]).arg(pmCoefs[1]).arg(degChar));

//    if (pmCoefs[2] < 0.0 )
//      pmString.append(tr(" - %2d^2").arg(-pmCoefs[2]));
//    else if (pmCoefs[2] > 0.0 )
//      pmString.append(tr(" + %2d^2").arg(pmCoefs[2]));


//    QString tmp;
//    for (int i = 0; i < pmNutPrecCoefs.size(); i++) {
//      if (pmNutPrecCoefs[i] < 0.0 ) {
//        tmp.append(tr(" - %1%2%3").arg(-pmNutPrecCoefs[i]).arg("sin %1").arg(coefLetter).arg(i+1));
//      }
//      else if (pmNutPrecCoefs[i] > 0.0 ) {
//        tmp.append(tr(" + %1%2%3").arg(pmNutPrecCoefs[i]).arg("sin %1").arg(coefLetter).arg(i+1));
//      }
//    }

//    pmString.append(tmp);

//    return pmString;
//  }
}
+45 −0
Original line number Diff line number Diff line
#ifndef SensorInfoWidget_H
#define SensorInfoWidget_H

#include <QFrame>
#include <QString>

namespace Ui {
  class SensorInfoWidget;
}

namespace Isis {
  class Directory;

  /**
   * @brief
   *
   * @ingroup ControlNetworks
   *
   * @author 2015-07-10 Ken Edmundson
   *
   * @internal
   *   @history 2015-07-10 Ken Edmundson - Original version.
   */
  class GuiCamera;

  class SensorInfoWidget : public QFrame {
    Q_OBJECT

    public:
      explicit SensorInfoWidget(GuiCamera* camera, Directory *directory, QWidget *parent = 0);
      ~SensorInfoWidget();

    private:
      Ui::SensorInfoWidget *m_ui;

//      QString formatPoleRaString();
//      QString formatPoleDecString();
//      QString formatPmString();

      Directory *m_directory;
      GuiCamera *m_camera;
  };
}

#endif // SensorInfoWidget_H
Loading