Star Class Reference

Une étoile (Solar System Object). More...

#include <ss_Star.h>

List of all members.

Public Member Functions

 Star (CatalogStar *RefStar, SceneNode *ParentNode, SceneManager *SceneMgr)
 Contructeur.
 ~Star ()
 Destructeur.
void show ()
 Cette fonction fait apparaitre l'étoile.
void hide ()
 Cette fonction fait disparaitre l'étoile de la scene.
void setPosition (Vector3 pos)
 On positionne l'étoile.
void setMass (Real mass)
 Détermine la masse de l'étoile.
void setStarLight (bool on)
 Allume ou éteint la lumière de l'étoile.
bool fadeStarLight (bool on)
 Allume ou éteint la lumière de l'étoile progressivement.
ColourValue getColour ()
 Cette fonction renvoie la couleur de la lumière émise par cette étoile.
Real getRadius ()
 Return the radius of the star.
Real getTemperature ()
 Return the temperature of the star.
Real getLuminosity ()
 Renvoie la luminosité de l'étoile.
String getName ()
 Renvoie le nom de l'étoile.
String getSpectralType ()
 Renvoie le Type Spectral de l'étoile.
void _changeSpectrum ()
 Fonction de debug pour tester toutes les variétés de spectres.

Protected Member Functions

Real calculateLuminosity (Real bolometricmagnitude)
 Calculate the luminosity of the star, based on its bolometric magnitude.
Real calculateWavelength (Real Temperature)
 On calcule la longueur d'onde du rayonnement de l'étoile de l'étoile.
ColourValue calculateColour (Real Wavelength)
 On calcule la couleur de l'étoile en fonction de la longueur d'onde des rayonnements émis.
ColourValue adjustColour (ColourValue Couleur, Real Gamma)
 Cette fonction corrige la couleur en fonction du gamma (augmente ou diminue sa luminosité).
ColourValue _adjustColour (Real R, Real G, Real B, Real Factor, Real Gamma)
 Cette fonction corrige la couleur en fonction de la visibilité de la couleur et du gamma.
ColourValue _wavelength2colour (Real Wavelength)
 Cette fonction transforme un rayonnement en sa couleur réelle.
String getPrimaryStarName (CatalogStar *RefStar)
 On récupère le nom de l'étoile primaire du système.
String expandStarName (String name)
 Transforme le nom abrégé de l'étoile en un nom complet.

Protected Attributes

String mName
SceneNode * mParentNode
SceneManager * mSceneMgr
Entity * mStarEntity
SceneNode * mStarNode
CatalogStarmRefStar
Light * mLight
Billboard * mSprite
BillboardSet * mBillboardset
Real mTemperature
ColourValue mStarColor
 > Temperature de l'étoile (unité=Kelvin) Couleur de l'étoile.
Real mWaveLength
 Longueur d'onde correspondant à la couleur. (unité=nm).
Real mIntensity
 Intensité lumineuse de l'étoile (rendu visuel).
String mSpectrum
 Spectre de l'étoile (O, B, A, G, ...).
Real mMass
 Masse de l'étoile (unité = solar mass).
Real mLuminosity
 Luminosité de l'Etoile (unité = Solar Lum).


Detailed Description

Une étoile (Solar System Object).

L'étoile est gérée avec ce niveau de détail quand on est entré dans sa sphère d'influence, (c'est-à-dire, en général, son système planétaire).


Constructor & Destructor Documentation

Star::Star CatalogStar RefStar,
SceneNode *  ParentNode,
SceneManager *  SceneMgr
 

Contructeur.

Dans le constructeur, on fait apparaitre uniquement le sprite de l'étoile. On charge les informations de l'étoile du catalogue.

Star::~Star  ) 
 

Destructeur.

Cette fonction est appelée quand on quitte le systeme solaire.

TODO : le node doit etre détruit


Member Function Documentation

ColourValue Star::_adjustColour Real  R,
Real  G,
Real  B,
Real  Factor,
Real  Gamma
[protected]
 

Cette fonction corrige la couleur en fonction de la visibilité de la couleur et du gamma.

On applique un Facteur d'atténuation de la lumiere quand on approche des rayonnements invisibles à l'oeil nu (infrarouges, ou ultraviolets). La fonction prend aussi en compte le Gamma.

Parameters:
R Composante Rouge de la couleur à atténuer [0..1].
G Composante Verte de la couleur à atténuer [0..1].
B Composante Bleue de la couleur à atténuer [0..1].
Factor Facteur d'atténuation.
Gamma Facteur de luminosité [0..1] (les faibles valeurs augmentent la luminosité).
Returns:
La couleur modifiée.

void Star::_changeSpectrum  ) 
 

Fonction de debug pour tester toutes les variétés de spectres.

ColourValue Star::_wavelength2colour Real  Wavelength  )  [protected]
 

Cette fonction transforme un rayonnement en sa couleur réelle.

Cette fonction calcule la couleur réelle du rayonnement. On ne l'utilise pas car les couleur obtenues ne sont pas satisfaisantes pour le jeu. (trop de rayonnement invisible).

Parameters:
Wavelength Longeur d'onde du rayonnement (Unit = Nanometer)
Returns:
La couleur réelle du rayonnement.

ColourValue Star::adjustColour ColourValue  Couleur,
Real  Gamma
[protected]
 

Cette fonction corrige la couleur en fonction du gamma (augmente ou diminue sa luminosité).

Note: les faibles valeurs de Gamma augmentent la luminosité.

Parameters:
couleur La couleur initiale.
Gamma Facteur de luminosité [0..1]
Returns:
La couleur modifiée.

ColourValue Star::calculateColour Real  Wavelength  )  [protected]
 

On calcule la couleur de l'étoile en fonction de la longueur d'onde des rayonnements émis.

Le rayonnement normalement visible s'étend de 380nm à 780nm. On "corrige" un peu cette plage de façon à voir dans le jeu, les rayonnements de 70nm à 1400nm. On n'utilise pas d'équations mais un gradient (spectrum.svg). Moins réaliste, mais plus souple d'utilisation.

Parameters:
Wavelength Longeur d'onde du rayonnement de l'étoile (Unit = Nanometer)
Returns:
La couleur du rayonnement de l'étoile (corrigée).

Real Star::calculateLuminosity Real  bolometricmagnitude  )  [protected]
 

Calculate the luminosity of the star, based on its bolometric magnitude.

Luminosity (L) is related to bolometric magnitude (Mbol) by the formula: Mbol = 2.5 log (L/Lsun) + 4.72 L = exp((Mbol -4.72)/2.5) * Lsun Mbolsun = 4.72

The bolometric magnitude is the magnitude of a star measured across all wavelengths, so that it takes into account the total amount of energy radiated. If a star is a strong infrared or ultraviolet emitter, its bolometric magnitude will differ greatly from its visual magnitude.

Parameters:
magnitude The bolometric magnitude of the star
Returns:
The luminosity of the star (unit = solar luminosity)

Real Star::calculateWavelength Real  Temperature  )  [protected]
 

On calcule la longueur d'onde du rayonnement de l'étoile de l'étoile.

Parameters:
Temperature Temperature of the star (unit = Kelvin)
Returns:
La longueur d'onde du rayonnement de l'étoile de l'étoile (Units = nanometre)
TODO = calculs

String Star::expandStarName String  name  )  [protected]
 

Transforme le nom abrégé de l'étoile en un nom complet.

Cette fonction reconnait les designations Bayer et Flamsteed (une lettre grecque suivie de l'abreviation de la constellation).

bool Star::fadeStarLight bool  on  ) 
 

Allume ou éteint la lumière de l'étoile progressivement.

On utilise un fading pour éteindre la lumière progressivement quand on ferme une porte, par exemple.

Parameters:
on Mettre TRUE si on veut allumer la lumière, ou FALSE si on veut l'éteindre.
Returns:
La fonction renvoie TRUE, qunad l'opération de fading est terminée.

ColourValue Star::getColour  ) 
 

Cette fonction renvoie la couleur de la lumière émise par cette étoile.

Real Star::getLuminosity  ) 
 

Renvoie la luminosité de l'étoile.

Returns:
La luminosité de l'étoile (unit = solar luminosity)

String Star::getName  ) 
 

Renvoie le nom de l'étoile.

String Star::getPrimaryStarName CatalogStar RefStar  )  [protected]
 

On récupère le nom de l'étoile primaire du système.

Le nom de 3000 étoiles est dans le fichier starnames.dat. Le format est index:Nom1:Nom2:etc Le nom est au format = No ou lettre grecque puis abréviation de la constellation. On n'utilise que le premier nom (le plus usuel).

  • 32349:Sirius:Alhabor:ALF CMa:9 CMa:Gliese 244
  • 32362:XI Gem:31 Gem
  • 32404:32 Gem
  • 32768:TAU Pup

GGC = Global Galactic Catalog

Real Star::getRadius  ) 
 

Return the radius of the star.

The function use the Stefan-Boltzmann law to estimate the radius of a star from its surface temperature and luminosity.

Returns:
unit = Kilometers

String Star::getSpectralType  ) 
 

Renvoie le Type Spectral de l'étoile.

Real Star::getTemperature  ) 
 

Return the temperature of the star.

Returns:
unit = kelvin

void Star::hide  ) 
 

Cette fonction fait disparaitre l'étoile de la scene.

void Star::setMass Real  mass  ) 
 

Détermine la masse de l'étoile.

Parameters:
mass unit = solar mass

void Star::setPosition Vector3  pos  ) 
 

On positionne l'étoile.

void Star::setStarLight bool  on  ) 
 

Allume ou éteint la lumière de l'étoile.

void Star::show  ) 
 

Cette fonction fait apparaitre l'étoile.

Le sprite est toujours présent, mais quand on est proche de l'étoile, on peut faire apparaitre sa lumière et ses planetes.


Member Data Documentation

BillboardSet* Star::mBillboardset [protected]
 

Real Star::mIntensity [protected]
 

Intensité lumineuse de l'étoile (rendu visuel).

Light* Star::mLight [protected]
 

Real Star::mLuminosity [protected]
 

Luminosité de l'Etoile (unité = Solar Lum).

Real Star::mMass [protected]
 

Masse de l'étoile (unité = solar mass).

String Star::mName [protected]
 

SceneNode* Star::mParentNode [protected]
 

CatalogStar* Star::mRefStar [protected]
 

SceneManager* Star::mSceneMgr [protected]
 

String Star::mSpectrum [protected]
 

Spectre de l'étoile (O, B, A, G, ...).

Billboard* Star::mSprite [protected]
 

ColourValue Star::mStarColor [protected]
 

> Temperature de l'étoile (unité=Kelvin) Couleur de l'étoile.

Entity* Star::mStarEntity [protected]
 

SceneNode* Star::mStarNode [protected]
 

Real Star::mTemperature [protected]
 

Real Star::mWaveLength [protected]
 

Longueur d'onde correspondant à la couleur. (unité=nm).


The documentation for this class was generated from the following files:
Generated on Mon Mar 27 21:33:16 2006 for Long Forgotten Earth by  doxygen 1.4.6-NO