Make the global view-manager pointer be controlled by the instance.
globals->add_subsystem("aircraft-model", new FGAircraftModel, SGSubsystemMgr::DISPLAY);
globals->add_subsystem("model-manager", new FGModelMgr, SGSubsystemMgr::DISPLAY);
- FGViewMgr *viewmgr = new FGViewMgr;
- globals->set_viewmgr( viewmgr );
- globals->add_subsystem("view-manager", viewmgr, SGSubsystemMgr::DISPLAY);
+ globals->add_subsystem("view-manager", new FGViewMgr, SGSubsystemMgr::DISPLAY);
globals->add_subsystem("tile-manager", globals->get_tile_mgr(),
SGSubsystemMgr::DISPLAY);
#include <Canvas/canvas_mgr.hxx>
#include <Canvas/gui_mgr.hxx>
#include <Time/light.hxx>
+#include <Viewer/viewmgr.hxx>
+#include <Model/modelmgr.hxx>
using std::vector;
MAKE_SUB(FGLight, "lighting");
MAKE_SUB(CanvasMgr, "canvas");
MAKE_SUB(GUIMgr, "canvas-gui");
+ MAKE_SUB(FGViewMgr, "view-manager");
+ MAKE_SUB(FGModelMgr, "model-manager");
#undef MAKE_SUB
throw sg_range_exception("unknown subsystem:" + name);
current_view_orientation(SGQuatd::zeros()),
current_view_or_offset(SGQuatd::zeros())
{
+ globals->set_viewmgr(this);
}
// Destructor
-FGViewMgr::~FGViewMgr( void ) {
+FGViewMgr::~FGViewMgr( void )
+{
+ globals->set_viewmgr(NULL);
}
void