SO3Engine
include
SO3Utils
SO3UniversalClock.h
Go to the documentation of this file.
1
/*
2
-----------------------------------------------------------------------------
3
This source file is part of OpenSpace3D
4
For the latest info, see http://www.openspace3d.com
5
6
Copyright (c) 2012 I-maginer
7
8
This program is free software; you can redistribute it and/or modify it under
9
the terms of the GNU Lesser General Public License as published by the Free Software
10
Foundation; either version 2 of the License, or (at your option) any later
11
version.
12
13
This program is distributed in the hope that it will be useful, but WITHOUT
14
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
16
17
You should have received a copy of the GNU Lesser General Public License along with
18
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
19
Place - Suite 330, Boston, MA 02111-1307, USA, or go to
20
http://www.gnu.org/copyleft/lesser.txt
21
22
-----------------------------------------------------------------------------
23
*/
24
25
/*
26
Taken from Caelum (http://www.ogre3d.org/wiki/index.php/Caelum)
27
*/
28
29
#ifndef __SO3_UNIVERSALCLOCK_H__
30
#define __SO3_UNIVERSALCLOCK_H__
31
32
#include "
SO3Astronomy.h
"
33
34
namespace
SO3
35
{
36
45
class
_SO3_Export
SUniversalClock
46
{
47
public
:
48
static
const
double
SECONDS_PER_DAY
;
49
protected
:
50
private
:
51
double
mJulianDayBase;
52
double
mCurrentTime;
53
double
mLastUpdateTime;
54
float
mTimeScale;
55
56
public
:
60
SUniversalClock
();
61
66
void
SetTimeScale(
const
float
& scale);
67
72
float
GetTimeScale()
const
;
73
78
void
Update(
const
float
& time);
79
85
void
SetJulianDay(
const
double
& value);
86
91
void
SetGregorianDateTime(
const
int
& year,
const
int
& month,
const
int
& day,
const
int
& hour,
const
int
& minute,
const
double
& second);
92
95
void
GetGregorianDateTime(
int
& year,
int
& month,
int
& day,
int
& hour,
int
& minute,
double
& second);
96
100
double
GetJulianDay()
const
;
101
106
double
GetJulianDayDifference()
const
;
107
112
double
GetJulianSecond()
const
;
113
118
double
GetJulianSecondDifference()
const
;
119
};
120
121
}
122
123
#endif
SO3Astronomy.h
SO3::SUniversalClock
Definition
SO3UniversalClock.h:46
SO3::SUniversalClock::SECONDS_PER_DAY
static const double SECONDS_PER_DAY
Number of seconds per day; exactly 60*60*24.
Definition
SO3UniversalClock.h:48
SO3
Definition
SO3DataScol.h:38
Generated by
1.9.8