Stellarium 0.11.1
Home · All Namespaces · All Classes · Functions · Coding Style · Scripting · Plugins · File Structure
Public Slots | Signals | Public Member Functions | Properties
StelMainScriptAPI Class Reference

#include <StelMainScriptAPI.hpp>

List of all members.

Public Slots

void setJDay (double JD)
double getJDay () const
void setDate (const QString &dt, const QString &spec="utc")
QString getDate (const QString &spec="utc")
void setTimeRate (double ts)
double getTimeRate () const
bool isRealTime ()
void setRealTime ()
void selectObjectByName (const QString &name, bool pointer=false)
QVariantMap getObjectPosition (const QString &name)
void clear (const QString &state="natural")
double getViewAltitudeAngle ()
double getViewAzimuthAngle ()
double getViewRaAngle ()
double getViewDecAngle ()
double getViewRaJ2000Angle ()
double getViewDecJ2000Angle ()
void moveToAltAzi (const QString &alt, const QString &azi, float duration=1.)
void moveToRaDec (const QString &ra, const QString &dec, float duration=1.)
void moveToRaDecJ2000 (const QString &ra, const QString &dec, float duration=1.)
void setObserverLocation (double longitude, double latitude, double altitude, double duration=1., const QString &name="", const QString &planet="")
void setObserverLocation (const QString id, float duration=1.)
QString getObserverLocation ()
void screenshot (const QString &prefix, bool invert=false, const QString &dir="")
void setGuiVisible (bool b)
void setMinFps (float m)
float getMinFps ()
void setMaxFps (float m)
float getMaxFps ()
QString getMountMode ()
void setMountMode (const QString &mode)
bool getNightMode ()
void setNightMode (bool b)
QString getProjectionMode ()
void setProjectionMode (const QString &id)
bool getDiskViewport ()
void setDiskViewport (bool b)
QStringList getAllSkyCultureIDs ()
QString getSkyCulture ()
void setSkyCulture (const QString &id)
bool getFlagGravityLabels ()
void setFlagGravityLabels (bool b)
void loadSkyImage (const QString &id, const QString &filename, double ra0, double dec0, double ra1, double dec1, double ra2, double dec2, double ra3, double dec3, double minRes=2.5, double maxBright=14, bool visible=true)
void loadSkyImage (const QString &id, const QString &filename, const QString &ra0, const QString &dec0, const QString &ra1, const QString &dec1, const QString &ra2, const QString &dec2, const QString &ra3, const QString &dec3, double minRes=2.5, double maxBright=14, bool visible=true)
void loadSkyImage (const QString &id, const QString &filename, double ra, double dec, double angSize, double rotation, double minRes=2.5, double maxBright=14, bool visible=true)
void loadSkyImage (const QString &id, const QString &filename, const QString &ra, const QString &dec, double angSize, double rotation, double minRes=2.5, double maxBright=14, bool visible=true)
void removeSkyImage (const QString &id)
void loadSound (const QString &filename, const QString &id)
void playSound (const QString &id)
void pauseSound (const QString &id)
void stopSound (const QString &id)
void dropSound (const QString &id)
int getScreenWidth ()
int getScreenHeight ()
double getScriptRate ()
void setScriptRate (double r)
void setSelectedObjectInfo (const QString &level)
void exit ()
void quitStellarium ()
void debug (const QString &s)
QString getAppLanguage ()
void setAppLanguage (QString langCode)
QString getSkyLanguage ()
void setSkyLanguage (QString langCode)
double jdFromDateString (const QString &dt, const QString &spec)

Signals

void requestLoadSkyImage (const QString &id, const QString &filename, double c1, double c2, double c3, double c4, double c5, double c6, double c7, double c8, double minRes, double maxBright, bool visible)
void requestRemoveSkyImage (const QString &id)
void requestLoadSound (const QString &filename, const QString &id)
void requestPlaySound (const QString &id)
void requestPauseSound (const QString &id)
void requestStopSound (const QString &id)
void requestDropSound (const QString &id)
void requestSetNightMode (bool b)
void requestSetProjectionMode (QString id)
void requestSetSkyCulture (QString id)
void requestSetDiskViewport (bool b)
void requestExit ()

Public Member Functions

 StelMainScriptAPI (QObject *parent=0)

Properties

double JDay
double timeSpeed

Detailed Description

Provide script API for Stellarium global functions.

Public slots in this class may be used in Stellarium scripts, and are accessed as member function to the "core" scripting object. Module-specific functions, such as setting and clearing of display flags (e.g. LandscapeMgr::setFlagAtmosphere) can be accessed directly via the scripting object with the class name, e.g. by using the scripting command: LandscapeMgr.setFlagAtmosphere(true);


Member Function Documentation

void StelMainScriptAPI::clear ( const QString &  state = "natural") [slot]

Clear the display options, setting a "standard" view.

Preset states:

  • natural : azimuthal mount, atmosphere, landscape, no lines, labels or markers
  • starchart : equatorial mount, constellation lines, no landscape, atmoshere etc. labels & markers on.
    Parameters:
    statethe name of a preset state.
void StelMainScriptAPI::debug ( const QString &  s) [slot]

print a debugging message to the console

Parameters:
sthe message to be displayed on the console.
void StelMainScriptAPI::dropSound ( const QString &  id) [slot]

Drop a sound from memory.

You should do this before the end of your script.

Parameters:
idthe identifier used when loadSound was called

Get a list of Sky Culture IDs.

Returns:
a list of valid sky culture IDs

Get the current application language.

Returns:
two letter language code, e.g. "en", or "de" and so on.
QString StelMainScriptAPI::getDate ( const QString &  spec = "utc") [slot]

get the simulation date and time as a string in ISO format, e.g.

"2008-03-24T13:21:01"

Parameters:
specif "utc", the returned string's timezone is UTC, else it is local time.
Returns:
the current simulation time.

Get the status of the disk viewport.

Returns:
true if the disk view port is currently enabled

Get the current status of the gravity labels option.

Returns:
true if gravity labels are enabled, else false
double StelMainScriptAPI::getJDay ( ) const [slot]

Get the current date in Julian Day.

Returns:
the Julian Date
float StelMainScriptAPI::getMaxFps ( ) [slot]

Get the current maximum frames per second.

Returns:
The current maximum frames per secon setting.
float StelMainScriptAPI::getMinFps ( ) [slot]

Get the current minimum frames per second.

Returns:
The current minimum frames per secon setting.
QString StelMainScriptAPI::getMountMode ( ) [slot]

Get the mount mode as a string.

Returns:
"equatorial" or "azimuthal"

Get the current status of Night Mode.

Returns:
true if night mode is currently set
QVariantMap StelMainScriptAPI::getObjectPosition ( const QString &  name) [slot]

Fetch a map with data about an object's position, magnitude and so on.

Parameters:
nameis the English name of the object for which data will be returned.
Returns:
a map of object data. Keys:
  • altitude : altitude angle in decimal degrees
  • azimuth : azimuth angle in decimal degrees
  • ra : right ascension angle (current date frame) in decimal degrees
  • dec : declenation angle in (current date frame) decimal degrees
  • raJ2000 : right ascension angle (J2000 frame) in decimal degrees
  • decJ2000 : declenation angle in (J2000 frame) decimal degrees

Get the current projection mode ID string.

Returns:
the string which identifies the current projection mode. For a list of possibl results, see setProjectionMode();

Get the screen height in pixels.

Returns:
The screen height in pixels

Get the screen width in pixels.

Returns:
The screen width in pixels

Get the script execution rate as a multiple of normal execution speed.

Returns:
the current script execution rate.

Find out the current sky culture.

Returns:
the ID of the current sky culture (i.e. the name of the directory in which the curret sky cultures files are found, e.g. "western")

Get the current sky language.

Returns:
two letter language code, e.g. "en", or "de" and so on.
double StelMainScriptAPI::getTimeRate ( ) const [slot]

Get simulation time rate.

Returns:
time speed as a multiple of real time.

Get the current viewing direction altitude angle at center of view.

Returns:
the altitude angle in decimal degrees. 0 is horizon, zenith is 180, nadir = -180.

Get the current viewing direction azimuth angle at center of view.

Returns:
the azimuth angle in decimal degrees as a compass bearing i.e. 0 is North, 90 is East, 180 is South, 270 is West.

Get the current viewing direction Declination angle at center of view.

Returns:
the Declination angle in decimal degrees. The value returned falls in the range -180 .. 180

Get the current viewing direction Declination angle in J2000 frame at center of view.

Returns:
the Declination angle in J2000 frame in decimal degrees.

Get the current viewing direction Right Ascension at center of view.

Returns:
the Right Ascension angle in decimal degrees. The value returned falls in the range 0 .. 360

Get the current viewing direction Right Ascension in J2000 frame at center of view.

Returns:
the Right Ascension angle in J2000 frame in decimal degrees.

Get the simulation time and rate state - is it "real time".

Returns:
true if the time rate is normal, and the simulation time is real time, else return false
double StelMainScriptAPI::jdFromDateString ( const QString &  dt,
const QString &  spec 
) [slot]

For use in setDate and waitFor For parameter descriptions see setDate().

Returns:
Julian day.
void StelMainScriptAPI::loadSkyImage ( const QString &  id,
const QString &  filename,
double  ra0,
double  dec0,
double  ra1,
double  dec1,
double  ra2,
double  dec2,
double  ra3,
double  dec3,
double  minRes = 2.5,
double  maxBright = 14,
bool  visible = true 
) [slot]

Load an image which will have sky coordinates.

Parameters:
ida string ID to be used when referring to this image (e.g. when changing the displayed status or deleting it.
filenamethe file name of the image. If a relative path is specified, "scripts/" will be prefixed before the image is searched for using StelFileMgr.
ra0The right ascension of the first corner of the image in degrees
dec0The declenation of the first corner of the image in degrees
ra1The right ascension of the second corner of the image in degrees
dec1The declenation of the second corner of the image in degrees
ra2The right ascension of the third corner of the image in degrees
dec2The declenation of the third corner of the image in degrees
ra3The right ascension of the fourth corner of the image in degrees
dec3The declenation of the fourth corner of the image in degrees
minResThe minimum resolution setting for the image
maxBrightThe maximum brightness setting for the image
visibleThe initial visibility of the image
void StelMainScriptAPI::loadSkyImage ( const QString &  id,
const QString &  filename,
const QString &  ra0,
const QString &  dec0,
const QString &  ra1,
const QString &  dec1,
const QString &  ra2,
const QString &  dec2,
const QString &  ra3,
const QString &  dec3,
double  minRes = 2.5,
double  maxBright = 14,
bool  visible = true 
) [slot]

Convenience function which allows the user to provide RA and DEC angles as strings (e.g.

"12d 14m 8s" or "5h 26m 8s" - formats accepted by StelUtils::getDecAngle()).

void StelMainScriptAPI::loadSkyImage ( const QString &  id,
const QString &  filename,
double  ra,
double  dec,
double  angSize,
double  rotation,
double  minRes = 2.5,
double  maxBright = 14,
bool  visible = true 
) [slot]

Convenience function which allows loading of a sky image based on a central coordinate, angular size and rotation.

Parameters:
ida string ID to be used when referring to this image (e.g. when changing the displayed status or deleting it.
filenamethe file name of the image. If a relative path is specified, "scripts/" will be prefixed before the image is searched for using StelFileMgr.
raThe right ascension of the center of the image in J2000 frame degrees
decThe declenation of the center of the image in J2000 frame degrees
angSizeThe angular size of the image in arc minutes
rotationThe clockwise rotation angle of the image in degrees
minResThe minimum resolution setting for the image
maxBrightThe maximum brightness setting for the image
visibleThe initial visibility of the image
void StelMainScriptAPI::loadSkyImage ( const QString &  id,
const QString &  filename,
const QString &  ra,
const QString &  dec,
double  angSize,
double  rotation,
double  minRes = 2.5,
double  maxBright = 14,
bool  visible = true 
) [slot]

Convenience function which allows loading of a sky image based on a central coordinate, angular size and rotation.

Parameters are the same as the version of this function which takes double values for the ra and dec, except here text expressions of angles may be used.

void StelMainScriptAPI::loadSound ( const QString &  filename,
const QString &  id 
) [slot]

Load a sound from a file.

Parameters:
filenamethe name of the file to load.
idthe identifier which will be used to refer to the sound when calling playSound, pauseSound, stopSound and dropSound.
void StelMainScriptAPI::moveToAltAzi ( const QString &  alt,
const QString &  azi,
float  duration = 1. 
) [slot]

move the current viewing direction to some specified altitude and azimuth angles may be specified in a format recognised by StelUtils::getDecAngle()

Parameters:
altthe altitude angle
azithe azimuth angle
durationthe duration of the movement in seconds
void StelMainScriptAPI::moveToRaDec ( const QString &  ra,
const QString &  dec,
float  duration = 1. 
) [slot]

move the current viewing direction to some specified right ascension and declination angles may be specified in a format recognised by StelUtils::getDecAngle()

Parameters:
rathe right ascension angle
decthe declination angle
durationthe duration of the movement in seconds
void StelMainScriptAPI::moveToRaDecJ2000 ( const QString &  ra,
const QString &  dec,
float  duration = 1. 
) [slot]

move the current viewing direction to some specified right ascension and declination in the J2000 frame angles may be specified in a format recognised by StelUtils::getDecAngle()

Parameters:
rathe right ascension angle
decthe declination angle
durationthe duration of the movement in seconds
void StelMainScriptAPI::pauseSound ( const QString &  id) [slot]

Pause a sound which is playing.

Subsequent playSound calls will resume playing from the position in the file when it was paused.

Parameters:
idthe identifier used when loadSound was called
void StelMainScriptAPI::playSound ( const QString &  id) [slot]

Play a sound which has previously been loaded with loadSound.

Parameters:
idthe identifier used when loadSound was called
void StelMainScriptAPI::removeSkyImage ( const QString &  id) [slot]

Remove a SkyImage.

Parameters:
idthe ID of the image to remove.
void StelMainScriptAPI::screenshot ( const QString &  prefix,
bool  invert = false,
const QString &  dir = "" 
) [slot]

Save a screenshot.

Parameters:
prefixthe prefix for the file name to use
dirthe path of the directory to save the screenshot in. If none is specified, the default screenshot directory will be used.
invertwhether colors have to be inverted in the output image
void StelMainScriptAPI::selectObjectByName ( const QString &  name,
bool  pointer = false 
) [slot]

Select an object by name.

Parameters:
namethe name of the object to select (english) If the name is "", any currently selected objects will be de-selected.
pointerwhether or not to have the selection pointer enabled
void StelMainScriptAPI::setAppLanguage ( QString  langCode) [slot]

Set the current application language.

Parameters:
langCodetwo letter language code, e.g. "en", or "de".
void StelMainScriptAPI::setDate ( const QString &  dt,
const QString &  spec = "utc" 
) [slot]

set the date in ISO format, e.g.

"2008-03-24T13:21:01"

Parameters:
dtthe date string to use. Formats:
  • ISO, e.g. "2008-03-24T13:21:01"
  • "now" (set sim time to real time)
  • relative, e.g. "+ 4 days", "-2 weeks". can use these units: seconds, minutes, hours, days, weeks, months, years. You may also append " sidereal" to use sidereal days and so on. You can also use "now" at the start. For example: "now + 3 hours sidereal" Note: you must use the plural all the time, even when the number of the unit is 1. i.e. use "+ 1 days" not "+1 day". Note: when sidereal time is used, the length of time for each unit is dependent on the current planet. By contrast when sidereal timeis not specified (i.e. solar time is used) the value is conventional - i.e. 1 day means 1 Earth Solar day.
spec"local" or "utc" - only has an effect when the ISO date type is used.
void StelMainScriptAPI::setDiskViewport ( bool  b) [slot]

Set the disk viewport.

Parameters:
bif true, sets the disk viewport on, else sets it off
void StelMainScriptAPI::setFlagGravityLabels ( bool  b) [slot]

Turn on/off gravity labels.

Parameters:
bif true, turn on gravity labels, else turn them off
void StelMainScriptAPI::setGuiVisible ( bool  b) [slot]

Show or hide the GUI (toolbars).

Note this only applies to GUI plugins which provide the public slot "setGuiVisible(bool)".

Parameters:
bif true, show the GUI, if false, hide the GUI.
void StelMainScriptAPI::setJDay ( double  JD) [slot]

Set the current date in Julian Day.

Parameters:
JDthe Julian Date
void StelMainScriptAPI::setMaxFps ( float  m) [slot]

Set the maximum frames per second.

Parameters:
mthe new maximum fps setting.
void StelMainScriptAPI::setMinFps ( float  m) [slot]

Set the minimum frames per second.

Usually this minimum will be switched to after there are no user events for some seconds to save power. However, if can be useful to set this to a high value to improve playing smoothness in scripts.

Parameters:
mthe new minimum fps setting.
void StelMainScriptAPI::setMountMode ( const QString &  mode) [slot]

Set the mount mode.

Parameters:
modeshould be "equatorial" or "azimuthal"
void StelMainScriptAPI::setNightMode ( bool  b) [slot]

Set the status of Night Mode.

Parameters:
bif true, set Night Mode, else set Normal Mode
void StelMainScriptAPI::setObserverLocation ( double  longitude,
double  latitude,
double  altitude,
double  duration = 1.,
const QString &  name = "",
const QString &  planet = "" 
) [slot]

Set the observer location.

Parameters:
longitudethe longitude in degrees. E is +ve. values out of the range -180 .. 180 mean that the longitude will not be set
latitudethe longitude in degrees. N is +ve. values out of the range -180 .. 180 mean that the latitude will not be set
altitudethe new altitude in meters. values less than -1000 mean the altitude will not be set.
durationthe time for the transition from the old to the new location.
nameA name for the location (which will appear in the status bar.
planetthe English name of the new planet. If the planet name is not known (e.g. ""), the planet will not be set.
void StelMainScriptAPI::setObserverLocation ( const QString  id,
float  duration = 1. 
) [slot]

Set the location by the name of the location.

Parameters:
idthe location ID as it would be found in the database of locations - do a search in the Location window to see what where is. e.g. "York, UnitedKingdom".
durationthe number of seconds to take to move location.
void StelMainScriptAPI::setProjectionMode ( const QString &  id) [slot]

Set the current projection mode.

Parameters:
idthe name of the projection mode to use, e.g. "Perspective" and so on. valid values of id are:
  • ProjectionPerspective
  • ProjectionEqualArea
  • ProjectionStereographic
  • ProjectionFisheye
  • ProjectionHammer
  • ProjectionCylinder
  • ProjectionMercator
  • ProjectionOrthographic
void StelMainScriptAPI::setScriptRate ( double  r) [slot]

Set the script execution rate as a multiple of normal execution speed.

Parameters:
rthe multiple of the normal script execution speed, i.e. if 5 is passed the script will execute 5 times faster than it would if the script rate was 1.
void StelMainScriptAPI::setSelectedObjectInfo ( const QString &  level) [slot]

Set the amount of selected object information to display.

Parameters:
levelcan be "AllInfo", "ShortInfo", "None"
void StelMainScriptAPI::setSkyCulture ( const QString &  id) [slot]

Set the current sky culture.

Parameters:
idthe ID of the sky culture to set, e.g. western or inuit etc.
void StelMainScriptAPI::setSkyLanguage ( QString  langCode) [slot]

Set the current sky language.

Parameters:
langCodetwo letter language code, e.g. "en", or "de".
void StelMainScriptAPI::setTimeRate ( double  ts) [slot]

Set time speed in JDay/sec.

Parameters:
tsthe new rate of passage of time as a multiple of real time. For example if ts is 1, time will pass at the normal rate. If ts == 10 then simulation time will pass at 10 times the normal rate. If ts is negative, simulation time will go backwards.
void StelMainScriptAPI::stopSound ( const QString &  id) [slot]

Stop a sound from playing.

This resets the position in the sound to the start so that subsequent playSound calls will start from the beginning.

Parameters:
idthe identifier used when loadSound was called