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

JPLEphOrbit Class Reference

Inheritance diagram for JPLEphOrbit:

Inheritance graph
Collaboration diagram for JPLEphOrbit:

Collaboration graph
List of all members.

Public Member Functions

Point3d computePosition (double jd) const
double getBoundingRadius () const
double getPeriod () const
 JPLEphOrbit (const JPLEphemeris &e, JPLEphemItem item, double _period, double _boundingRadius)

Private Attributes

JPLEphemItem body
double boundingRadius
const JPLEphemerisephem
double period

Constructor & Destructor Documentation

JPLEphOrbit::JPLEphOrbit const JPLEphemeris e,
JPLEphemItem  item,
double  _period,
double  _boundingRadius
[inline]
 

Definition at line 2700 of file customorbit.cpp.

02701                                                         :
02702         ephem(e),
02703         body(item),
02704         period(_period),
02705         boundingRadius(_boundingRadius)
02706     {
02707     };


Member Function Documentation

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

Implements CachingOrbit.

Definition at line 2719 of file customorbit.cpp.

References degToRad(), JPLEph_Sun, Point3< T >::x, Matrix3< T >::xrotation(), Point3< T >::y, and Point3< T >::z.

02720     {
02721         Point3d baryPos = ephem.getPlanetPosition(body, jd);
02722 
02723         // Convert from solar system barycentric position to heliocentric
02724         // position.
02725         Point3d sunPos = ephem.getPlanetPosition(JPLEph_Sun, jd);
02726         Point3d heliocentricPos = Point3d(0.0, 0.0, 0.0) + (baryPos - sunPos);
02727 
02728         // Rotate from the J2000 mean equator to the ecliptic
02729         // 23 deg 26' 21".448
02730         double J2000_equator = degToRad(23.4392911);
02731         heliocentricPos = heliocentricPos * Mat3d::xrotation(J2000_equator);
02732 
02733         return Point3d(heliocentricPos.x,
02734                        heliocentricPos.z,
02735                        -heliocentricPos.y);
02736     }

double JPLEphOrbit::getBoundingRadius  )  const [inline, virtual]
 

Implements CachingOrbit.

Definition at line 2714 of file customorbit.cpp.

02715     {
02716         return boundingRadius;
02717     }

double JPLEphOrbit::getPeriod  )  const [inline, virtual]
 

Implements CachingOrbit.

Definition at line 2709 of file customorbit.cpp.

02710     {
02711         return period;
02712     }


Member Data Documentation

JPLEphemItem JPLEphOrbit::body [private]
 

Definition at line 2740 of file customorbit.cpp.

double JPLEphOrbit::boundingRadius [private]
 

Definition at line 2742 of file customorbit.cpp.

const JPLEphemeris& JPLEphOrbit::ephem [private]
 

Definition at line 2739 of file customorbit.cpp.

double JPLEphOrbit::period [private]
 

Definition at line 2741 of file customorbit.cpp.


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