SO3Engine
src
SO3SceneGraph
SO3SkyAstronomicalModel.cpp
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
32
#include "
SO3SceneGraph/SO3SkyAstronomicalModel.h
"
33
#include "
SO3SceneGraph/SO3Sky.h
"
34
#include "
SO3SceneGraph/SO3Environment.h
"
35
#include "
SO3SceneGraph/SO3Sun.h
"
36
#include "
SO3SceneGraph/SO3Moon.h
"
37
38
namespace
SO3
39
{
40
41
SSkyAstronomicalModel::SSkyAstronomicalModel(
SSky
* parentSky) : SkyX::Controller(false)
42
{
43
assert(parentSky != 0);
44
sun = parentSky->
GetEnvironment
()->
GetSun
();
45
moon = parentSky->
GetEnvironment
()->
GetMoon
();
46
}
47
48
SSkyAstronomicalModel::SSkyAstronomicalModel() : SkyX::Controller(false)
49
{
50
// Forbiden (private)
51
}
52
53
SSkyAstronomicalModel::~SSkyAstronomicalModel
()
54
{
55
}
56
57
Ogre::Vector3
SSkyAstronomicalModel::getSunDirection
()
58
{
59
return
sun->
GetLightDirection
();
60
}
61
62
Ogre::Vector3
SSkyAstronomicalModel::getMoonDirection
()
63
{
64
return
moon->
GetLightDirection
();
65
}
66
67
Ogre::Real
SSkyAstronomicalModel::getMoonPhase
()
68
{
69
return
moon->
GetPhase
();
70
}
71
72
void
SSkyAstronomicalModel::update
(
const
Ogre::Real& simDeltaTime)
73
{
74
// Nothing to do in this implementation, simulation advance is managed elsewhere.
75
}
76
77
}
SO3Environment.h
SO3Moon.h
SO3Sky.h
SO3SkyAstronomicalModel.h
SO3Sun.h
SO3::SEnvironmentComponent::GetEnvironment
SEnvironment * GetEnvironment()
Definition
SO3EnvironmentComponent.cpp:58
SO3::SEnvironment::GetMoon
SMoon * GetMoon()
Definition
SO3Environment.cpp:257
SO3::SEnvironment::GetSun
SSun * GetSun()
Definition
SO3Environment.cpp:252
SO3::SMoon::GetPhase
const Ogre::Real GetPhase()
Definition
SO3Moon.cpp:55
SO3::SSkyAstronomicalModel::getSunDirection
virtual Ogre::Vector3 getSunDirection()
Definition
SO3SkyAstronomicalModel.cpp:57
SO3::SSkyAstronomicalModel::~SSkyAstronomicalModel
~SSkyAstronomicalModel()
Definition
SO3SkyAstronomicalModel.cpp:53
SO3::SSkyAstronomicalModel::getMoonDirection
virtual Ogre::Vector3 getMoonDirection()
Definition
SO3SkyAstronomicalModel.cpp:62
SO3::SSkyAstronomicalModel::update
virtual void update(const Ogre::Real &simDeltaTime)
Definition
SO3SkyAstronomicalModel.cpp:72
SO3::SSkyAstronomicalModel::getMoonPhase
virtual Ogre::Real getMoonPhase()
Definition
SO3SkyAstronomicalModel.cpp:67
SO3::SSky
Definition
SO3Sky.h:47
SO3::SSkyLight::GetLightDirection
const Ogre::Vector3 GetLightDirection() const
Definition
SO3SkyLight.cpp:173
SO3
Definition
SO3DataScol.h:38
Generated by
1.9.8