<- Simple Usage C++ API ->

.OSG File Directives

As discussed above, a simple file containing the entry

    osgEphemerisModel::EphemerisModel {
        Latitude 38.4765
        Longitude -122.493
        SkyDomeRadius 100000
    }
        
is sufficient to have a simple ephemeris model. A complete list of directives, which can be specified between the { and } brackets in the osgEphemeris::EphemerisModel definition, follows. Directives whose access value is set to D are dynamically changable at run-time. Directives whose access value is set to S are settable at initialization only.

Directive Description Type Units Range Default
Value
Access
Latitude The global latitude of the earthbound view position. double degrees -180.0 - 180.0 0.0 D
Longitude The global longitude of the earthbound view position. double degrees -90.0 - 90.0 0.0 D
DateTime The argument for the DateTime directive is a string of the form YYYYMMDDhhmmss where
  • YYYY indicates the year (e.g. 2006)
  • MM indicates the month (e.g. 09 for September)
  • DD indicates the day of the month,
  • hh indicates the hour (range 00 to 23)
  • mm indicates the minutes (range 00 to 59)
  • ss indicates seconds (range 00 to 59).

For example, the string

20060224162800
represents the 24th of February, 2006, at 4:28 PM. hh, mm, and ss are optional and will be set to 00 if omitted.
string     now D
SkyDomeRadius The SkyDome is a sphere that encompasses the scene, providing the color of the sky, horizon and a surface to which the sun texture is projected. This directive defines its size in the units of the database it will be encompassing by defining the radius of the sphere double <database>   <distance of earth to moon> S
SkyDomeCenter The SkyDome is a sphere that encompasses the scene, providing the color of the sky, horizon and a surface to which the sun texture is projected. This directive provides the center of the sphere in the units of the database it will be encompassing. This argument is required when a database is not "zero centered" (that is, centered at or near 0,0,0), even when MoveWithEyePoint is set to True. This is necessary to provide a useful database size and position for osg camera manipulators at init time. double[3] <database>   0,0,0 S
AutoDateTime Direct osgEphemeris to update the date and time to the current date and time as set on the computer. Setting this to False will allow the application to dynamically change the date and time. Setting it to True will cause dynamic changes to be ignored and the current date and time will be used. boolean True/False   True D
MoveWithEyePoint Direct osgEphemeris to move the skydome and all ephemeris components to be centered at the eyepoint at all times when set to True. If set to False, the ephemeris components will be centered around 0,0,0 and will not translate spatially. This is useful for debugging situations. boolean True/False   True S
UpdateCallback Provide osgEphemeris a callback compiled as a dynamically shared object, specified by <shared object>::<class name>. For example:
TimePasses::TimePassesCallback
where TimePasses is the dynamically shared object and TimePassesCallback is the class name of the callback.

This callback is derived from osgEphemeris::EphemerisUpdateCallback and provides a functor to which a pointer to EphemerisData is passed. The callback may then modify the EphemerisData, updating latitude, longitude, date and time.

See example following in section Dynamic Updates Using a Shared Object Callback.

Callback     NULL S


<- Simple Usage C++ API ->