]> git.mxchange.org Git - flightgear.git/blobdiff - src/Instrumentation/od_gauge.hxx
Make hardcoded error values configurable.
[flightgear.git] / src / Instrumentation / od_gauge.hxx
index 926fbe8a4a3e4b7e989b7d8f2212009d7d27e8f3..2c957d42977fcf06f88471240a8a67d97de4ca0f 100644 (file)
@@ -4,6 +4,8 @@
 //
 // Copyright (C) 2005  Harald JOHNSEN - hjohnsen@evc.net
 //
+// Ported to OSG by Tim Moore - Jun 2007
+//
 // This program is free software; you can redistribute it and/or
 // modify it under the terms of the GNU General Public License as
 // published by the Free Software Foundation; either version 2 of the
 //
 // You should have received a copy of the GNU General Public License
 // along with this program; if not, write to the Free Software
-// Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 //
 //
 
 #ifndef _OD_GAUGE_HXX
 #define _OD_GAUGE_HXX
 
+#include <osg/Camera>
+#include <osg/Texture2D>
 
-#include <plib/ssg.h>
 #include <simgear/structure/subsystem_mgr.hxx>
 
-class RenderTexture;
-
 /**
  * Owner Drawn Gauge helper class.
  */
@@ -41,50 +42,39 @@ public:
     virtual void init ();
     virtual void update (double dt);
 
-    /**
-     * Start the rendering of the RTT context.
-     * @param viewSize size of the destination texture 
-     */
-    void beginCapture(int viewSize);
-    /**
-     * Start the rendering of the RTT context.
-     */
-    void beginCapture(void);
-    /**
-     * Clear the background.
-     */
-    void Clear(void);
-    /**
-     * Finish rendering and save the buffer to a texture.
-     * @param texID name of a gl texture
-     */
-    void endCapture(GLuint texID);
-    /**
-     * Set the size of the destination texture.
-     * @param viewSize size of the destination texture 
-     */
     void setSize(int viewSize);
+
     /**
      * Say if we can render to a texture.
      * @return true if rtt is available
      */
     bool serviceable(void);
+
     /**
      * Replace an opengl texture name inside the aircraft scene graph.
      * This is to replace a static texture by a dynamic one
      * @param name texture filename
      * @param new_texture dynamic texture to replace the old one
      */
-    void set_texture(const char * name, GLuint new_texture);
+    void set_texture(const char * name, osg::Texture2D* new_texture);
+
+    /**
+     * Get the OSG camera for drawing this gauge.
+     */
+    osg::Camera* getCamera() { return camera.get(); }
+
+    osg::Texture2D* getTexture() { return texture.get(); }
+    void setTexture(osg::Texture2D* t) { texture = t; }
+
+    // Real initialization function. Bad name.
+    void allocRT(void);
 
 private:
     int textureWH;
-    RenderTexture *rt;
     bool rtAvailable;
+    osg::ref_ptr<osg::Camera> camera;
+    osg::ref_ptr<osg::Texture2D> texture;
 
-    void allocRT(void);
-    void set2D(void);
-    void set3D(void);
 };
 
 #endif // _OD_GAUGE_HXX