| Line |  | 
|---|
| 1 | #ifndef __SATLIB_H | 
|---|
| 2 | #define __SATLIB_H | 
|---|
| 3 |  | 
|---|
| 4 | /* $Id: satlib.h,v 1.5 2005-08-21 10:02: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: 2005-08-21 10:02:39 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $ | 
|---|
| 206 | */ | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.