1 #include "TargetInfoWidget.h" 
    2 #include "ui_TargetInfoWidget.h" 
    8 #include "SpiceRotation.h" 
    9 #include "TargetBody.h" 
   10 #include "TargetBodyDisplayProperties.h" 
   32     if (name.compare(
"MOON") == 0) {
 
   33       image.load(
FileName(
"$ISISROOT/appdata/images/targets/nasa_moon_large.png").expanded());
 
   34       setWindowIcon(QIcon(
FileName(
"$ISISROOT/appdata/images/icons/weather-clear-night.png")
 
   37     else if (name.compare(
"Enceladus") == 0) {
 
   38       image.load(
FileName(
"$ISISROOT/appdata/images/targets/nasa_enceladus_saturn.png").expanded());
 
   39       setWindowIcon(QIcon(
FileName(
"$ISISROOT/appdata/images/icons/nasa_enceladus.png").expanded()));
 
   41     else if (name.compare(
"Europa") == 0) {
 
   42       image.load(
FileName(
"$ISISROOT/appdata/images/targets/nasa_europa_large.png").expanded());
 
   43       setWindowIcon(QIcon(
FileName(
"$ISISROOT/appdata/images/icons/nasa_europa.png").expanded()));
 
   45     else if (name.compare(
"Mars") == 0) {
 
   46       image.load(
FileName(
"$ISISROOT/appdata/images/targets/nasa_mars_large.png").expanded());
 
   47       setWindowIcon(QIcon(
FileName(
"$ISISROOT/appdata/images/icons/nasa_mars.png").expanded()));
 
   49     else if (name.compare(
"Titan") == 0) {
 
   50       image.load(
FileName(
"$ISISROOT/appdata/images/targets/nasa_titan_large.png").expanded());
 
   51       setWindowIcon(QIcon(
FileName(
"$ISISROOT/appdata/images/icons/nasa_titan.png").expanded()));
 
   56     setMinimumWidth(
m_ui->tabWidget->minimumWidth()+20);
 
   58     m_ui->targetImage->setPixmap(image);
 
   60     setFrameStyle(QFrame::Panel | QFrame::Sunken);
 
   63     m_ui->tabWidget->setCurrentIndex(0);
 
   66       m_ui->poleRightAscensionLabel->hide();
 
   67       m_ui->poleDeclinationLabel->hide();
 
   68       m_ui->polePMOffsetLabel->hide();
 
   98     QString poleRaString = 
"";
 
  106       const QChar degChar(0260);
 
  109       if (poleRaCoefs[1].degrees() < 0.0 ) {
 
  110         poleRaString.append(tr(
"%1%3 - %2T").arg(poleRaCoefs[0].degrees()).arg(-poleRaCoefs[1]
 
  111           .degrees()).arg(degChar));
 
  114         poleRaString.append(tr(
"%1%3 + %2T").arg(poleRaCoefs[0].degrees()).arg(poleRaCoefs[1]
 
  115           .degrees()).arg(degChar));
 
  119       int nCoefs = poleRaNutPrecCoefs.size();;
 
  120       for (
int i = 0; i < nCoefs; i++) {
 
  121         if (poleRaNutPrecCoefs[i] < 0.0 ) {
 
  122           tmp.append(tr(
" - %1%2%3").arg(-poleRaNutPrecCoefs[i]).arg(
"sin %1").arg(coefLetter)
 
  125         else if (poleRaNutPrecCoefs[i] > 0.0 ) {
 
  126           tmp.append(tr(
" + %1%2%3").arg(poleRaNutPrecCoefs[i]).arg(
"sin %1").arg(coefLetter)
 
  131       poleRaString.append(tmp);
 
  153     QString poleDecString = 
"";
 
  161       const QChar degChar(0260);
 
  165       if (poleDecCoefs[1].degrees() < 0.0 ) {
 
  166         poleDecString.append(tr(
"%1%3 - %2T").arg(poleDecCoefs[0].degrees()).arg(-poleDecCoefs[1]
 
  167           .degrees()).arg(degChar));
 
  170         poleDecString.append(tr(
"%1%3 + %2T").arg(poleDecCoefs[0].degrees()).arg(poleDecCoefs[1]
 
  171           .degrees()).arg(degChar));
 
  175       int nCoefs = poleDecNutPrecCoefs.size();
 
  177       for (
int i = 0; i < nCoefs; i++) {
 
  178         if (poleDecNutPrecCoefs[i] < 0.0 ) {
 
  179           tmp.append(tr(
" - %1%2%3").arg(-poleDecNutPrecCoefs[i]).arg(
"cos %1").arg(coefLetter)
 
  182         else if (poleDecNutPrecCoefs[i] > 0.0 ) {
 
  183           tmp.append(tr(
" + %1%2%3").arg(poleDecNutPrecCoefs[i]).arg(
"cos %1").arg(coefLetter)
 
  188       poleDecString.append(tmp);
 
  189       return poleDecString;
 
  195           return poleDecString;
 
  208     QString pmString = 
"";
 
  217       const QChar degChar(0260);
 
  221       if (pmCoefs[1].degrees() < 0.0 ) {
 
  222         pmString.append(tr(
"%1%3 - %2d").arg(pmCoefs[0].degrees()).arg(-pmCoefs[1].degrees())
 
  225       else if (pmCoefs[1].degrees() > 0.0 ) {
 
  226         pmString.append(tr(
"%1%3 + %2d").arg(pmCoefs[0].degrees()).arg(pmCoefs[1].degrees())
 
  230       if (pmCoefs[2].degrees() < 0.0 ) {
 
  231         pmString.append(tr(
" - %2d^2").arg(-pmCoefs[2].degrees()));
 
  233       else if (pmCoefs[2].degrees() > 0.0 ) {
 
  234         pmString.append(tr(
" + %2d^2").arg(pmCoefs[2].degrees()));
 
  238       int nCoefs = pmNutPrecCoefs.size();
 
  240       for (
int i = 0; i < nCoefs; i++) {
 
  241         if (pmNutPrecCoefs[i] < 0.0 ) {
 
  242           tmp.append(tr(
" - %1%2%3").arg(-pmNutPrecCoefs[i]).arg(
"sin %1").arg(coefLetter).arg(i+1));
 
  244         else if (pmNutPrecCoefs[i] > 0.0 ) {
 
  245           tmp.append(tr(
" + %1%2%3").arg(pmNutPrecCoefs[i]).arg(
"sin %1").arg(coefLetter).arg(i+1));
 
  249       pmString.append(tmp);
 
  270     font.setPointSize(9);
 
  273     m_ui->label->setFont(font);
 
  274     m_ui->label_6->setFont(font);
 
  279     m_ui->label->setFont(font);
 
  280     m_ui->label_6->setFont(font);
 
  281     m_ui->label_2->clear();
 
  284       msg1 = 
"Target body parameters cannot be solved for the Moon.";
 
  287               msg2 = 
"Target body information\n" 
  288                        "is not on the cube labels.\n" 
  289                        "This has no impact on most\n" 
  290                        "operations.  However, to view\n" 
  291                        "or bundle adjust the target body\n" 
  292                        "parameters you will need to rerun\n" 
  295               m_ui->label->setText(
 
  296                     QApplication::translate(
"TargetInfoWidget",
 
  297                                             msg2.toLatin1().data(), 0));
 
  298               m_ui->label_6->setText(
 
  299                     QApplication::translate(
"TargetInfoWidget",
 
  300                                             msg2.toLatin1().data(), 0));