| 
            Last change
 on this file since 3891 was             3654, checked in by cmv, 16 years ago           | 
        
        
          | 
             
mise a niveau Xephem 3.7.4, cmv 16/07/2009 
 
           | 
        
        
          | 
            File size:
            4.4 KB
           | 
        
      
      
| Line |   | 
|---|
| 1 | #ifndef __SATLIB_H
 | 
|---|
| 2 | #define __SATLIB_H
 | 
|---|
| 3 | 
 | 
|---|
| 4 | /* $Id: satlib.h,v 1.8 2009-07-16 10:34:39 cmv Exp $ */
 | 
|---|
| 5 | 
 | 
|---|
| 6 | typedef struct _SatElem {
 | 
|---|
| 7 |     float  se_XMO;
 | 
|---|
| 8 |     float  se_XNODEO;
 | 
|---|
| 9 |     float  se_OMEGAO;
 | 
|---|
| 10 |     float  se_EO;
 | 
|---|
| 11 |     float  se_XINCL;
 | 
|---|
| 12 |     float  se_XNDD60;
 | 
|---|
| 13 |     float  se_BSTAR;
 | 
|---|
| 14 |     float  pad1;
 | 
|---|
| 15 |     double se_XNO;
 | 
|---|
| 16 |     double se_XNDT20;
 | 
|---|
| 17 |     double se_EPOCH;
 | 
|---|
| 18 |     struct {
 | 
|---|
| 19 |         unsigned int catno      : 21;
 | 
|---|
| 20 |         unsigned int classif    : 5;
 | 
|---|
| 21 |         unsigned int elnum      : 10;
 | 
|---|
| 22 |         unsigned int year       : 14;
 | 
|---|
| 23 |         unsigned int launch     : 10;
 | 
|---|
| 24 |         unsigned int piece      : 15;
 | 
|---|
| 25 |         unsigned int ephtype    : 4;
 | 
|---|
| 26 |         unsigned int orbit      : 17;
 | 
|---|
| 27 |     } se_id;
 | 
|---|
| 28 | } SatElem;
 | 
|---|
| 29 | 
 | 
|---|
| 30 | #if 0
 | 
|---|
| 31 | struct sat_loc {
 | 
|---|
| 32 |     double sl_X;
 | 
|---|
| 33 |     double sl_XDOT;
 | 
|---|
| 34 |     double sl_Y;
 | 
|---|
| 35 |     double sl_YDOT;
 | 
|---|
| 36 |     double sl_Z;
 | 
|---|
| 37 |     double sl_ZDOT;
 | 
|---|
| 38 | };
 | 
|---|
| 39 | #endif
 | 
|---|
| 40 | 
 | 
|---|
| 41 | struct sgp4_data {
 | 
|---|
| 42 |     unsigned int sgp4_flags;
 | 
|---|
| 43 |     unsigned int pad;
 | 
|---|
| 44 |     double sgp4_AODP;
 | 
|---|
| 45 |     double sgp4_AYCOF;
 | 
|---|
| 46 |     double sgp4_C1;
 | 
|---|
| 47 |     double sgp4_C4;
 | 
|---|
| 48 |     double sgp4_C5;
 | 
|---|
| 49 |     double sgp4_COSIO;
 | 
|---|
| 50 |     double sgp4_D2;
 | 
|---|
| 51 |     double sgp4_D3;
 | 
|---|
| 52 |     double sgp4_D4;
 | 
|---|
| 53 |     double sgp4_DELMO;
 | 
|---|
| 54 |     double sgp4_ETA;
 | 
|---|
| 55 |     double sgp4_OMGCOF;
 | 
|---|
| 56 |     double sgp4_OMGDOT;
 | 
|---|
| 57 |     double sgp4_SINIO;
 | 
|---|
| 58 |     double sgp4_SINMO;
 | 
|---|
| 59 |     double sgp4_T2COF;
 | 
|---|
| 60 |     double sgp4_T3COF;
 | 
|---|
| 61 |     double sgp4_T4COF;
 | 
|---|
| 62 |     double sgp4_T5COF;
 | 
|---|
| 63 |     double sgp4_X1MTH2;
 | 
|---|
| 64 |     double sgp4_X3THM1;
 | 
|---|
| 65 |     double sgp4_X7THM1;
 | 
|---|
| 66 |     double sgp4_XLCOF;
 | 
|---|
| 67 |     double sgp4_XMCOF;
 | 
|---|
| 68 |     double sgp4_XMDOT;
 | 
|---|
| 69 |     double sgp4_XNODCF;
 | 
|---|
| 70 |     double sgp4_XNODOT;
 | 
|---|
| 71 |     double sgp4_XNODP;
 | 
|---|
| 72 | };
 | 
|---|
| 73 | 
 | 
|---|
| 74 | struct deep_data {
 | 
|---|
| 75 |     struct {
 | 
|---|
| 76 |         unsigned int IRESFL : 1;
 | 
|---|
| 77 |         unsigned int ISYNFL : 1;
 | 
|---|
| 78 |     } deep_flags;
 | 
|---|
| 79 |     double deep_s_SINIQ;
 | 
|---|
| 80 |     double deep_s_COSIQ;
 | 
|---|
| 81 |     double deep_s_OMGDT;
 | 
|---|
| 82 |     double deep_ATIME;
 | 
|---|
| 83 |     double deep_D2201;
 | 
|---|
| 84 |     double deep_D2211;
 | 
|---|
| 85 |     double deep_D3210;
 | 
|---|
| 86 |     double deep_D3222;
 | 
|---|
| 87 |     double deep_D4410;
 | 
|---|
| 88 |     double deep_D4422;
 | 
|---|
| 89 |     double deep_D5220;
 | 
|---|
| 90 |     double deep_D5232;
 | 
|---|
| 91 |     double deep_D5421;
 | 
|---|
| 92 |     double deep_D5433;
 | 
|---|
| 93 |     double deep_DEL1;
 | 
|---|
| 94 |     double deep_DEL2;
 | 
|---|
| 95 |     double deep_DEL3;
 | 
|---|
| 96 |     double deep_E3;
 | 
|---|
| 97 |     double deep_EE2;
 | 
|---|
| 98 |     double deep_FASX2;
 | 
|---|
| 99 |     double deep_FASX4;
 | 
|---|
| 100 |     double deep_FASX6;
 | 
|---|
| 101 |     double deep_OMEGAQ;
 | 
|---|
| 102 |     double deep_PE;
 | 
|---|
| 103 |     double deep_PINC;
 | 
|---|
| 104 |     double deep_PL;
 | 
|---|
| 105 |     double deep_SAVTSN;
 | 
|---|
| 106 |     double deep_SE2;
 | 
|---|
| 107 |     double deep_SE3;
 | 
|---|
| 108 |     double deep_SGH2;
 | 
|---|
| 109 |     double deep_SGH3;
 | 
|---|
| 110 |     double deep_SGH4;
 | 
|---|
| 111 |     double deep_SGHL;
 | 
|---|
| 112 |     double deep_SGHS;
 | 
|---|
| 113 |     double deep_SH2;
 | 
|---|
| 114 |     double deep_SH3;
 | 
|---|
| 115 |     double deep_SHS;
 | 
|---|
| 116 |     double deep_SHL;
 | 
|---|
| 117 |     double deep_SI2;
 | 
|---|
| 118 |     double deep_SI3;
 | 
|---|
| 119 |     double deep_SL2;
 | 
|---|
| 120 |     double deep_SL3;
 | 
|---|
| 121 |     double deep_SL4;
 | 
|---|
| 122 |     double deep_SSE;
 | 
|---|
| 123 |     double deep_SSG;
 | 
|---|
| 124 |     double deep_SSH;
 | 
|---|
| 125 |     double deep_SSI;
 | 
|---|
| 126 |     double deep_SSL;
 | 
|---|
| 127 |     double deep_STEP2;
 | 
|---|
| 128 |     double deep_STEPN;
 | 
|---|
| 129 |     double deep_STEPP;
 | 
|---|
| 130 |     double deep_THGR;
 | 
|---|
| 131 |     double deep_XFACT;
 | 
|---|
| 132 |     double deep_XGH2;
 | 
|---|
| 133 |     double deep_XGH3;
 | 
|---|
| 134 |     double deep_XGH4;
 | 
|---|
| 135 |     double deep_XH2;
 | 
|---|
| 136 |     double deep_XH3;
 | 
|---|
| 137 |     double deep_XI2;
 | 
|---|
| 138 |     double deep_XI3;
 | 
|---|
| 139 |     double deep_XL2;
 | 
|---|
| 140 |     double deep_XL3;
 | 
|---|
| 141 |     double deep_XL4;
 | 
|---|
| 142 |     double deep_XLAMO;
 | 
|---|
| 143 |     double deep_XLI;
 | 
|---|
| 144 |     double deep_XNI;
 | 
|---|
| 145 |     double deep_XNQ;
 | 
|---|
| 146 |     double deep_XQNCL;
 | 
|---|
| 147 |     double deep_ZMOL;
 | 
|---|
| 148 |     double deep_ZMOS;
 | 
|---|
| 149 | };
 | 
|---|
| 150 | 
 | 
|---|
| 151 | struct sdp4_data {
 | 
|---|
| 152 |     double sdp4_AODP;   /* dpa */
 | 
|---|
| 153 |     double sdp4_AYCOF;
 | 
|---|
| 154 |     double sdp4_BETAO;  /* dpa */
 | 
|---|
| 155 |     double sdp4_BETAO2; /* dpa */
 | 
|---|
| 156 |     double sdp4_C1;
 | 
|---|
| 157 |     double sdp4_C4;
 | 
|---|
| 158 |     double sdp4_COSG;   /* dpa */
 | 
|---|
| 159 |     double sdp4_COSIO;  /* dpa */
 | 
|---|
| 160 |     double sdp4_EOSQ;   /* dpa */
 | 
|---|
| 161 |     double sdp4_OMGDOT; /* dpa */
 | 
|---|
| 162 |     double sdp4_SING;   /* dpa */
 | 
|---|
| 163 |     double sdp4_SINIO;  /* dpa */
 | 
|---|
| 164 |     double sdp4_T2COF;
 | 
|---|
| 165 |     double sdp4_THETA2; /* dpa */
 | 
|---|
| 166 |     double sdp4_X1MTH2;
 | 
|---|
| 167 |     double sdp4_X3THM1;
 | 
|---|
| 168 |     double sdp4_X7THM1;
 | 
|---|
| 169 |     double sdp4_XLCOF;
 | 
|---|
| 170 |     double sdp4_XMDOT;  /* dpa */
 | 
|---|
| 171 |     double sdp4_XNODCF;
 | 
|---|
| 172 |     double sdp4_XNODOT; /* dpa */
 | 
|---|
| 173 |     double sdp4_XNODP;  /* dpa */
 | 
|---|
| 174 | 
 | 
|---|
| 175 |     double sdp4_XMDF_seco;
 | 
|---|
| 176 |     double sdp4_OMGADF_seco;
 | 
|---|
| 177 |     double sdp4_XNODE_seco;
 | 
|---|
| 178 |     double sdp4_EM_seco;
 | 
|---|
| 179 |     double sdp4_XINC_seco;
 | 
|---|
| 180 |     double sdp4_XN_seco;
 | 
|---|
| 181 | 
 | 
|---|
| 182 |     double sdp4_E_pero;
 | 
|---|
| 183 |     double sdp4_XINC_pero;
 | 
|---|
| 184 |     double sdp4_OMGADF_pero;
 | 
|---|
| 185 |     double sdp4_XNODE_pero;
 | 
|---|
| 186 |     double sdp4_XMAM_pero;
 | 
|---|
| 187 | };
 | 
|---|
| 188 | 
 | 
|---|
| 189 | typedef struct _SatData {
 | 
|---|
| 190 |     struct _SatElem *elem;
 | 
|---|
| 191 |     union {
 | 
|---|
| 192 |         struct sgp4_data *sgp4;
 | 
|---|
| 193 |         struct sdp4_data *sdp4;
 | 
|---|
| 194 |     } prop;
 | 
|---|
| 195 |     struct deep_data *deep;
 | 
|---|
| 196 | } SatData;
 | 
|---|
| 197 | 
 | 
|---|
| 198 | void sgp4(SatData *sat, Vec3 *pos, Vec3 *dpos, double t);
 | 
|---|
| 199 | 
 | 
|---|
| 200 | void sdp4(SatData *sat, Vec3 *pos, Vec3 *dpos, double TSINCE);
 | 
|---|
| 201 | 
 | 
|---|
| 202 | #endif /* __SATLIB_H */
 | 
|---|
| 203 | 
 | 
|---|
| 204 | /* For RCS Only -- Do Not Edit
 | 
|---|
| 205 |  * @(#) $RCSfile: satlib.h,v $ $Date: 2009-07-16 10:34:39 $ $Revision: 1.8 $ $Name: not supported by cvs2svn $
 | 
|---|
| 206 |  */
 | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.