Stellarium  HEAD
Public Types | Public Member Functions | Static Public Member Functions
SkyLine Class Reference

Class which manages a line to display around the sky like the ecliptic line. More...

#include <GridLinesMgr.hpp>

Public Types

enum  SKY_LINE_TYPE {
  EQUATOR_J2000 , EQUATOR_OF_DATE , FIXED_EQUATOR , ECLIPTIC_J2000 ,
  ECLIPTIC_OF_DATE , ECLIPTIC_WITH_DATE , PRECESSIONCIRCLE_N , PRECESSIONCIRCLE_S ,
  MERIDIAN , HORIZON , GALACTICEQUATOR , SUPERGALACTICEQUATOR ,
  LONGITUDE , QUADRATURE , PRIME_VERTICAL , CURRENT_VERTICAL ,
  COLURE_1 , COLURE_2 , CIRCUMPOLARCIRCLE_N , CIRCUMPOLARCIRCLE_S ,
  INVARIABLEPLANE , SOLAR_EQUATOR , EARTH_UMBRA , EARTH_PENUMBRA ,
  ECLIPTIC_CULTURAL , EQUATORIAL_CULTURAL
}
 

Public Member Functions

 SkyLine (SKY_LINE_TYPE _line_type=EQUATOR_J2000)
 
void draw (StelCore *core) const
 call once after deleting all lines.
 
void draw (StelPainter &painter, const float oldLineWidth) const
 
void setColor (const Vec3f &c)
 
void setPartitions (bool visible)
 
bool showsPartitions () const
 
const Vec3fgetColor () const
 
void update (double deltaTime)
 
void setFadeDuration (float duration)
 
void setDisplayed (const bool displayed)
 
bool isDisplayed () const
 
void setLabeled (const bool displayed)
 
bool isLabeled () const
 
void setFontSize (int newSize)
 
void setLineThickness (const float thickness)
 
float getLineThickness () const
 
void setPartThickness (const float thickness)
 
float getPartThickness () const
 
void updateLabel ()
 Re-translates the label and sets the frameType. Must be called in the constructor!
 
void setCulturalPartitions (QList< QList< double >>cParts)
 setup the small partitions in a ECLIPTIC_CULTURAL or EQUATORIAL_CULTURAL line, in degrees. More...
 
void setCulturalOffset (const double offset)
 

Static Public Member Functions

static void init ()
 
static void deinit ()
 call once before creating the first line.
 
static void setSolarSystem (SolarSystem *ss)
 
static void computeEclipticDatePartitions (int year=std::numeric_limits< int >::min())
 Compute eclipticOnDatePartitions for. More...
 

Detailed Description

Class which manages a line to display around the sky like the ecliptic line.

Member Function Documentation

◆ computeEclipticDatePartitions()

static void SkyLine::computeEclipticDatePartitions ( int  year = std::numeric_limits< int >::min())
static

Compute eclipticOnDatePartitions for.

Parameters
year.Trigger a call to this from a signal StelCore::dateChangedByYear()

◆ setCulturalPartitions()

void SkyLine::setCulturalPartitions ( QList< QList< double >>  cParts)
inline

setup the small partitions in a ECLIPTIC_CULTURAL or EQUATORIAL_CULTURAL line, in degrees.

Element nr.0 is a vector of the major divisions. It is not used directly, just here for completion. Element nr.1 is a vector of all main divisions of all major divisions. This may be 10-degrees in a 12x30 degree zodiac, or the quarter-lines in the Indian 27-part nakshatras. Element nr.2 is a vector of all minor divisions, like the 5-degrees in a 12x30 degrees zodiac defined as [12 3 2 5]. Element nr.3 is a vector of all sub-minor divisions, like the 1-degrees in a 12x30 degrees zodiac defined as [12 3 2 5]. Up to these 4 lists is supported with drawing ever-smaller sub-ticks