]> git.mxchange.org Git - simgear.git/commitdiff
Move some OSG-dependant code into scene/util.
authorJames Turner <zakalawe@mac.com>
Tue, 29 Nov 2011 10:23:09 +0000 (10:23 +0000)
committerJames Turner <zakalawe@mac.com>
Tue, 29 Nov 2011 10:23:09 +0000 (10:23 +0000)
17 files changed:
simgear/math/CMakeLists.txt
simgear/math/project.cxx [deleted file]
simgear/math/project.hxx [deleted file]
simgear/misc/CMakeLists.txt
simgear/misc/PathOptions.cxx [deleted file]
simgear/misc/PathOptions.hxx [deleted file]
simgear/scene/sky/cloud.cxx
simgear/scene/sky/moon.cxx
simgear/scene/sky/newcloud.cxx
simgear/scene/sky/oursun.cxx
simgear/scene/util/CMakeLists.txt
simgear/scene/util/PathOptions.cxx [new file with mode: 0644]
simgear/scene/util/PathOptions.hxx [new file with mode: 0644]
simgear/scene/util/SGCoreOSGDependant.cxx
simgear/scene/util/project.cxx [new file with mode: 0644]
simgear/scene/util/project.hxx [new file with mode: 0644]
simgear/screen/tr.cxx

index 91f01dbe2dd5d6f11c06c584a9d34a805072b132..b01f9259f8d9a108012e982deaefc8e5f5f409de 100644 (file)
@@ -28,7 +28,6 @@ set(HEADERS
     beziercurve.hxx
     interpolater.hxx
     leastsqs.hxx
-    project.hxx
     sg_geodesy.hxx
     sg_types.hxx
        sg_random.h
@@ -39,7 +38,6 @@ set(SOURCES
     SGGeodesy.cxx
     interpolater.cxx
     leastsqs.cxx
-    project.cxx
        sg_random.c
     )
 
diff --git a/simgear/math/project.cxx b/simgear/math/project.cxx
deleted file mode 100644 (file)
index c6a4ef7..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright (C) 2010  Tim Moore moore@bricoworks.com
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Library General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This library 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
-// Library General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-//
-
-#ifdef HAVE_CONFIG_H
-#  include <simgear_config.h>
-#endif
-
-#include "project.hxx"
-
-#ifndef NO_OPENSCENEGRAPH_INTERFACE
-
-#include <osg/Math>
-#include <osg/Matrixd>
-
-namespace simgear
-{
-GLint project(GLdouble objX, GLdouble objY, GLdouble objZ,
-              const GLdouble *model, const GLdouble *proj, const GLint *view,
-              GLdouble* winX, GLdouble* winY, GLdouble* winZ)
-{
-    using namespace osg;
-    Vec4d obj(objX, objY, objZ, 1.0);
-    Matrixd Mmodel(model), Mproj(proj);
-    Matrixd Mwin = (Matrixd::translate(1.0, 1.0, 1.0)
-                    * Matrixd::scale(0.5 * view[2], 0.5 * view[3], 0.5)
-                    * Matrixd::translate(view[0], view[1], 0.0));
-    Vec4d result = obj * Mmodel * Mproj * Mwin;
-    if (equivalent(result.w(), 0.0))
-        return GL_FALSE;
-    result = result / result.w();
-    *winX = result.x();  *winY = result.y();  *winZ = result.z();
-    return GL_TRUE;
-}
-
-}
-
-#endif // of NO_OPENSCENEGRAPH_INTERFACE
-
diff --git a/simgear/math/project.hxx b/simgear/math/project.hxx
deleted file mode 100644 (file)
index 07a97d7..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright (C) 2010  Tim Moore moore@bricoworks.com
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Library General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This library 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
-// Library General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-//
-#ifndef SIMGEAR_PROJECT_HXX
-#define SIMGEAR_PROJECT_HXX 1
-
-#ifndef NO_OPENSCENEGRAPH_INTERFACE
-
-#include <osg/GL>
-
-namespace simgear
-{
-// Replacement for gluProject. OSG doesn't link in GLU anymore.
-extern GLint project(GLdouble objX, GLdouble objY, GLdouble objZ,
-                     const GLdouble *model, const GLdouble *proj,
-                     const GLint *view,
-                     GLdouble* winX, GLdouble* winY, GLdouble* winZ);
-}
-
-#endif // of NO_OPENSCENEGRAPH_INTERFACE
-
-#endif
-
index 582f29ec5291111e03a06a525b39d25a7e68bce1..c4ae64df15de88952a56fb35cdd0752df8e75a89 100644 (file)
@@ -2,7 +2,6 @@
 include (SimGearComponent)
 
 set(HEADERS 
-    PathOptions.hxx
     ResourceManager.hxx
     interpolator.hxx
     sg_dir.hxx
@@ -18,7 +17,6 @@ set(HEADERS
     )
 
 set(SOURCES 
-    PathOptions.cxx
     ResourceManager.cxx
     interpolator.cxx
     sg_dir.cxx
diff --git a/simgear/misc/PathOptions.cxx b/simgear/misc/PathOptions.cxx
deleted file mode 100644 (file)
index b81600d..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-// PathOptions.cxx -- make an osgDB Options object from a path
-// Copyright (C) 2007  Tim Moore timoore@redhat.com
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Library General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This library 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
-// Library General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-//
-// $Id$
-
-#ifdef HAVE_CONFIG_H
-#  include <simgear_config.h>
-#endif
-
-#ifndef NO_OPENSCENEGRAPH_INTERFACE
-
-#include <osgDB/Registry>
-
-#include "PathOptions.hxx"
-
-using namespace simgear;
-
-osgDB::ReaderWriter::Options* simgear::makeOptionsFromPath(const SGPath& path)
-{
-    using namespace osgDB;
-    ReaderWriter::Options *options
-        = new ReaderWriter::Options(*(Registry::instance()->getOptions()));
-    options->setDatabasePath(path.str());
-    return options;
-}
-
-#endif // of NO_OPENSCENEGRAPH_INTERFACE
diff --git a/simgear/misc/PathOptions.hxx b/simgear/misc/PathOptions.hxx
deleted file mode 100644 (file)
index 8d4186a..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-// PathOptions.hxx -- make an osgDB Options object from a path
-// Copyright (C) 2007  Tim Moore timoore@redhat.com
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Library General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This library 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
-// Library General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-//
-// $Id$
-
-#ifndef PATHOPTIONSHXX
-#define PATHOPTIONSHXX 1
-
-#ifndef NO_OPENSCENEGRAPH_INTERFACE
-#include <osgDB/ReaderWriter>
-#include <simgear/misc/sg_path.hxx>
-
-namespace simgear
-{
-osgDB::ReaderWriter::Options* makeOptionsFromPath(const SGPath&);
-}
-#endif
-
-#endif
index a3cf4ffeb0b8ddf5fa559e097dc314848644a3ae..228f0a8c90a0c18d98ceefbb9c91c3199acabd9f 100644 (file)
@@ -48,7 +48,7 @@
 #endif
 
 #include <simgear/math/sg_random.h>
-#include <simgear/misc/PathOptions.hxx>
+#include <simgear/scene/util/PathOptions.hxx>
 #include <simgear/debug/logstream.hxx>
 #include <simgear/scene/model/model.hxx>
 #include <simgear/scene/util/RenderConstants.hxx>
index a5366c71681d2908053173e1e950264ca821cb70..28275e6a6714bbc72633166a6a875dcd88d13119 100644 (file)
@@ -50,7 +50,7 @@
 #include <simgear/constants.h>
 #include <simgear/screen/colors.hxx>
 #include <simgear/scene/model/model.hxx>
-#include <simgear/misc/PathOptions.hxx>
+#include <simgear/scene/util/PathOptions.hxx>
 
 #include "sphere.hxx"
 #include "moon.hxx"
index e05301afb18f70573842e759bc393e1ad5d069de..d78380d2927fb2b9a57d8ca6f0c043d6de056b61 100644 (file)
@@ -42,7 +42,7 @@
 
 #include <simgear/math/sg_random.h>
 #include <simgear/misc/sg_path.hxx>
-#include <simgear/misc/PathOptions.hxx>
+#include <simgear/scene/util/PathOptions.hxx>
 #include <simgear/props/props.hxx>
 #include <simgear/scene/model/model.hxx>
 #include <simgear/scene/util/SGReaderWriterOptions.hxx>
index db7e73198cb69c8cf47c7ed0d738fed41cdfe8f4..59db466c54c6c45814ef86f6f28ac5b05d5e9de0 100644 (file)
@@ -42,7 +42,7 @@
 #include <osgDB/ReadFile>
 
 #include <simgear/math/SGMath.hxx>
-#include <simgear/misc/PathOptions.hxx>
+#include <simgear/scene/util/PathOptions.hxx>
 #include <simgear/screen/colors.hxx>
 #include <simgear/scene/model/model.hxx>
 #include "oursun.hxx"
index d312dfae04302a58d6b9eb59ac73243bddea5608..f04b77c46dcd4f78b87e1ec2427579a7374a2395 100644 (file)
@@ -20,6 +20,8 @@ set(HEADERS
     StateAttributeFactory.hxx
     UpdateOnceCallback.hxx
     VectorArrayAdapter.hxx
+    PathOptions.hxx
+    project.hxx
     )
 
 set(SOURCES 
@@ -35,6 +37,8 @@ set(SOURCES
     SplicingVisitor.cxx
     StateAttributeFactory.cxx
     UpdateOnceCallback.cxx
+    PathOptions.cxx
+    project.cxx
     )
 
 simgear_scene_component(util scene/util "${SOURCES}" "${HEADERS}")
diff --git a/simgear/scene/util/PathOptions.cxx b/simgear/scene/util/PathOptions.cxx
new file mode 100644 (file)
index 0000000..203247b
--- /dev/null
@@ -0,0 +1,37 @@
+// PathOptions.cxx -- make an osgDB Options object from a path
+// Copyright (C) 2007  Tim Moore timoore@redhat.com
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Library General Public
+// License as published by the Free Software Foundation; either
+// version 2 of the License, or (at your option) any later version.
+//
+// This library 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
+// Library General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+//
+// $Id$
+
+#ifdef HAVE_CONFIG_H
+#  include <simgear_config.h>
+#endif
+
+#include <osgDB/Registry>
+
+#include "PathOptions.hxx"
+
+using namespace simgear;
+
+osgDB::ReaderWriter::Options* simgear::makeOptionsFromPath(const SGPath& path)
+{
+    using namespace osgDB;
+    ReaderWriter::Options *options
+        = new ReaderWriter::Options(*(Registry::instance()->getOptions()));
+    options->setDatabasePath(path.str());
+    return options;
+}
diff --git a/simgear/scene/util/PathOptions.hxx b/simgear/scene/util/PathOptions.hxx
new file mode 100644 (file)
index 0000000..5bf3a4b
--- /dev/null
@@ -0,0 +1,31 @@
+// PathOptions.hxx -- make an osgDB Options object from a path
+// Copyright (C) 2007  Tim Moore timoore@redhat.com
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Library General Public
+// License as published by the Free Software Foundation; either
+// version 2 of the License, or (at your option) any later version.
+//
+// This library 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
+// Library General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+//
+// $Id$
+
+#ifndef PATHOPTIONSHXX
+#define PATHOPTIONSHXX 1
+
+#include <osgDB/ReaderWriter>
+#include <simgear/misc/sg_path.hxx>
+
+namespace simgear
+{
+osgDB::ReaderWriter::Options* makeOptionsFromPath(const SGPath&);
+}
+
+#endif
index 158537003f23b9efac58c229fd9e0e84e3cc8a7d..b46064e962178cb6edbf62f8848aeba46aa5f556 100644 (file)
 #  include <simgear_config.h>
 #endif
 
-#include <simgear/math/project.hxx>
-#include <simgear/misc/PathOptions.hxx>
 #include <simgear/math/SGMath.hxx>
 
 #include <osg/Math>
 #include <osg/Matrixd>
-#include <osgDB/Registry>
-
-namespace simgear
-{
-GLint project(GLdouble objX, GLdouble objY, GLdouble objZ,
-              const GLdouble *model, const GLdouble *proj, const GLint *view,
-              GLdouble* winX, GLdouble* winY, GLdouble* winZ)
-{
-    using namespace osg;
-    Vec4d obj(objX, objY, objZ, 1.0);
-    Matrixd Mmodel(model), Mproj(proj);
-    Matrixd Mwin = (Matrixd::translate(1.0, 1.0, 1.0)
-                    * Matrixd::scale(0.5 * view[2], 0.5 * view[3], 0.5)
-                    * Matrixd::translate(view[0], view[1], 0.0));
-    Vec4d result = obj * Mmodel * Mproj * Mwin;
-    if (equivalent(result.w(), 0.0))
-        return GL_FALSE;
-    result = result / result.w();
-    *winX = result.x();  *winY = result.y();  *winZ = result.z();
-    return GL_TRUE;
-}
-
-osgDB::ReaderWriter::Options* makeOptionsFromPath(const SGPath& path)
-{
-    using namespace osgDB;
-    ReaderWriter::Options *options
-        = new ReaderWriter::Options(*(Registry::instance()->getOptions()));
-    options->setDatabasePath(path.str());
-    return options;
-}
-
-
-}
 
 osg::Matrix SGGeod::makeSimulationFrameRelative() const
 {
diff --git a/simgear/scene/util/project.cxx b/simgear/scene/util/project.cxx
new file mode 100644 (file)
index 0000000..aff7f0a
--- /dev/null
@@ -0,0 +1,48 @@
+// Copyright (C) 2010  Tim Moore moore@bricoworks.com
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Library General Public
+// License as published by the Free Software Foundation; either
+// version 2 of the License, or (at your option) any later version.
+//
+// This library 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
+// Library General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+//
+
+#ifdef HAVE_CONFIG_H
+#  include <simgear_config.h>
+#endif
+
+#include "project.hxx"
+
+#include <osg/Math>
+#include <osg/Matrixd>
+
+namespace simgear
+{
+GLint project(GLdouble objX, GLdouble objY, GLdouble objZ,
+              const GLdouble *model, const GLdouble *proj, const GLint *view,
+              GLdouble* winX, GLdouble* winY, GLdouble* winZ)
+{
+    using namespace osg;
+    Vec4d obj(objX, objY, objZ, 1.0);
+    Matrixd Mmodel(model), Mproj(proj);
+    Matrixd Mwin = (Matrixd::translate(1.0, 1.0, 1.0)
+                    * Matrixd::scale(0.5 * view[2], 0.5 * view[3], 0.5)
+                    * Matrixd::translate(view[0], view[1], 0.0));
+    Vec4d result = obj * Mmodel * Mproj * Mwin;
+    if (equivalent(result.w(), 0.0))
+        return GL_FALSE;
+    result = result / result.w();
+    *winX = result.x();  *winY = result.y();  *winZ = result.z();
+    return GL_TRUE;
+}
+
+} // of namespace simgear
+
diff --git a/simgear/scene/util/project.hxx b/simgear/scene/util/project.hxx
new file mode 100644 (file)
index 0000000..9250615
--- /dev/null
@@ -0,0 +1,32 @@
+// Copyright (C) 2010  Tim Moore moore@bricoworks.com
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Library General Public
+// License as published by the Free Software Foundation; either
+// version 2 of the License, or (at your option) any later version.
+//
+// This library 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
+// Library General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+//
+#ifndef SIMGEAR_PROJECT_HXX
+#define SIMGEAR_PROJECT_HXX 1
+
+#include <osg/GL>
+
+namespace simgear
+{
+// Replacement for gluProject. OSG doesn't link in GLU anymore.
+extern GLint project(GLdouble objX, GLdouble objY, GLdouble objZ,
+                     const GLdouble *model, const GLdouble *proj,
+                     const GLint *view,
+                     GLdouble* winX, GLdouble* winY, GLdouble* winZ);
+}
+
+#endif
+
index f1ff29df2df2b9af1c0f128353a989a9174efc5e..fd64d7cb648357108f5c38aa78075cc3a6705d75 100644 (file)
 #include <windows.h>
 #endif
 
-#include <simgear/math/project.hxx>
+#include <simgear/scene/util/project.hxx>
 
 #include "tr.h"