2
* Copyright (C) 2003 Fabien Chereau
4
* This program is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU General Public License
6
* as published by the Free Software Foundation; either version 2
7
* of the License, or (at your option) any later version.
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
14
* You should have received a copy of the GNU General Public License
15
* along with this program; if not, write to the Free Software
16
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
33
//! Main class for Stellarium core processing.
34
//! This class provides services like management of sky projections,
35
//! tone conversion, or reference frame conversion. It is used by the
36
//! various StelModules to update and display themself.
37
//! There is currently only one StelCore instance in Stellarium, but
38
//! in the future they may be more, allowing for example to display
39
//! several independent views of the sky at the same time.
40
//! @author Fabien Chereau
47
//! Init and load all main core components from the passed config file.
48
void init(const InitParser& conf);
50
//! Init projection temp TODO remove.
51
void initProj(const InitParser& conf);
53
//! Update all the objects with respect to the time.
54
//! @param deltaTime the time increment in ms.
55
void update(int deltaTime);
57
//! Update core state before drawing modules.
60
//! Update core state after drawing modules.
63
//! Get the current projector used in the core.
64
Projector* getProjection() {return projection;}
65
//! Get the current projector used in the core.
66
const Projector* getProjection() const {return projection;}
68
//! Get the current navigation (manages frame transformation) used in the core.
69
Navigator* getNavigation() {return navigation;}
70
//! Get the current navigation (manages frame transformation) used in the core.
71
const Navigator* getNavigation() const {return navigation;}
73
//! Get the current tone reproducer used in the core.
74
ToneReproducer* getToneReproducer() {return tone_converter;}
75
//! Get the current tone reproducer used in the core.
76
const ToneReproducer* getToneReproducer() const {return tone_converter;}
78
//! Get the current observer description.
79
Observer* getObservatory() {return observatory;}
80
//! Get the current observer description.
81
const Observer* getObservatory() const {return observatory;}
83
//! Get the shared instance of GeodesicGrid
84
GeodesicGrid* getGeodesicGrid() {return geodesic_grid;}
85
//! Get the shared instance of GeodesicGrid
86
const GeodesicGrid* getGeodesicGrid() const {return geodesic_grid;}
89
Navigator* navigation; // Manage all navigation parameters, coordinate transformations etc..
90
Observer* observatory; // Manage observer position
91
Projector* projection; // Manage the projection mode and matrix
92
ToneReproducer* tone_converter; // Tones conversion between stellarium world and display device
93
class MovementMgr* movementMgr; // Manage vision movements
95
// Manage geodesic grid
96
GeodesicGrid* geodesic_grid;
99
#endif // _STEL_CORE_H_