Form::Form(QWidget*parent) :QWidget(parent)//,ui(new Ui::Form) { #ifdef DEBUG setWindowTitle("DEBUG_MODE"); #else setGeometry(0,0,480,272); setWindowFlags(Qt::Popup);// убираем окно состояния setFixedSize(480,272); #endif ui.setupUi(this); ui.comboBox_menu->setFocus(); connect(ui.comboBox_menu,SIGNAL(currentIndexChanged(QString )),this,SLOT(generator()));//выбор главного меню connect(ui.comboBox_settings_param,SIGNAL(currentIndexChanged(QString )),this,SLOT(parametri()));//выбор параметры connect(ui.comboBox_settings_extParam,SIGNAL(currentIndexChanged(QString)),this,SLOT(dop_nastr()));// выбор доп.параметров connect(ui.comboBox_settings_timeSet,SIGNAL(currentIndexChanged(QString)),this,SLOT(date()));//выбор дата/время connect(ui.comboBox_settings_2chann,SIGNAL(currentIndexChanged(QString)),this,SLOT(channel_kanal()));//выбор параметров канала //connect(ui.comboBox_settings_2chann_2,SIGNAL(currentIndexChanged(QString)),this,SLOT(change_language()));//выбор языка connect(ui.pushButton,SIGNAL(clicked()),this,SLOT(priemnik())); connect(ui.pushButton_resiever_settings,SIGNAL(clicked()),this,SLOT(vrc())); connect(ui.pushButton_Graph_on,SIGNAL(clicked()),this,SLOT(graph_on())); connect(ui.pushButton_Graph_off,SIGNAL(clicked()),this,SLOT(graph_off())); ui.page_3->setHidden(true); ui.page_2->setHidden(true); ui.page_4->setHidden(true); ui.page_5->setHidden(true); ui.page_6->setHidden(true); ui.page_7->setHidden(true); ui.page_8->setHidden(true); ui.page_10->setHidden(true); ui.page_15->setHidden(true); ui.page->setShown(true); ui.page_16->setHidden(true); ui.page_11->setHidden(true); ui.page_9->setHidden(true); ui.page_10->setHidden(true); ui.customPlot->setHidden(true);//GRAPH }
/* compute sky circumstances of an object in heliocentric hyperbolic orbit. */ static int obj_hyperbolic (Now *np, Obj *op) { double lsn, rsn; /* true geoc lng of sun; dist from sn to earth*/ double dt; /* light travel time to object */ double lg; /* helio long of earth */ double nu; /* true anomaly and eccentric anomaly */ double rp=0; /* distance from the sun */ double lo, slo, clo; /* angle from ascending node */ double inc; /* inclination */ double psi=0; /* heliocentric latitude */ double spsi=0, cpsi=0; /* trig of heliocentric latitude */ double lpd; /* heliocentric longitude */ double rho=0; /* distance from the Earth */ double om; /* arg of perihelion */ double Om; /* long of ascending node. */ double lam; /* geocentric ecliptic longitude */ double bet; /* geocentric ecliptic latitude */ double e; /* fast eccentricity */ double ll=0, sll, cll; /* helio angle between object and earth */ double mag; /* magnitude */ double a; /* mean distance */ double tp; /* time from perihelion (days) */ double rpd=0; double y; int pass; /* find solar ecliptical longitude and distance to sun from earth */ sunpos (mjed, &lsn, &rsn, 0); lg = lsn + PI; e = op->h_e; a = op->h_qp/(e - 1.0); /* correct for light time by computing position at time mjd, then * again at mjd-dt, where * dt = time it takes light to travel earth-object distance. */ dt = 0; for (pass = 0; pass < 2; pass++) { reduce_elements (op->h_epoch, mjd-dt, degrad(op->h_inc), degrad (op->h_om), degrad (op->h_Om), &inc, &om, &Om); tp = mjed - dt - op->h_ep; if (vrc (&nu, &rp, tp, op->h_e, op->h_qp) < 0) op->o_flags |= NOCIRCUM; nu = degrad(nu); lo = nu + om; slo = sin(lo); clo = cos(lo); spsi = slo*sin(inc); y = slo*cos(inc); psi = asin(spsi); lpd = atan(y/clo)+Om; if (clo<0) lpd += PI; range (&lpd, 2*PI); cpsi = cos(psi); rpd = rp*cpsi; ll = lpd-lg; rho = sqrt(rsn*rsn+rp*rp-2*rsn*rp*cpsi*cos(ll)); dt = rho*5.775518e-3; /* light travel time, in days */ } /* compute sin and cos of ll */ sll = sin(ll); cll = cos(ll); /* find geocentric ecliptic longitude and latitude */ if (rpd < rsn) lam = atan(-1*rpd*sll/(rsn-rpd*cll))+lg+PI; else lam = atan(rsn*sll/(rpd-rsn*cll))+lpd; range (&lam, 2*PI); bet = atan(rpd*spsi*sin(lam-lpd)/(cpsi*rsn*sll)); /* fill in all of op->s_* stuff except s_size and s_mag */ cir_sky (np, lpd, psi, rp, &rho, lam, bet, lsn, rsn, op); /* compute magnitude and size */ gk_mag (op->h_g, op->h_k, rp, rho, &mag); set_smag (op, mag); op->s_size = (float)(op->h_size / rho); return (0); }
/* compute sky circumstances of an object in heliocentric elliptic orbit at *np. */ static int obj_elliptical (Now *np, Obj *op) { double lsn, rsn; /* true geoc lng of sun; dist from sn to earth*/ double dt; /* light travel time to object */ double lg; /* helio long of earth */ double nu; /* true anomaly */ double rp=0; /* distance from the sun */ double lo, slo, clo; /* angle from ascending node */ double inc; /* inclination */ double psi=0; /* heliocentric latitude */ double spsi=0, cpsi=0; /* trig of heliocentric latitude */ double lpd; /* heliocentric longitude */ double rho=0; /* distance from the Earth */ double om; /* arg of perihelion */ double Om; /* long of ascending node. */ double lam; /* geocentric ecliptic longitude */ double bet; /* geocentric ecliptic latitude */ double ll=0, sll, cll; /* helio angle between object and earth */ double mag; /* magnitude */ double e_n; /* mean daily motion */ double tp; /* time from perihelion (days) */ double rpd=0; double y; int pass; /* find location of earth from sun now */ sunpos (mjed, &lsn, &rsn, 0); lg = lsn + PI; /* mean daily motion is derived fro mean distance */ e_n = 0.9856076686/pow((double)op->e_a, 1.5); /* correct for light time by computing position at time mjd, then * again at mjd-dt, where * dt = time it takes light to travel earth-object distance. */ dt = 0; for (pass = 0; pass < 2; pass++) { reduce_elements (op->e_epoch, mjd-dt, degrad(op->e_inc), degrad (op->e_om), degrad (op->e_Om), &inc, &om, &Om); tp = mjed - dt - (op->e_cepoch - op->e_M/e_n); if (vrc (&nu, &rp, tp, op->e_e, op->e_a*(1-op->e_e)) < 0) op->o_flags |= NOCIRCUM; nu = degrad(nu); lo = nu + om; slo = sin(lo); clo = cos(lo); spsi = slo*sin(inc); y = slo*cos(inc); psi = asin(spsi); lpd = atan(y/clo)+Om; if (clo<0) lpd += PI; range (&lpd, 2*PI); cpsi = cos(psi); rpd = rp*cpsi; ll = lpd-lg; rho = sqrt(rsn*rsn+rp*rp-2*rsn*rp*cpsi*cos(ll)); printf("\nrho from sqrt(): %f\n", rho); dt = rho*LTAU/3600.0/24.0; /* light travel time, in days / AU */ } /* compute sin and cos of ll */ sll = sin(ll); cll = cos(ll); /* find geocentric ecliptic longitude and latitude */ if (rpd < rsn) lam = atan(-1*rpd*sll/(rsn-rpd*cll))+lg+PI; else lam = atan(rsn*sll/(rpd-rsn*cll))+lpd; range (&lam, 2*PI); bet = atan(rpd*spsi*sin(lam-lpd)/(cpsi*rsn*sll)); /* fill in all of op->s_* stuff except s_size and s_mag */ rho; cir_sky (np, lpd, psi, rp, &rho, lam, bet, lsn, rsn, op); /* compute magnitude and size */ if (op->e_mag.whichm == MAG_HG) { /* the H and G parameters from the Astro. Almanac. */ hg_mag (op->e_mag.m1, op->e_mag.m2, rp, rho, rsn, &mag); if (op->e_size) op->s_size = (float)(op->e_size / rho); else op->s_size = (float)(h_albsize (op->e_mag.m1)/rho); } else { /* the g/k model of comets */ gk_mag (op->e_mag.m1, op->e_mag.m2, rp, rho, &mag); op->s_size = (float)(op->e_size / rho); } set_smag (op, mag); return (0); }