Stellarium 0.12.2
List of all members | Public Member Functions
Refraction Class Reference

This class performs refraction computations, following literature from atmospheric optics and astronomy. More...

#include <RefractionExtinction.hpp>

Public Member Functions

virtual void forward (Vec3d &altAzPos) const
 Apply refraction. More...
 
virtual void backward (Vec3d &altAzPos) const
 Remove refraction from position ("reduce"). More...
 
virtual void forward (Vec3f &altAzPos) const
 Apply refraction. More...
 
virtual void backward (Vec3f &altAzPos) const
 Remove refraction from position ("reduce"). More...
 
virtual void combine (const Mat4d &m)
 
virtual Mat4d getApproximateLinearTransfo () const
 
virtual
StelProjector::ModelViewTranformP 
clone () const
 
virtual bool setupGLSLTransform (StelGLSLShader *shader)
 Attaches (or enables, if attached already) the GLSL transform shader to specified shader. More...
 
virtual void setGLSLUniforms (StelGLSLShader *shader)
 Set GLSL uniforms needed for the transform shader. More...
 
virtual void disableGLSLTransform (StelGLSLShader *shader)
 Disable the attached GLSL transform shader. More...
 
void setPressure (float p_mbar)
 Set surface air pressure (mbars), influences refraction computation. More...
 
float getPressure () const
 
void setTemperature (float t_C)
 Set surface air temperature (degrees Celsius), influences refraction computation. More...
 
float getTemperature () const
 
void setPreTransfoMat (const Mat4d &m)
 Set the transformation matrices used to transform input vector to AltAz frame. More...
 
void setPostTransfoMat (const Mat4d &m)
 

Detailed Description

This class performs refraction computations, following literature from atmospheric optics and astronomy.

Refraction solutions can only be aproximate, given the turbulent, unpredictable real atmosphere. Typical horizons do not go down below -1, so strange effects (distortion) between -2 and -5 should be covered. Note that forward/backward are no absolute reverse operations! All the computations should be in effect (1) only if atmosphere effects are true (2) only for celestial objects, never for landscape images (3) only for terrestrial locations, not on Moon/Mars/Saturn etc

Definition at line 102 of file RefractionExtinction.hpp.

Member Function Documentation

virtual void Refraction::backward ( Vec3d altAzPos) const
virtual

Remove refraction from position ("reduce").

Parameters
altAzPosis the apparent star position vector, to be transformed into geometrical position. Note that forward/backward are no absolute reverse operations!

Implements StelProjector::ModelViewTranform.

virtual void Refraction::backward ( Vec3f altAzPos) const
virtual

Remove refraction from position ("reduce").

Parameters
altAzPosis the apparent star position vector, to be transformed into geometrical position. Note that forward/backward are no absolute reverse operations!

Implements StelProjector::ModelViewTranform.

virtual void Refraction::disableGLSLTransform ( StelGLSLShader shader)
inlinevirtual

Disable the attached GLSL transform shader.

Implements StelProjector::ModelViewTranform.

Definition at line 223 of file RefractionExtinction.hpp.

virtual void Refraction::forward ( Vec3d altAzPos) const
virtual

Apply refraction.

Parameters
altAzPosis the geometrical star position vector, to be transformed into apparent position. Note that forward/backward are no absolute reverse operations!

Implements StelProjector::ModelViewTranform.

virtual void Refraction::forward ( Vec3f altAzPos) const
virtual

Apply refraction.

Parameters
altAzPosis the geometrical star position vector, to be transformed into apparent position. Note that forward/backward are no absolute reverse operations!

Implements StelProjector::ModelViewTranform.

virtual void Refraction::setGLSLUniforms ( StelGLSLShader shader)
inlinevirtual

Set GLSL uniforms needed for the transform shader.

Called by the renderer backend before drawing, if the transform shader was attached successfully.

Implements StelProjector::ModelViewTranform.

Definition at line 215 of file RefractionExtinction.hpp.

void Refraction::setPressure ( float  p_mbar)

Set surface air pressure (mbars), influences refraction computation.

void Refraction::setPreTransfoMat ( const Mat4d m)

Set the transformation matrices used to transform input vector to AltAz frame.

void Refraction::setTemperature ( float  t_C)

Set surface air temperature (degrees Celsius), influences refraction computation.

virtual bool Refraction::setupGLSLTransform ( StelGLSLShader shader)
inlinevirtual

Attaches (or enables, if attached already) the GLSL transform shader to specified shader.

The shader attached must implement one function:

vec4(modelViewForward(in vec4 v));

This function should implement the same logic as the forward() member function, except that it returns the result instead of modifying the parameter.

Parameters
shaderShader to attach to.
Returns
true if the shader was succesfully attached, false otherwise.

Implements StelProjector::ModelViewTranform.

Definition at line 136 of file RefractionExtinction.hpp.


The documentation for this class was generated from the following file: