![]() |
Home · All Namespaces · All Classes · Functions · Coding Style · Scripting · Plugins · File Structure |
#include <StelSkyDrawer.hpp>
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 (void) const |
void | setFlagHasAtmosphere (bool b) |
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 Vec3f & | indexToColor (unsigned char bV) |
StelSkyDrawer::StelSkyDrawer | ( | StelCore * | core | ) |
Constructor.
StelSkyDrawer::~StelSkyDrawer | ( | ) |
Destructor.
void StelSkyDrawer::init | ( | ) |
Init parameters from config file.
void StelSkyDrawer::update | ( | double | deltaTime | ) |
Update with respect to the time and StelProjector/StelToneReproducer state.
deltaTime | the time increment in second since last call. |
void StelSkyDrawer::preDrawPointSource | ( | StelPainter * | p | ) |
Set the proper openGL state before making calls to drawPointSource.
p | a pointer to a valid instance of a Painter. The instance must be valid until postDrawPointSource() is called |
void StelSkyDrawer::postDrawPointSource | ( | StelPainter * | sPainter | ) |
Finalize the drawing of point sources.
bool StelSkyDrawer::drawPointSource | ( | StelPainter * | sPainter, | |
const Vec3f & | v, | |||
const float | rcMag[2], | |||
unsigned int | bV, | |||
bool | checkInScreen = false | |||
) | [inline] |
Draw a point source halo.
sPainter | the StelPainter to use for drawing. | |
v | the 3d position of the source in J2000 reference frame | |
rcMag | the radius and luminance of the source as computed by computeRCMag() | |
bV | the source B-V index | |
checkInScreen | whether source in screen should be checked to avoid unnecessary drawing. |
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.
p | the StelPainter instance to use for this drawing operation | |
v | the 3d position of the source in J2000 reference frame | |
illuminatedArea | the illuminated area in arcmin^2 | |
mag | the source integrated magnitude | |
color | the object halo RGB color |
bool StelSkyDrawer::computeRCMag | ( | float | mag, | |
float | rcMag[2] | |||
) | const |
Compute RMag and CMag from magnitude.
mag | the object integrated V magnitude | |
rcMag | array of 2 floats containing the radius and luminance |
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.
lum | luminance in cd/m^2 | |
fastAdaptation | adapt the eye quickly if true, other wise use a smooth adaptation |
void StelSkyDrawer::preDraw | ( | ) |
To be called before the drawing stage starts.
static float StelSkyDrawer::surfacebrightnessToLuminance | ( | float | sb | ) | [static] |
Compute the luminance for an extended source with the given surface brightness.
sb | surface brightness in V magnitude/arcmin^2 |
static float StelSkyDrawer::luminanceToSurfacebrightness | ( | float | lum | ) | [static] |
Compute the surface brightness from the luminance of an extended source.
lum | luminance in cd/m^2 |
static float StelSkyDrawer::indexToBV | ( | unsigned char | bV | ) | [inline, static] |
Convert quantized B-V index to float B-V.
static const Vec3f& StelSkyDrawer::indexToColor | ( | unsigned char | bV | ) | [inline, static] |
Convert quantized B-V index to RGB colors.
void StelSkyDrawer::setRelativeStarScale | ( | double | b = 1.0 |
) | [inline, slot] |
Set the way brighter stars will look bigger as the fainter ones.
float StelSkyDrawer::getRelativeStarScale | ( | ) | const [inline, slot] |
Get the way brighter stars will look bigger as the fainter ones.
void StelSkyDrawer::setAbsoluteStarScale | ( | double | b = 1.0 |
) | [inline, slot] |
Set the absolute star brightness scale.
float StelSkyDrawer::getAbsoluteStarScale | ( | ) | const [inline, slot] |
Get the absolute star brightness scale.
void StelSkyDrawer::setTwinkleAmount | ( | double | b | ) | [inline, slot] |
Set source twinkle amount.
float StelSkyDrawer::getTwinkleAmount | ( | ) | const [inline, slot] |
Get source twinkle amount.
void StelSkyDrawer::setFlagTwinkle | ( | bool | b | ) | [inline, slot] |
Set flag for source twinkling.
bool StelSkyDrawer::getFlagTwinkle | ( | ) | const [inline, slot] |
Get flag for source twinkling.
void StelSkyDrawer::setFlagPointStar | ( | bool | b | ) | [inline, slot] |
Set flag for displaying point sources as GLpoints (faster on some hardware but not so nice).
bool StelSkyDrawer::getFlagPointStar | ( | ) | const [inline, slot] |
Get flag for displaying point sources as GLpoints (faster on some hardware but not so nice).
void StelSkyDrawer::setBortleScale | ( | int | index | ) | [slot] |
Set the parameters so that the stars disapear at about the limit given by the bortle scale The limit is valid only at a given zoom level (around 60 deg) See http://en.wikipedia.org/wiki/Bortle_Dark-Sky_Scale.
int StelSkyDrawer::getBortleScale | ( | ) | const [inline, slot] |
Get the current Bortle scale index.
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.
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
void StelSkyDrawer::setFlagLuminanceAdaptation | ( | bool | b | ) | [inline, slot] |
Set the value of the eye adaptation flag.
bool StelSkyDrawer::getFlagLuminanceAdaptation | ( | void | ) | const [inline, slot] |
Get the current value of eye adaptation flag.
void StelSkyDrawer::setFlagHasAtmosphere | ( | bool | b | ) | [inline, slot] |
Informing the drawer whether atmosphere is displayed.
This is used to avoid twinkling/simulate extinction/refraction.