X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FMain%2Frenderer.hxx;h=4393e67e719e60bf5125cba504793d231c997af3;hb=224afcc7e4cb4191be15f3df025164fcd83f5102;hp=918408bcd548bf29afbc4362fa279e488dc5ece1;hpb=fc55979c34e9e10b1f6d422789dbbebc9083cf40;p=flightgear.git diff --git a/src/Main/renderer.hxx b/src/Main/renderer.hxx index 918408bcd..4393e67e7 100644 --- a/src/Main/renderer.hxx +++ b/src/Main/renderer.hxx @@ -3,25 +3,41 @@ #define __FG_RENDERER_HXX 1 #include -#include #include -#include -#include +#include -#include "FGManipulator.hxx" +namespace osg +{ +class Camera; +class Group; +} + +namespace osgGA +{ +class GUIEventAdapter; +} + +namespace osgShadow +{ +class ShadowedScene; +} + +namespace osgViewer +{ +class Viewer; +} + +namespace flightgear +{ +class FGEventHandler; +} #define FG_ENABLE_MULTIPASS_CLOUDS 1 class SGSky; extern SGSky *thesky; -extern glPointParameterfProc glPointParameterfPtr; -extern glPointParameterfvProc glPointParameterfvPtr; -extern bool glPointParameterIsSupported; -extern bool glPointSpriteIsSupported; - - class FGRenderer { public: @@ -40,28 +56,21 @@ public: static void update( bool refresh_camera_settings ); inline static void update() { update( true ); } - /** Set all the camera parameters at once. aspectRatio is height / width. - */ - static void setCameraParameters(float vfov, float aspectRatio, - float zNear, float zFar); /** Just pick into the scene and return the pick callbacks on the way ... */ - static bool pick( unsigned x, unsigned y, - std::vector& pickList, + static bool pick( std::vector& pickList, const osgGA::GUIEventAdapter* ea ); /** Get and set the OSG Viewer object, if any. */ osgViewer::Viewer* getViewer() { return viewer.get(); } const osgViewer::Viewer* getViewer() const { return viewer.get(); } - void setViewer(osgViewer::Viewer* viewer) { this->viewer = viewer; } + void setViewer(osgViewer::Viewer* viewer); /** Get and set the manipulator object, if any. */ - FGManipulator* getManipulator() { return manipulator.get(); } - const FGManipulator* getManipulator() const { return manipulator.get(); } - void setManipulator(FGManipulator* manipulator) { - this->manipulator = manipulator; - } + flightgear::FGEventHandler* getEventHandler() { return eventHandler.get(); } + const flightgear::FGEventHandler* getEventHandler() const { return eventHandler.get(); } + void setEventHandler(flightgear::FGEventHandler* manipulator); /** Add a top level camera. */ @@ -69,7 +78,7 @@ public: protected: osg::ref_ptr viewer; - osg::ref_ptr manipulator; + osg::ref_ptr eventHandler; }; bool fgDumpSceneGraphToFile(const char* filename);