Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

RheaOrbit Class Reference

Inheritance diagram for RheaOrbit:

Inheritance graph
Collaboration diagram for RheaOrbit:

Collaboration graph
List of all members.

Private Member Functions

Point3d computePosition (double jd) const
double getBoundingRadius () const
double getPeriod () const

Member Function Documentation

Point3d RheaOrbit::computePosition double  jd  )  const [inline, private, virtual]
 

Implements CachingOrbit.

Definition at line 2139 of file customorbit.cpp.

References ComputeSaturnianElements(), cosD(), N, OuterSaturnMoonParams(), radToDeg(), SaturnMoonPosition(), sinD(), sqrt(), and square().

02140     {
02141         // Computation will yield latitude(L), longitude(B) and distance(R)
02142         // relative to Saturn.
02143         double t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11;
02144         double W0, W1, W2, W3, W4, W5, W6, W7, W8;
02145 
02146         ComputeSaturnianElements(jd,
02147                                  t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11,
02148                                  W0, W1, W2, W3, W4, W5, W6, W7, W8);
02149         double e1 = 0.05589 - 0.000346 * t7;
02150 
02151         double p_ = 342.7 + 10.057 * t2;
02152         double a1 = 0.000265 * sinD(p_) + 0.01 * sinD(W4);
02153         double a2 = 0.000265 * cosD(p_) + 0.01 * cosD(W4);
02154         double e = sqrt(square(a1) + square(a2));
02155         double p = radToDeg(atan2(a1, a2));
02156         double N = 345 - 10.057 * t2;
02157         double lam_ = 359.244 + 79.69004720 * t1 + 0.086754 * sinD(N);
02158         double i = 28.0362 + 0.346898 * cosD(N) + 0.01930 * cosD(W3);
02159         double Om = 168.8034 + 0.736936 * sinD(N) + 0.041 * sinD(W3);
02160         double a = 8.725924;
02161 
02162         double lam, gam, r, w;
02163         OuterSaturnMoonParams(a, e, i, Om, lam_ - p, lam_,
02164                               lam, gam, r, w);
02165         // cout << "Rhea (intermediate): " << e << ',' << pfmod(lam_, 360.0) << ',' << pfmod(i, 360.0) << ',' << pfmod(Om, 360.0) << '\n';
02166         // cout << "Rhea: " << pfmod(lam, 360.0) << ',' << gam << ',' << pfmod(w, 360.0) << ',' << r << '\n';
02167 
02168         return SaturnMoonPosition(lam, gam, w, r);
02169     };

double RheaOrbit::getBoundingRadius  )  const [inline, private, virtual]
 

Implements CachingOrbit.

Definition at line 2176 of file customorbit.cpp.

References BoundingRadiusSlack.

02177     {
02178         return 528000 * BoundingRadiusSlack;
02179     };

double RheaOrbit::getPeriod  )  const [inline, private, virtual]
 

Implements CachingOrbit.

Definition at line 2171 of file customorbit.cpp.

02172     {
02173         return 4.517500;
02174     };


The documentation for this class was generated from the following file:
Generated on Sat Jan 14 22:33:34 2006 for Celestia by  doxygen 1.4.1