| Rev | Line |  | 
|---|
| [1457] | 1 | #ifndef __SATLIB_H | 
|---|
|  | 2 | #define __SATLIB_H | 
|---|
|  | 3 |  | 
|---|
| [2818] | 4 | /* $Id: satlib.h,v 1.5 2005-08-21 10:02:39 cmv Exp $ */ | 
|---|
| [1457] | 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 | 
|---|
| [2818] | 205 | * @(#) $RCSfile: satlib.h,v $ $Date: 2005-08-21 10:02:39 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $ | 
|---|
| [1457] | 206 | */ | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.