Stellarium 0.11.0
Home · All Namespaces · All Classes · Functions · Coding Style · Scripting · Plugins · File Structure
Public Slots | Public Member Functions | Static Public Member Functions

StelSkyDrawer Class Reference

Provide a set of methods used to draw sky objects taking into account eyes adaptation, zoom level and instrument model. More...

#include <StelSkyDrawer.hpp>

List of all members.

Public Slots

void setRelativeStarScale (double b=1.0)
float getRelativeStarScale () const
void setAbsoluteStarScale (double b=1.0)
float getAbsoluteStarScale () const
void setTwinkleAmount (double b)
float getTwinkleAmount () const
void setFlagTwinkle (bool b)
bool getFlagTwinkle () const
void setFlagPointStar (bool b)
bool getFlagPointStar () const
void setBortleScale (int index)
int getBortleScale () const
float getLimitMagnitude () const
float getLimitLuminance () const
void setFlagLuminanceAdaptation (bool b)
bool getFlagLuminanceAdaptation () const
void setFlagHasAtmosphere (bool b)
bool getFlagHasAtmosphere () const
void setExtinctionCoefficient (double extCoeff)
double getExtinctionCoefficient () const
void setAtmosphereTemperature (double celsius)
double getAtmosphereTemperature () const
void setAtmospherePressure (double mbar)
double getAtmospherePressure () const
const ExtinctiongetExtinction () const
const RefractiongetRefraction () const
float getBig3dModelHaloRadius () const
void setBig3dModelHaloRadius (float r)

Public Member Functions

 StelSkyDrawer (StelCore *core)
 ~StelSkyDrawer ()
void init ()
void update (double deltaTime)
void preDrawPointSource (StelPainter *p)
void postDrawPointSource (StelPainter *sPainter)
bool drawPointSource (StelPainter *sPainter, const Vec3f &v, const float rcMag[2], unsigned int bV, bool checkInScreen=false)
bool drawPointSource (StelPainter *sPainter, const Vec3f &v, const float rcMag[2], const Vec3f &color, bool checkInScreen=false)
void postDrawSky3dModel (StelPainter *p, const Vec3f &v, float illuminatedArea, float mag, const Vec3f &color=Vec3f(1.f, 1.f, 1.f))
bool computeRCMag (float mag, float rcMag[2]) const
void reportLuminanceInFov (float lum, bool fastAdaptation=false)
void preDraw ()

Static Public Member Functions

static float surfacebrightnessToLuminance (float sb)
static float luminanceToSurfacebrightness (float lum)
static float indexToBV (unsigned char bV)
static const Vec3findexToColor (unsigned char bV)

Detailed Description

Provide a set of methods used to draw sky objects taking into account eyes adaptation, zoom level and instrument model.

Member Function Documentation

bool StelSkyDrawer::computeRCMag ( float  mag,
float  rcMag[2] 
) const

Compute RMag and CMag from magnitude.

magthe object integrated V magnitude
rcMagarray of 2 floats containing the radius and luminance
false if the object is too faint to be displayed
bool StelSkyDrawer::drawPointSource ( StelPainter sPainter,
const Vec3f v,
const float  rcMag[2],
unsigned int  bV,
bool  checkInScreen = false 
) [inline]

Draw a point source halo.

sPainterthe StelPainter to use for drawing.
vthe 3d position of the source in J2000 reference frame
rcMagthe radius and luminance of the source as computed by computeRCMag()
bVthe source B-V index
checkInScreenwhether source in screen should be checked to avoid unnecessary drawing.
true if the source was actually visible and drawn
float StelSkyDrawer::getLimitLuminance ( ) const [inline, slot]

Get the luminance of the faintest visible object (e.g.

RGB<0.05) It depends on the zoom level, on the eye adapation and on the point source rendering parameters

the limit V luminance at which an object will be visible
float StelSkyDrawer::getLimitMagnitude ( ) const [inline, slot]

Get the magnitude of the currently faintest visible point source It depends on the zoom level, on the eye adapation and on the point source rendering parameters.

the limit V mag at which a point source will be displayed
static float StelSkyDrawer::luminanceToSurfacebrightness ( float  lum) [static]

Compute the surface brightness from the luminance of an extended source.

lumluminance in cd/m^2
surface brightness in V magnitude/arcmin^2
void StelSkyDrawer::postDrawSky3dModel ( StelPainter p,
const Vec3f v,
float  illuminatedArea,
float  mag,
const Vec3f color = Vec3f(1.f, 1.f, 1.f) 

Terminate drawing of a 3D model, draw the halo.

pthe StelPainter instance to use for this drawing operation
vthe 3d position of the source in J2000 reference frame
illuminatedAreathe illuminated area in arcmin^2
magthe source integrated magnitude
colorthe object halo RGB color
void StelSkyDrawer::preDrawPointSource ( StelPainter p)

Set the proper openGL state before making calls to drawPointSource.

pa pointer to a valid instance of a Painter. The instance must be valid until postDrawPointSource() is called
void StelSkyDrawer::reportLuminanceInFov ( float  lum,
bool  fastAdaptation = false 

Report that an object of luminance lum with an on-screen area of area pixels is currently displayed This information is used to determine the world adaptation luminance This method should be called during the update operations of the main loop.

lumluminance in cd/m^2
fastAdaptationadapt the eye quickly if true, other wise use a smooth adaptation
void StelSkyDrawer::setFlagHasAtmosphere ( bool  b) [inline, slot]

Informing the drawer whether atmosphere is displayed.

This is used to avoid twinkling/simulate extinction/refraction.

static float StelSkyDrawer::surfacebrightnessToLuminance ( float  sb) [static]

Compute the luminance for an extended source with the given surface brightness.

sbsurface brightness in V magnitude/arcmin^2
the luminance in cd/m^2
void StelSkyDrawer::update ( double  deltaTime)

Update with respect to the time and StelProjector/StelToneReproducer state.

deltaTimethe time increment in second since last call.