[Python-ogre-commit] SF.net SVN: python-ogre: [593] trunk/python-ogre
Brought to you by:
andy_miller,
roman_yakovenko
|
From: <and...@us...> - 2008-06-12 13:21:28
|
Revision: 593
http://python-ogre.svn.sourceforge.net/python-ogre/?rev=593&view=rev
Author: andy_miller
Date: 2008-06-12 06:21:31 -0700 (Thu, 12 Jun 2008)
Log Message:
-----------
Updates to Ogre 1.7 (SVN) support
Updates for Caelum and Quickgui etc
Modified Paths:
--------------
trunk/python-ogre/ThirdParty/ogreal/OgreALListener.h
trunk/python-ogre/ThirdParty/ogreal/OgreALPrereqs.h
trunk/python-ogre/ThirdParty/ogreal/OgreALSound.h
trunk/python-ogre/code_generators/caelum/generate_code.py
trunk/python-ogre/code_generators/common_utils/var_checker.py
trunk/python-ogre/code_generators/ogre/generate_code.py
trunk/python-ogre/code_generators/ogre/python_ogre_aliases.h
trunk/python-ogre/code_generators/ogre/python_ogre_masterlist.h
trunk/python-ogre/environment.py
trunk/python-ogre/setup.py
Added Paths:
-----------
trunk/python-ogre/ThirdParty/caelum/Astronomy.cpp
trunk/python-ogre/ThirdParty/caelum/Astronomy.h
trunk/python-ogre/ThirdParty/caelum/Caelum.h
trunk/python-ogre/ThirdParty/caelum/CaelumExceptions.h
trunk/python-ogre/ThirdParty/caelum/CaelumPrecompiled.cpp
trunk/python-ogre/ThirdParty/caelum/CaelumPrecompiled.h
trunk/python-ogre/ThirdParty/caelum/CaelumPrerequisites.h
trunk/python-ogre/ThirdParty/caelum/CaelumSystem.cpp
trunk/python-ogre/ThirdParty/caelum/CaelumSystem.h
trunk/python-ogre/ThirdParty/caelum/CameraBoundElement.cpp
trunk/python-ogre/ThirdParty/caelum/CameraBoundElement.h
trunk/python-ogre/ThirdParty/caelum/GeometryFactory.cpp
trunk/python-ogre/ThirdParty/caelum/GeometryFactory.h
trunk/python-ogre/ThirdParty/caelum/GroundFog.cpp
trunk/python-ogre/ThirdParty/caelum/GroundFog.h
trunk/python-ogre/ThirdParty/caelum/ImageHelper.cpp
trunk/python-ogre/ThirdParty/caelum/ImageHelper.h
trunk/python-ogre/ThirdParty/caelum/LayeredClouds.cpp
trunk/python-ogre/ThirdParty/caelum/LayeredClouds.h
trunk/python-ogre/ThirdParty/caelum/Moon.cpp
trunk/python-ogre/ThirdParty/caelum/Moon.h
trunk/python-ogre/ThirdParty/caelum/SkyColourModel.cpp
trunk/python-ogre/ThirdParty/caelum/SkyColourModel.h
trunk/python-ogre/ThirdParty/caelum/SkyDome.cpp
trunk/python-ogre/ThirdParty/caelum/SkyDome.h
trunk/python-ogre/ThirdParty/caelum/SkyLight.cpp
trunk/python-ogre/ThirdParty/caelum/SkyLight.h
trunk/python-ogre/ThirdParty/caelum/SolarSystemModel.cpp
trunk/python-ogre/ThirdParty/caelum/SolarSystemModel.h
trunk/python-ogre/ThirdParty/caelum/Starfield.cpp
trunk/python-ogre/ThirdParty/caelum/Starfield.h
trunk/python-ogre/ThirdParty/caelum/Sun.cpp
trunk/python-ogre/ThirdParty/caelum/Sun.h
trunk/python-ogre/ThirdParty/caelum/UniversalClock.cpp
trunk/python-ogre/ThirdParty/caelum/UniversalClock.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUI.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIBorder.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIBorder.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIButton.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIButton.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUICheckBox.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUICheckBox.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIComboBox.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIComboBox.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIConfigScriptParser.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIConfigScriptParser.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIConsole.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIConsole.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIEffect.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIEffect.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIEventArgs.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIExportDLL.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIForwardDeclarations.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIHorizontalScrollBar.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIHorizontalScrollBar.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIHorizontalTrackBar.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIHorizontalTrackBar.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIImage.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIImage.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIKeyCode.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUILabel.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUILabel.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUILabelArea.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUILabelArea.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIList.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIList.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIManager.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIManager.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIMemberFunctionPointer.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIMenuLabel.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIMenuLabel.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIMouseButtonID.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIMouseCursor.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIMouseCursor.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUINStateButton.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUINStateButton.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIPanel.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIPanel.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIPoint.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIPoint.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIPrecompiledHeaders.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIPrecompiledHeaders.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIProgressBar.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIProgressBar.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIQuad.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIQuad.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIQuadContainer.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIQuadContainer.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIRadioButton.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIRadioButton.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIRadioButtonGroup.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIRadioButtonGroup.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIRect.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIRect.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIRoot.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIRoot.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIScrollPane.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIScrollPane.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUISheet.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUISheet.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUISize.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUISize.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUISkinSet.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUISkinSet.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUISkinSetManager.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUISkinSetManager.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIText.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIText.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUITextArea.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUITextArea.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUITextBox.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUITextBox.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUITextHelper.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUITextHelper.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUITitleBar.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUITitleBar.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUITree.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUITree.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUITypedef.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIVector4.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIVector4.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIVertex.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIVertexBuffer.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIVertexBuffer.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIVerticalScrollBar.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIVerticalScrollBar.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIVerticalTrackBar.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIVerticalTrackBar.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIWidget.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIWidget.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIWindow.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIWindow.h
trunk/python-ogre/boost/libs/python/build/Jamfile.v2.old
Removed Paths:
-------------
trunk/python-ogre/ThirdParty/caelum/Astronomy.cpp
trunk/python-ogre/ThirdParty/caelum/Astronomy.h
trunk/python-ogre/ThirdParty/caelum/Caelum.h
trunk/python-ogre/ThirdParty/caelum/CaelumExceptions.h
trunk/python-ogre/ThirdParty/caelum/CaelumListener.h
trunk/python-ogre/ThirdParty/caelum/CaelumPrecompiled.cpp
trunk/python-ogre/ThirdParty/caelum/CaelumPrecompiled.h
trunk/python-ogre/ThirdParty/caelum/CaelumPrerequisites.h
trunk/python-ogre/ThirdParty/caelum/CaelumSystem.cpp
trunk/python-ogre/ThirdParty/caelum/CaelumSystem.h
trunk/python-ogre/ThirdParty/caelum/CameraBoundElement.cpp
trunk/python-ogre/ThirdParty/caelum/CameraBoundElement.h
trunk/python-ogre/ThirdParty/caelum/GeometryFactory.cpp
trunk/python-ogre/ThirdParty/caelum/GeometryFactory.h
trunk/python-ogre/ThirdParty/caelum/GroundFog.cpp
trunk/python-ogre/ThirdParty/caelum/GroundFog.h
trunk/python-ogre/ThirdParty/caelum/ImageHelper.cpp
trunk/python-ogre/ThirdParty/caelum/ImageHelper.h
trunk/python-ogre/ThirdParty/caelum/LayeredClouds.cpp
trunk/python-ogre/ThirdParty/caelum/LayeredClouds.h
trunk/python-ogre/ThirdParty/caelum/SkyColourModel.cpp
trunk/python-ogre/ThirdParty/caelum/SkyColourModel.h
trunk/python-ogre/ThirdParty/caelum/SkyDome.cpp
trunk/python-ogre/ThirdParty/caelum/SkyDome.h
trunk/python-ogre/ThirdParty/caelum/SolarSystemModel.cpp
trunk/python-ogre/ThirdParty/caelum/SolarSystemModel.h
trunk/python-ogre/ThirdParty/caelum/Starfield.cpp
trunk/python-ogre/ThirdParty/caelum/Starfield.h
trunk/python-ogre/ThirdParty/caelum/Sun.cpp
trunk/python-ogre/ThirdParty/caelum/Sun.h
trunk/python-ogre/ThirdParty/caelum/UniversalClock.cpp
trunk/python-ogre/ThirdParty/caelum/UniversalClock.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUI.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIBorder.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIBorder.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIButton.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIButton.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUICheckBox.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUICheckBox.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIComboBox.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIComboBox.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIConfigScriptParser.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIConfigScriptParser.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIConsole.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIConsole.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIEffect.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIEffect.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIEventArgs.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIExportDLL.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIForwardDeclarations.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIHorizontalScrollBar.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIHorizontalScrollBar.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIHorizontalTrackBar.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIHorizontalTrackBar.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIImage.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIImage.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIKeyCode.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUILabel.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUILabel.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUILabelArea.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUILabelArea.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIList.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIList.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIManager.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIManager.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIMemberFunctionPointer.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIMenuLabel.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIMenuLabel.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIMouseButtonID.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIMouseCursor.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIMouseCursor.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUINStateButton.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUINStateButton.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIPanel.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIPanel.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIPoint.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIPoint.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIPrecompiledHeaders.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIPrecompiledHeaders.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIProgressBar.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIProgressBar.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIQuad.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIQuad.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIQuadContainer.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIQuadContainer.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIRadioButton.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIRadioButton.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIRadioButtonGroup.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIRadioButtonGroup.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIRect.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIRect.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIRoot.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIRoot.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIScrollPane.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIScrollPane.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUISheet.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUISheet.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUISize.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUISize.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUISkinSet.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUISkinSet.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUISkinSetManager.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUISkinSetManager.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIText.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIText.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUITextArea.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUITextArea.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUITextBox.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUITextBox.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUITextHelper.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUITextHelper.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUITitleBar.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUITitleBar.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUITree.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUITree.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUITypedef.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIVector4.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIVector4.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIVertex.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIVertexBuffer.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIVertexBuffer.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIVerticalScrollBar.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIVerticalScrollBar.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIVerticalTrackBar.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIVerticalTrackBar.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIWidget.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIWidget.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIWindow.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIWindow.h
trunk/python-ogre/boost/libs/python/build/Jamfile.v2
Deleted: trunk/python-ogre/ThirdParty/caelum/Astronomy.cpp
===================================================================
--- trunk/python-ogre/ThirdParty/caelum/Astronomy.cpp 2008-05-23 01:30:05 UTC (rev 592)
+++ trunk/python-ogre/ThirdParty/caelum/Astronomy.cpp 2008-06-12 13:21:31 UTC (rev 593)
@@ -1,240 +0,0 @@
-/*
-This file is part of Caelum.
-See http://www.ogre3d.org/wiki/index.php/Caelum
-
-Copyright (c) 2008 Caelum team. See Contributors.txt for details.
-
-Caelum is free software: you can redistribute it and/or modify
-it under the terms of the GNU Lesser General Public License as published
-by the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-Caelum is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU Lesser General Public License for more details.
-
-You should have received a copy of the GNU Lesser General Public License
-along with Caelum. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "CaelumPrecompiled.h"
-#include "Astronomy.h"
-
-using Ogre::Degree;
-using Ogre::Radian;
-using Ogre::Math;
-
-namespace caelum
-{
- const Ogre::Degree Astronomy::normalizeAngle (Ogre::Degree value)
- {
- value = fmod (value.valueDegrees (), 360);
- if (value < Degree (0)) {
- value += Degree (360);
- }
- return value;
- }
-
- void Astronomy::convertRectangularToSpherical (
- LongReal x, LongReal y, LongReal z,
- Degree &rasc, Degree &decl, LongReal &dist)
- {
- dist = Math::Sqrt (x * x + y * y + z * z);
- rasc = Math::ATan2 (y, x);
- decl = Math::ATan2 (z, Math::Sqrt (x * x + y * y));
- }
-
- void Astronomy::convertSphericalToRectangular (
- Degree rasc, Degree decl, LongReal dist,
- LongReal &x, LongReal &y, LongReal &z)
- {
- x = dist * Math::Cos (rasc) * Math::Cos (decl);
- y = dist * Math::Sin (rasc) * Math::Cos (decl);
- z = dist * Math::Sin (decl);
- }
-
- void Astronomy::convertEquatorialToHorizontal (
- LongReal jday,
- Degree longitude, Degree latitude,
- Degree rasc, Degree decl,
- Degree &azimuth, Degree &altitude)
- {
- LongReal d = jday - 2451543.5;
- Degree w = Degree (282.9404 + 4.70935E-5 * d);
- Degree M = Degree (356.0470 + 0.9856002585 * d);
- // Sun's mean longitude
- Degree L = w + M;
- // Universal time of day in degrees.
- Degree UT = Degree(fmod(d, 1) * 360);
- Degree hourAngle = longitude + L + Degree (180) + UT - rasc;
-
- LongReal x = Math::Cos (hourAngle) * Math::Cos (decl);
- LongReal y = Math::Sin (hourAngle) * Math::Cos (decl);
- LongReal z = Math::Sin (decl);
-
- LongReal xhor = x * Math::Sin (latitude) - z * Math::Cos (latitude);
- LongReal yhor = y;
- LongReal zhor = x * Math::Cos (latitude) + z * Math::Sin (latitude);
-
- azimuth = Math::ATan2 (yhor, xhor) + Degree (180);
- altitude = Math::ATan2 (zhor, Math::Sqrt (xhor * xhor + yhor * yhor));
- }
-
- void Astronomy::getHorizontalSunPosition (
- LongReal jday,
- Ogre::Degree longitude, Ogre::Degree latitude,
- Ogre::Degree &azimuth, Ogre::Degree &altitude)
- {
- // Midnight at the start of 31 december 2000
- // 2451543.5 == Astronomy::getJulianDayFromGregorianDateTime(1999, 12, 31, 0, 0, 0));
- LongReal d = jday - 2451543.5;
-
- // Sun's Orbital elements:
- // argument of perihelion
- Degree w = Degree (282.9404 + 4.70935E-5 * d);
- // eccentricity (0=circle, 0-1=ellipse, 1=parabola)
- LongReal e = 0.016709 - 1.151E-9 * d;
- // mean anomaly (0 at perihelion; increases uniformly with time)
- Degree M = Degree(356.0470 + 0.9856002585 * d);
- // Obliquity of the ecliptic.
- Degree oblecl = Degree (23.4393 - 3.563E-7 * d);
-
- // Eccentric anomaly
- Degree E = M + Radian(e * Math::Sin (M) * (1 + e * Math::Cos (M)));
-
- // Sun's Distance(R) and true longitude(L)
- LongReal xv = Math::Cos (E) - e;
- LongReal yv = Math::Sin (E) * Math::Sqrt (1 - e * e);
- LongReal r = Math::Sqrt (xv * xv + yv * yv);
- Degree lon = Math::ATan2 (yv, xv) + w;
-
- // Ecliptic rectangular.
- LongReal xecl = r * Math::Cos(lon);
- LongReal yecl = r * Math::Sin(lon);
- LongReal zecl = 0;
-
- // Equatorial rectangular.
- LongReal xequ = xecl;
- LongReal yequ = yecl * Math::Cos (oblecl) - zecl * Math::Sin (oblecl);
- LongReal zequ = yecl * Math::Sin (oblecl) + zecl * Math::Cos (oblecl);
-
- // Equatorial spherical.
- Degree rasc, decl;
- Astronomy::convertRectangularToSpherical (xequ, yequ, zequ, rasc, decl, r);
-
- // Horizontal spherical.
- Astronomy::convertEquatorialToHorizontal (
- jday, longitude, latitude, rasc, decl, azimuth, altitude);
- }
-
- int Astronomy::getJulianDayFromGregorianDate(
- int year, int month, int day)
- {
- // Formulas from http://en.wikipedia.org/wiki/Julian_day
- // These are all integer divisions, but I'm not sure it works
- // correctly for negative values.
- int a = (14 - month) / 12;
- int y = year + 4800 - a;
- int m = month + 12 * a - 3;
- return day + (153 * m + 2) / 5 + 365 * y + y / 4 - y / 100 + y / 400 - 32045;
- }
-
- LongReal Astronomy::getJulianDayFromGregorianDateTime(
- int year, int month, int day,
- int hour, int minute, LongReal second)
- {
- int fpmode = Astronomy::enterHighPrecissionFloatingPointMode ();
-
- int jdn = getJulianDayFromGregorianDate (year, month, day);
- // These are NOT integer divisions.
- LongReal jd = jdn + (hour - 12) / 24.0 + minute / 1440.0 + second / 86400.0;
-
- Astronomy::restoreFloatingPointMode(fpmode);
- return jd;
- }
-
- LongReal Astronomy::getJulianDayFromGregorianDateTime(
- int year, int month, int day,
- LongReal secondsFromMidnight)
- {
- int jdn = getJulianDayFromGregorianDate(year, month, day);
- LongReal jd = jdn + secondsFromMidnight / 86400.0 - 0.5;
- return jd;
- }
-
- void Astronomy::getGregorianDateFromJulianDay(
- int julianDay, int &year, int &month, int &day)
- {
- // From http://en.wikipedia.org/wiki/Julian_day
- int J = julianDay;
- int j = J + 32044;
- int g = j / 146097;
- int dg = j % 146097;
- int c = (dg / 36524 + 1) * 3 / 4;
- int dc = dg - c * 36524;
- int b = dc / 1461;
- int db = dc % 1461;
- int a = (db / 365 + 1) * 3 / 4;
- int da = db - a * 365;
- int y = g * 400 + c * 100 + b * 4 + a;
- int m = (da * 5 + 308) / 153 - 2;
- int d = da - (m + 4) * 153 / 5 + 122;
- year = y - 4800 + (m + 2) / 12;
- month = (m + 2) % 12 + 1;
- day = d + 1;
- }
-
- void Astronomy::getGregorianDateTimeFromJulianDay(
- LongReal julianDay, int &year, int &month, int &day,
- int &hour, int &minute, LongReal &second)
- {
- // Integer julian days are at noon.
- // static_cast<int)(floor( is more precise than Ogre::Math::IFloor.
- // Yes, it does matter.
- int ijd = static_cast<int>(floor(julianDay + 0.5));
- getGregorianDateFromJulianDay(ijd, year, month, day);
-
- LongReal s = (julianDay + 0.5 - ijd) * 86400.0;
- hour = static_cast<int>(floor(s / 3600));
- s -= hour * 3600;
- minute = static_cast<int>(floor(s / 60));
- s -= minute * 60;
- second = s;
- }
-
- void Astronomy::getGregorianDateFromJulianDay(
- LongReal julianDay, int &year, int &month, int &day)
- {
- int hour;
- int minute;
- LongReal second;
- getGregorianDateTimeFromJulianDay(julianDay, year, month, day, hour, minute, second);
- }
-
-#if (OGRE_PLATFORM == OGRE_PLATFORM_WIN32) && (OGRE_COMPILER == OGRE_COMPILER_MSVC)
- int Astronomy::enterHighPrecissionFloatingPointMode ()
- {
- int oldMode = ::_controlfp (0, 0);
- ::_controlfp (_PC_64, _MCW_PC);
- return oldMode;
- }
-
- void Astronomy::restoreFloatingPointMode (int oldMode)
- {
- ::_controlfp (oldMode, _MCW_PC);
- }
-#else
- int Astronomy::enterHighPrecissionFloatingPointMode ()
- {
- // Meaningless
- return 0xC0FFEE;
- }
-
- void Astronomy::restoreFloatingPointMode (int oldMode)
- {
- // Useless check.
- assert(oldMode == 0xC0FFEE);
- }
-#endif
-}
Added: trunk/python-ogre/ThirdParty/caelum/Astronomy.cpp
===================================================================
--- trunk/python-ogre/ThirdParty/caelum/Astronomy.cpp (rev 0)
+++ trunk/python-ogre/ThirdParty/caelum/Astronomy.cpp 2008-06-12 13:21:31 UTC (rev 593)
@@ -0,0 +1,348 @@
+/*
+This file is part of Caelum.
+See http://www.ogre3d.org/wiki/index.php/Caelum
+
+Copyright (c) 2008 Caelum team. See Contributors.txt for details.
+
+Caelum is free software: you can redistribute it and/or modify
+it under the terms of the GNU Lesser General Public License as published
+by the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Caelum is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with Caelum. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "CaelumPrecompiled.h"
+#include "Astronomy.h"
+
+namespace caelum
+{
+ const LongReal Astronomy::PI = 3.1415926535897932384626433832795029L;
+
+ LongReal Astronomy::radToDeg (LongReal value)
+ {
+ return value * 180 / PI;
+ }
+
+ LongReal Astronomy::degToRad (LongReal value)
+ {
+ return value * PI / 180;
+ }
+
+ LongReal Astronomy::sinDeg (LongReal x) {
+ return std::sin (degToRad (x));
+ }
+
+ LongReal Astronomy::cosDeg (LongReal x) {
+ return std::cos (degToRad (x));
+ }
+
+ LongReal Astronomy::atan2Deg (LongReal y, LongReal x) {
+ return radToDeg(std::atan2 (y, x));
+ }
+
+ LongReal Astronomy::normalizeDegrees (LongReal value)
+ {
+ value = fmod (value, 360);
+ if (value < LongReal (0)) {
+ value += LongReal (360);
+ }
+ return value;
+ }
+
+ void Astronomy::convertEclipticToEquatorialRad (
+ LongReal lon, LongReal lat,
+ LongReal &rasc, LongReal &decl)
+ {
+ double ecl = Astronomy::degToRad(23.439281);
+
+ double x = cos(lon) * cos(lat);
+ double y = cos(ecl) * sin(lon) * cos(lat) - sin(ecl) * sin(lat);
+ double z = sin(ecl) * sin(lon) * cos(lat) + cos(ecl) * sin(lat);
+
+ double r = sqrt(x * x + y * y);
+ rasc = atan2(y, x);
+ decl = atan2(z, r);
+ }
+
+ void Astronomy::convertRectangularToSpherical (
+ LongReal x, LongReal y, LongReal z,
+ LongReal &rasc, LongReal &decl, LongReal &dist)
+ {
+ dist = sqrt (x * x + y * y + z * z);
+ rasc = atan2Deg (y, x);
+ decl = atan2Deg (z, sqrt (x * x + y * y));
+ }
+
+ void Astronomy::convertSphericalToRectangular (
+ LongReal rasc, LongReal decl, LongReal dist,
+ LongReal &x, LongReal &y, LongReal &z)
+ {
+ x = dist * cosDeg (rasc) * cosDeg (decl);
+ y = dist * sinDeg (rasc) * cosDeg (decl);
+ z = dist * sinDeg (decl);
+ }
+
+ void Astronomy::convertEquatorialToHorizontal (
+ LongReal jday,
+ LongReal longitude, LongReal latitude,
+ LongReal rasc, LongReal decl,
+ LongReal &azimuth, LongReal &altitude)
+ {
+ LongReal d = jday - 2451543.5;
+ LongReal w = LongReal (282.9404 + 4.70935E-5 * d);
+ LongReal M = LongReal (356.0470 + 0.9856002585 * d);
+ // Sun's mean longitude
+ LongReal L = w + M;
+ // Universal time of day in degrees.
+ LongReal UT = LongReal(fmod(d, 1) * 360);
+ LongReal hourAngle = longitude + L + LongReal (180) + UT - rasc;
+
+ LongReal x = cosDeg (hourAngle) * cosDeg (decl);
+ LongReal y = sinDeg (hourAngle) * cosDeg (decl);
+ LongReal z = sinDeg (decl);
+
+ LongReal xhor = x * sinDeg (latitude) - z * cosDeg (latitude);
+ LongReal yhor = y;
+ LongReal zhor = x * cosDeg (latitude) + z * sinDeg (latitude);
+
+ azimuth = atan2Deg (yhor, xhor) + LongReal (180);
+ altitude = atan2Deg (zhor, sqrt (xhor * xhor + yhor * yhor));
+ }
+
+ void Astronomy::getHorizontalSunPosition (
+ LongReal jday,
+ LongReal longitude, LongReal latitude,
+ LongReal &azimuth, LongReal &altitude)
+ {
+ // 2451544.5 == Astronomy::getJulianDayFromGregorianDateTime(2000, 1, 1, 0, 0, 0));
+ // 2451543.5 == Astronomy::getJulianDayFromGregorianDateTime(1999, 12, 31, 0, 0, 0));
+ LongReal d = jday - 2451543.5;
+
+ // Sun's Orbital elements:
+ // argument of perihelion
+ LongReal w = LongReal (282.9404 + 4.70935E-5 * d);
+ // eccentricity (0=circle, 0-1=ellipse, 1=parabola)
+ LongReal e = 0.016709 - 1.151E-9 * d;
+ // mean anomaly (0 at perihelion; increases uniformly with time)
+ LongReal M = LongReal(356.0470 + 0.9856002585 * d);
+ // Obliquity of the ecliptic.
+ //LongReal oblecl = LongReal (23.4393 - 3.563E-7 * d);
+
+ // Eccentric anomaly
+ LongReal E = M + radToDeg(e * sinDeg (M) * (1 + e * cosDeg (M)));
+
+ // Sun's Distance(R) and true longitude(L)
+ LongReal xv = cosDeg (E) - e;
+ LongReal yv = sinDeg (E) * sqrt (1 - e * e);
+ //LongReal r = sqrt (xv * xv + yv * yv);
+ LongReal lon = atan2Deg (yv, xv) + w;
+ LongReal lat = 0;
+
+ LongReal lambda = degToRad(lon);
+ LongReal beta = degToRad(lat);
+ LongReal rasc, decl;
+ convertEclipticToEquatorialRad (lambda, beta, rasc, decl);
+ rasc = radToDeg(rasc);
+ decl = radToDeg(decl);
+
+ // Horizontal spherical.
+ Astronomy::convertEquatorialToHorizontal (
+ jday, longitude, latitude, rasc, decl, azimuth, altitude);
+ }
+
+ void Astronomy::getHorizontalSunPosition (
+ LongReal jday,
+ Ogre::Degree longitude, Ogre::Degree latitude,
+ Ogre::Degree &azimuth, Ogre::Degree &altitude)
+ {
+ LongReal az, al;
+ getHorizontalSunPosition(jday, longitude.valueDegrees (), latitude.valueDegrees (), az, al);
+ azimuth = Ogre::Degree(az);
+ altitude = Ogre::Degree(al);
+ }
+
+ void Astronomy::getEclipticMoonPositionRad (
+ LongReal jday,
+ LongReal &lon, LongReal &lat)
+ {
+ // Julian centuries since January 1, 2000
+ double T = (jday - 2451545.0L) / 36525.0L;
+ double lprim = 3.8104L + 8399.7091L * T;
+ double mprim = 2.3554L + 8328.6911L * T;
+ double m = 6.2300L + 648.3019L * T;
+ double d = 5.1985L + 7771.3772L * T;
+ double f = 1.6280L + 8433.4663L * T;
+ lon = lprim
+ + 0.1098L * sin(mprim)
+ + 0.0222L * sin(2.0L * d - mprim)
+ + 0.0115L * sin(2.0L * d)
+ + 0.0037L * sin(2.0L * mprim)
+ - 0.0032L * sin(m)
+ - 0.0020L * sin(2.0L * f)
+ + 0.0010L * sin(2.0L * d - 2.0L * mprim)
+ + 0.0010L * sin(2.0L * d - m - mprim)
+ + 0.0009L * sin(2.0L * d + mprim)
+ + 0.0008L * sin(2.0L * d - m)
+ + 0.0007L * sin(mprim - m)
+ - 0.0006L * sin(d)
+ - 0.0005L * sin(m + mprim);
+ lat =
+ + 0.0895L * sin(f)
+ + 0.0049L * sin(mprim + f)
+ + 0.0048L * sin(mprim - f)
+ + 0.0030L * sin(2.0L * d - f)
+ + 0.0010L * sin(2.0L * d + f - mprim)
+ + 0.0008 * sin(2.0L * d - f - mprim)
+ + 0.0006L * sin(2.0L * d + f);
+ }
+
+ void Astronomy::getHorizontalMoonPosition (
+ LongReal jday,
+ LongReal longitude, LongReal latitude,
+ LongReal &azimuth, LongReal &altitude)
+ {
+ // Ecliptic spherical
+ LongReal lonecl, latecl;
+ Astronomy::getEclipticMoonPositionRad (jday, lonecl, latecl);
+
+ // Equatorial spherical
+ LongReal rasc, decl;
+ Astronomy::convertEclipticToEquatorialRad (lonecl, latecl, rasc, decl);
+
+ // Radians to degrees (all angles are in radians up to this point)
+ rasc = radToDeg(rasc);
+ decl = radToDeg(decl);
+
+ // Equatorial to horizontal
+ Astronomy::convertEquatorialToHorizontal (
+ jday, longitude, latitude, rasc, decl, azimuth, altitude);
+ }
+
+ void Astronomy::getHorizontalMoonPosition (
+ LongReal jday,
+ Ogre::Degree longitude, Ogre::Degree latitude,
+ Ogre::Degree &azimuth, Ogre::Degree &altitude)
+ {
+ LongReal az, al;
+ getHorizontalMoonPosition(jday, longitude.valueDegrees (), latitude.valueDegrees (), az, al);
+ azimuth = Ogre::Degree(az);
+ altitude = Ogre::Degree(al);
+ }
+
+ int Astronomy::getJulianDayFromGregorianDate(
+ int year, int month, int day)
+ {
+ // Formulas from http://en.wikipedia.org/wiki/Julian_day
+ // These are all integer divisions, but I'm not sure it works
+ // correctly for negative values.
+ int a = (14 - month) / 12;
+ int y = year + 4800 - a;
+ int m = month + 12 * a - 3;
+ return day + (153 * m + 2) / 5 + 365 * y + y / 4 - y / 100 + y / 400 - 32045;
+ }
+
+ LongReal Astronomy::getJulianDayFromGregorianDateTime(
+ int year, int month, int day,
+ int hour, int minute, LongReal second)
+ {
+ int fpmode = Astronomy::enterHighPrecissionFloatingPointMode ();
+
+ int jdn = getJulianDayFromGregorianDate (year, month, day);
+ // These are NOT integer divisions.
+ LongReal jd = jdn + (hour - 12) / 24.0 + minute / 1440.0 + second / 86400.0;
+
+ Astronomy::restoreFloatingPointMode(fpmode);
+ return jd;
+ }
+
+ LongReal Astronomy::getJulianDayFromGregorianDateTime(
+ int year, int month, int day,
+ LongReal secondsFromMidnight)
+ {
+ int jdn = getJulianDayFromGregorianDate(year, month, day);
+ LongReal jd = jdn + secondsFromMidnight / 86400.0 - 0.5;
+ return jd;
+ }
+
+ void Astronomy::getGregorianDateFromJulianDay(
+ int julianDay, int &year, int &month, int &day)
+ {
+ // From http://en.wikipedia.org/wiki/Julian_day
+ int J = julianDay;
+ int j = J + 32044;
+ int g = j / 146097;
+ int dg = j % 146097;
+ int c = (dg / 36524 + 1) * 3 / 4;
+ int dc = dg - c * 36524;
+ int b = dc / 1461;
+ int db = dc % 1461;
+ int a = (db / 365 + 1) * 3 / 4;
+ int da = db - a * 365;
+ int y = g * 400 + c * 100 + b * 4 + a;
+ int m = (da * 5 + 308) / 153 - 2;
+ int d = da - (m + 4) * 153 / 5 + 122;
+ year = y - 4800 + (m + 2) / 12;
+ month = (m + 2) % 12 + 1;
+ day = d + 1;
+ }
+
+ void Astronomy::getGregorianDateTimeFromJulianDay(
+ LongReal julianDay, int &year, int &month, int &day,
+ int &hour, int &minute, LongReal &second)
+ {
+ // Integer julian days are at noon.
+ // static_cast<int)(floor( is more precise than Ogre::Math::IFloor.
+ // Yes, it does matter.
+ int ijd = static_cast<int>(floor(julianDay + 0.5));
+ getGregorianDateFromJulianDay(ijd, year, month, day);
+
+ LongReal s = (julianDay + 0.5 - ijd) * 86400.0;
+ hour = static_cast<int>(floor(s / 3600));
+ s -= hour * 3600;
+ minute = static_cast<int>(floor(s / 60));
+ s -= minute * 60;
+ second = s;
+ }
+
+ void Astronomy::getGregorianDateFromJulianDay(
+ LongReal julianDay, int &year, int &month, int &day)
+ {
+ int hour;
+ int minute;
+ LongReal second;
+ getGregorianDateTimeFromJulianDay(julianDay, year, month, day, hour, minute, second);
+ }
+
+#if (OGRE_PLATFORM == OGRE_PLATFORM_WIN32) && (OGRE_COMPILER == OGRE_COMPILER_MSVC)
+ int Astronomy::enterHighPrecissionFloatingPointMode ()
+ {
+ int oldMode = ::_controlfp (0, 0);
+ ::_controlfp (_PC_64, _MCW_PC);
+ return oldMode;
+ }
+
+ void Astronomy::restoreFloatingPointMode (int oldMode)
+ {
+ ::_controlfp (oldMode, _MCW_PC);
+ }
+#else
+ int Astronomy::enterHighPrecissionFloatingPointMode ()
+ {
+ // Meaningless
+ return 0xC0FFEE;
+ }
+
+ void Astronomy::restoreFloatingPointMode (int oldMode)
+ {
+ // Useless check.
+ assert(oldMode == 0xC0FFEE);
+ }
+#endif
+}
Deleted: trunk/python-ogre/ThirdParty/caelum/Astronomy.h
===================================================================
--- trunk/python-ogre/ThirdParty/caelum/Astronomy.h 2008-05-23 01:30:05 UTC (rev 592)
+++ trunk/python-ogre/ThirdParty/caelum/Astronomy.h 2008-06-12 13:21:31 UTC (rev 593)
@@ -1,154 +0,0 @@
-/*
-This file is part of Caelum.
-See http://www.ogre3d.org/wiki/index.php/Caelum
-
-Copyright (c) 2008 Caelum team. See Contributors.txt for details.
-
-Caelum is free software: you can redistribute it and/or modify
-it under the terms of the GNU Lesser General Public License as published
-by the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-Caelum is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU Lesser General Public License for more details.
-
-You should have received a copy of the GNU Lesser General Public License
-along with Caelum. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef ASTRONOMY_H
-#define ASTRONOMY_H
-
-#include "CaelumPrerequisites.h"
-
-namespace caelum
-{
- /** Static class with astronomy routines.
- * This class contains various astronomical routines useful in Caelum.
- *
- * Most of the formulas are from http://stjarnhimlen.se/comp/ppcomp.html
- * That site contains much more than was implemented here; it has code
- * for determining the positions of all the planets. Only the sun and
- * moon are actually useful for caelum.
- *
- * The formulas are isolated here in pure procedural code for easier
- * testing (Tests are done as assert in the demo).
- *
- * Precision is vital here, and this class should be converted to use
- * caelum::LongReal instead of Ogre::Real and Ogre::Degree.
- */
- class DllExport Astronomy
- {
- private:
- Astronomy() {}
-
- public:
- /** Normalize an angle to the 0, 360 range.
- * @param x The angle to normalize
- */
- static const Ogre::Degree normalizeAngle(Ogre::Degree x);
-
- static void convertRectangularToSpherical (
- LongReal x, LongReal y, LongReal z,
- Ogre::Degree &rasc, Ogre::Degree &decl, LongReal &dist);
-
- static void convertSphericalToRectangular (
- Ogre::Degree rasc, Ogre::Degree decl, LongReal dist,
- LongReal &x, LongReal &y, LongReal &z);
-
- /** Convert from equatorial to horizontal coordinates.
- * This function converts from angles relative to the earth's equator
- * to angle relative to the horizon at a given point.
- * @param jday Astronomical time as julian day.
- * @param longitude Observer's longitude in degrees east.
- * @param latitude Observer's latitude in degrees north.
- * @param rasc Object's right ascension.
- * @param decl Object's declination.
- * @param azimuth Object's azimuth (clockwise degrees from true north).
- * @param altitude Object's altitude (degrees above the horizon).
- */
- static void convertEquatorialToHorizontal (
- LongReal jday,
- Ogre::Degree longitude, Ogre::Degree latitude,
- Ogre::Degree rasc, Ogre::Degree decl,
- Ogre::Degree &azimuth, Ogre::Degree &altitude);
-
- /** Get the sun's position in the sky in, relative to the horizon.
- * @param jday Astronomical time as julian day.
- * @param longitude Observer longitude
- * @param latitude Observer latitude
- * @param azimuth Astronomical azimuth, measured clockwise from North = 0.
- * @param altitude Astronomical altitude, elevation above the horizon.
- */
- static void getHorizontalSunPosition (
- LongReal jday,
- Ogre::Degree longitude, Ogre::Degree latitude,
- Ogre::Degree &azimuth, Ogre::Degree &altitude);
-
- /** Get astronomical julian day from normal gregorian calendar.
- * From wikipedia: the integer number of days that have elapsed
- * since the initial epoch defined as
- * noon Universal Time (UT) Monday, January 1, 4713 BC
- * @note this is the time at noon, not midnight.
- */
- static int getJulianDayFromGregorianDate(
- int year, int month, int day);
-
- /** Get astronomical julian day from normal gregorian calendar.
- * Calculate julian day from a day in the normal gregorian calendar.
- * Time should be given as UTC.
- * @see http://en.wikipedia.org/wiki/Julian_day
- */
- static LongReal getJulianDayFromGregorianDateTime(
- int year, int month, int day,
- int hour, int minute, LongReal second);
-
- /** Get astronomical julian day from normal gregorian calendar.
- * @see above (I don't know the proper doxygen syntax).
- */
- static LongReal getJulianDayFromGregorianDateTime(
- int year, int month, int day,
- LongReal secondsFromMidnight);
-
- /// Get gregorian date from integer julian day.
- static void getGregorianDateFromJulianDay(
- int julianDay, int &year, int &month, int &day);
-
- /// Get gregorian date time from floating point julian day.
- static void getGregorianDateTimeFromJulianDay(
- LongReal julianDay, int &year, int &month, int &day,
- int &hour, int &minute, LongReal &second);
-
- /// Get gregorian date from floating point julian day.
- static void getGregorianDateFromJulianDay(
- LongReal julianDay, int &year, int &month, int &day);
-
- /** Enter high-precission floating-point mode.
- *
- * By default Direct3D decreases the precission of ALL floating
- * point calculations, enough to stop Caelum's astronomy routines
- * from working correctly.
- *
- * To trigger this behaviour in a standard ogre demo select the
- * Direct3D render system and set "Floating-point mode" to
- * "Fastest". Otherwise it's not a problem.
- *
- * It can be fixed by changing the precission only inside caelum's
- * astronomy routines using the _controlfp function. This only works
- * for MSVC on WIN32; This is a no-op on other compilers.
- *
- * @note: Must be paired with restoreFloatingPointMode.
- * @return Value to pass to restoreFloatingModeMode.
- */
- static int enterHighPrecissionFloatingPointMode ();
-
- /** Restore old floating point precission.
- * @see enterHighPrecissionFloatingPointMode.
- */
- static void restoreFloatingPointMode (int oldMode);
- };
-}
-
-#endif // SOLARSYSTEMMODEL_H
Added: trunk/python-ogre/ThirdParty/caelum/Astronomy.h
===================================================================
--- trunk/python-ogre/ThirdParty/caelum/Astronomy.h (rev 0)
+++ trunk/python-ogre/ThirdParty/caelum/Astronomy.h 2008-06-12 13:21:31 UTC (rev 593)
@@ -0,0 +1,201 @@
+/*
+This file is part of Caelum.
+See http://www.ogre3d.org/wiki/index.php/Caelum
+
+Copyright (c) 2008 Caelum team. See Contributors.txt for details.
+
+Caelum is free software: you can redistribute it and/or modify
+it under the terms of the GNU Lesser General Public License as published
+by the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Caelum is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with Caelum. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef ASTRONOMY_H
+#define ASTRONOMY_H
+
+#include "CaelumPrerequisites.h"
+
+namespace caelum
+{
+ /** Static class with astronomy routines.
+ * This class contains various astronomical routines useful in Caelum.
+ *
+ * Most of the formulas are from http://stjarnhimlen.se/comp/ppcomp.html
+ * That site contains much more than was implemented here; it has code
+ * for determining the positions of all the planets. Only the sun and
+ * moon are actually useful for caelum.
+ *
+ * The formulas are isolated here in pure procedural code for easier
+ * testing (Tests are done as assertions in the demo).
+ *
+ * Precision is vital here, so this class uses caelum::LongReal(double)
+ * instead of Ogre::Real(float) for precission. All angles are in degrees
+ * unless otherwise mentioned. Ogre::Degree and Ogre::Radian use
+ * Ogre::Real and should be avoided here.
+ */
+ class CAELUM_EXPORT Astronomy
+ {
+ private:
+ Astronomy() {}
+
+ static const LongReal PI;
+
+ /** Normalize an angle to the 0, 360 range.
+ * @param x The angle to normalize
+ */
+ static LongReal normalizeDegrees (LongReal x);
+
+ /// Convert radians to degrees.
+ static LongReal radToDeg (LongReal x);
+
+ /// Convert degrees to radians.
+ static LongReal degToRad (LongReal x);
+
+ static LongReal sinDeg (LongReal x);
+ static LongReal cosDeg (LongReal x);
+ static LongReal atan2Deg (LongReal y, LongReal x);
+
+ public:
+ /** Convert from ecliptic to ecuatorial spherical coordinates, in radians.
+ * @param lon Ecliptic longitude
+ * @param lat Ecliptic latitude
+ * @param rasc Right ascension
+ * @param decl Declination
+ * @warning: This function works in radians.
+ */
+ static void convertEclipticToEquatorialRad (
+ LongReal lon, LongReal lat,
+ LongReal& rasc, LongReal& decl);
+
+ static void convertRectangularToSpherical (
+ LongReal x, LongReal y, LongReal z,
+ LongReal &rasc, LongReal &decl, LongReal &dist);
+
+ static void convertSphericalToRectangular (
+ LongReal rasc, LongReal decl, LongReal dist,
+ LongReal &x, LongReal &y, LongReal &z);
+
+ /** Convert from equatorial to horizontal coordinates.
+ * This function converts from angles relative to the earth's equator
+ * to angle relative to the horizon at a given point.
+ * @param jday Astronomical time as julian day.
+ * @param longitude Observer's longitude in degrees east.
+ * @param latitude Observer's latitude in degrees north.
+ * @param rasc Object's right ascension.
+ * @param decl Object's declination.
+ * @param azimuth Object's azimuth (clockwise degrees from true north).
+ * @param altitude Object's altitude (degrees above the horizon).
+ */
+ static void convertEquatorialToHorizontal (
+ LongReal jday,
+ LongReal longitude, LongReal latitude,
+ LongReal rasc, LongReal decl,
+ LongReal &azimuth, LongReal &altitude);
+
+ /** Get the sun's position in the sky in, relative to the horizon.
+ * @param jday Astronomical time as julian day.
+ * @param longitude Observer longitude
+ * @param latitude Observer latitude
+ * @param azimuth Astronomical azimuth, measured clockwise from North = 0.
+ * @param altitude Astronomical altitude, elevation above the horizon.
+ */
+ static void getHorizontalSunPosition (
+ LongReal jday,
+ LongReal longitude, LongReal latitude,
+ LongReal &azimuth, LongReal &altitude);
+
+ static void getHorizontalSunPosition (
+ LongReal jday,
+ Ogre::Degree longitude, Ogre::Degree latitude,
+ Ogre::Degree &azimuth, Ogre::Degree &altitude);
+
+ /// Gets the moon position at a specific time in ecliptic coordinates
+ /// @param lon: Ecliptic longitude, in radians.
+ /// @param lat: Ecliptic latitude, in radians.
+ static void getEclipticMoonPositionRad (
+ LongReal jday,
+ LongReal &lon,
+ LongReal &lat);
+
+ static void getHorizontalMoonPosition (
+ LongReal jday,
+ LongReal longitude, LongReal latitude,
+ LongReal &azimuth, LongReal &altitude);
+ static void getHorizontalMoonPosition (
+ LongReal jday,
+ Ogre::Degree longitude, Ogre::Degree latitude,
+ Ogre::Degree &azimuth, Ogre::Degree &altitude);
+
+ /** Get astronomical julian day from normal gregorian calendar.
+ * From wikipedia: the integer number of days that have elapsed
+ * since the initial epoch defined as
+ * noon Universal Time (UT) Monday, January 1, 4713 BC
+ * @note this is the time at noon, not midnight.
+ */
+ static int getJulianDayFromGregorianDate (
+ int year, int month, int day);
+
+ /** Get astronomical julian day from normal gregorian calendar.
+ * Calculate julian day from a day in the normal gregorian calendar.
+ * Time should be given as UTC.
+ * @see http://en.wikipedia.org/wiki/Julian_day
+ */
+ static LongReal getJulianDayFromGregorianDateTime (
+ int year, int month, int day,
+ int hour, int minute, LongReal second);
+
+ /** Get astronomical julian day from normal gregorian calendar.
+ * @see above (I don't know the proper doxygen syntax).
+ */
+ static LongReal getJulianDayFromGregorianDateTime (
+ int year, int month, int day,
+ LongReal secondsFromMidnight);
+
+ /// Get gregorian date from integer julian day.
+ static void getGregorianDateFromJulianDay (
+ int julianDay, int &year, int &month, int &day);
+
+ /// Get gregorian date time from floating point julian day.
+ static void getGregorianDateTimeFromJulianDay (
+ LongReal julianDay, int &year, int &month, int &day,
+ int &hour, int &minute, LongReal &second);
+
+ /// Get gregorian date from floating point julian day.
+ static void getGregorianDateFromJulianDay (
+ LongReal julianDay, int &year, int &month, int &day);
+
+ /** Enter high-precission floating-point mode.
+ *
+ * By default Direct3D decreases the precission of ALL floating
+ * point calculations, enough to stop Caelum's astronomy routines
+ * from working correctly.
+ *
+ * To trigger this behaviour in a standard ogre demo select the
+ * Direct3D render system and set "Floating-point mode" to
+ * "Fastest". Otherwise it's not a problem.
+ *
+ * It can be fixed by changing the precission only inside caelum's
+ * astronomy routines using the _controlfp function. This only works
+ * for MSVC on WIN32; This is a no-op on other compilers.
+ *
+ * @note: Must be paired with restoreFloatingPointMode.
+ * @return Value to pass to restoreFloatingModeMode.
+ */
+ static int enterHighPrecissionFloatingPointMode ();
+
+ /** Restore old floating point precission.
+ * @see enterHighPrecissionFloatingPointMode.
+ */
+ static void restoreFloatingPointMode (int oldMode);
+ };
+}
+
+#endif // SOLARSYSTEMMODEL_H
Deleted: trunk/python-ogre/ThirdParty/caelum/Caelum.h
===================================================================
--- trunk/python-ogre/ThirdParty/caelum/Caelum.h 2008-05-23 01:30:05 UTC (rev 592)
+++ trunk/python-ogre/ThirdParty/caelum/Caelum.h 2008-06-12 13:21:31 UTC (rev 593)
@@ -1,39 +0,0 @@
-/*
-This file is part of Caelum.
-See http://www.ogre3d.org/wiki/index.php/Caelum
-
-Copyright (c) 2006-2008 Caelum team. See Contributors.txt for details.
-
-Caelum is free software: you can redistribute it and/or modify
-it under the terms of the GNU Lesser General Public License as published
-by the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-Caelum is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU Lesser General Public License for more details.
-
-You should have received a copy of the GNU Lesser General Public License
-along with Caelum. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CAELUM_H
-#define CAELUM_H
-
-#include "CaelumPrerequisites.h"
-
-#include "CaelumExceptions.h"
-#include "CaelumListener.h"
-#include "CaelumSystem.h"
-#include "CameraBoundElement.h"
-#include "GeometryFactory.h"
-#include "SkyColourModel.h"
-#include "SkyDome.h"
-#include "Sun.h"
-#include "LayeredClouds.h"
-#include "UniversalClock.h"
-#include "SolarSystemModel.h"
-#include "Astronomy.h"
-
-#endif //CAELUM_H
Added: trunk/python-ogre/ThirdParty/caelum/Caelum.h
===================================================================
--- trunk/python-ogre/ThirdParty/caelum/Caelum.h (rev 0)
+++ trunk/python-ogre/ThirdParty/caelum/Caelum.h 2008-06-12 13:21:31 UTC (rev 593)
@@ -0,0 +1,38 @@
+/*
+This file is part of Caelum.
+See http://www.ogre3d.org/wiki/index.php/Caelum
+
+Copyright (c) 2006-2008 Caelum team. See Contributors.txt for details.
+
+Caelum is free software: you can redistribute it and/or modify
+it under the terms of the GNU Lesser General Public License as published
+by the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Caelum is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with Caelum. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef CAELUM_H
+#define CAELUM_H
+
+#include "CaelumPrerequisites.h"
+
+#include "CaelumExceptions.h"
+#include "CaelumSystem.h"
+#include "CameraBoundElement.h"
+#include "GeometryFactory.h"
+#include "SkyColourModel.h"
+#include "SkyDome.h"
+#include "Sun.h"
+#include "LayeredClouds.h"
+#include "UniversalClock.h"
+#include "SolarSystemModel.h"
+#include "Astronomy.h"
+
+#endif //CAELUM_H
Deleted: trunk/python-ogre/ThirdParty/caelum/CaelumExceptions.h
===================================================================
--- trunk/python-ogre/ThirdParty/caelum/CaelumExceptions.h 2008-05-23 01:30:05 UTC (rev 592)
+++ trunk/python-ogre/ThirdParty/caelum/CaelumExceptions.h 2008-06-12 13:21:31 UTC (rev 593)
@@ -1,41 +0,0 @@
-/*
-This file is part of Caelum.
-See http://www.ogre3d.org/wiki/index.php/Caelum
-
-Copyright (c) 2006-2007 Caelum team. See Contributors.txt for details.
-
-Caelum is free software: you can redistribute it and/or modify
-it under the terms of the GNU Lesser General Public License as published
-by the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-Caelum is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU Lesser General Public License for more details.
-
-You should have received a copy of the GNU Lesser General Public License
-along with Caelum. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CAELUMEXCEPTIONS_H
-#define CAELUMEXCEPTIONS_H
-
-#include "CaelumPrerequisites.h"
-
-namespace caelum {
-
-/** Exception class for unsupported features.
- * @author Jesús Alonso Abad.
- */
-class DllExport UnsupportedException : public Ogre::Exception {
- public:
- /** Constructor.
- */
- UnsupportedException (int number, const Ogre::String &description, const Ogre::String &source, const char *file, long line)
- : Ogre::Exception (number, description, source, "UnsupportedException", file, line) { }
-};
-
-} // namespace caelum
-
-#endif // CAELUMEXCEPTIONS_H
Added: trunk/python-ogre/ThirdParty/caelum/CaelumExceptions.h
===================================================================
--- trunk/python-ogre/ThirdParty/caelum/CaelumExceptions.h (rev 0)
+++ trunk/python-ogre/ThirdParty/caelum/CaelumExceptions.h 2008-06-12 13:21:31 UTC (rev 593)
@@ -0,0 +1,41 @@
+/*
+This file is part of Caelum.
+See http://www.ogre3d.org/wiki/index.php/Caelum
+
+Copyright (c) 2006-2007 Caelum team. See Contributors.txt for details.
+
+Caelum is free software: you can redistribute it and/or modify
+it under the terms of the GNU Lesser General Public License as published
+by the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Caelum is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with Caelum. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef CAELUMEXCEPTIONS_H
+#define CAELUMEXCEPTIONS_H
+
+#include "CaelumPrerequisites.h"
+
+namespace caelum {
+
+/** Exception class for unsupported features.
+ * @author Jesús Alonso Abad.
+ */
+class CAELUM_EXPORT UnsupportedException : public Ogre::Exception {
+ public:
+ /** Constructor.
+ */
+ UnsupportedException (int number, const Ogre::String &description, const Ogre::String &sou...
[truncated message content] |