diff --git a/include/gepetto/viewer/corba/windows-manager.h b/include/gepetto/viewer/corba/windows-manager.h index fd78813e639096dd97061da7f81e2ca9b4ffcb9c..f05bee8cbeb563394c471bb96a408fe2fcdf86d7 100644 --- a/include/gepetto/viewer/corba/windows-manager.h +++ b/include/gepetto/viewer/corba/windows-manager.h @@ -67,6 +67,7 @@ namespace graphics { \brief Default constructor */ WindowsManager (); + WindowID addWindow (std::string winName, WindowManagerPtr_t newWindow); public: static WindowsManagerPtr_t create (); @@ -77,7 +78,7 @@ namespace graphics { virtual bool setRate(const int& rate); virtual void refresh(); - virtual WindowID createWindow(const char* windowNameCorba, osg::GraphicsContext* gc = 0); + virtual WindowID createWindow(const char* windowNameCorba); virtual WindowID getWindowID (const char* windowNameCorba); virtual void createScene(const char* sceneNameCorba); diff --git a/src/windows-manager.cpp b/src/windows-manager.cpp index 2c5498c009989e424481317cdb74eddc157ae305..dd2ce36525ac7eb44700021a74a8eb7500a69995 100644 --- a/src/windows-manager.cpp +++ b/src/windows-manager.cpp @@ -41,6 +41,15 @@ namespace graphics { { } + WindowsManager::WindowID WindowsManager::addWindow (std::string winName, + WindowManagerPtr_t newWindow) + { + WindowID windowId = windowManagers_.size (); + windowIDmap_ [winName] = windowId; + windowManagers_.push_back (newWindow); + return windowId; + } + WindowsManagerPtr_t WindowsManager::create () { WindowsManagerPtr_t shPtr (new WindowsManager()); @@ -192,23 +201,14 @@ namespace graphics { } } - WindowsManager::WindowID WindowsManager::createWindow (const char* winName, - osg::GraphicsContext* gc) + WindowsManager::WindowID WindowsManager::createWindow (const char* winName) { std::string wn (winName); - WindowManagerPtr_t newWindow; - if (gc == 0) - newWindow = WindowManager::create (); - else - newWindow = WindowManager::create (gc); - WindowID windowId = windowManagers_.size (); - windowIDmap_ [wn] = windowId; - windowManagers_.push_back (newWindow); - if (gc == 0) { - boost::thread refreshThread (boost::bind - (&WindowsManager::threadRefreshing, - this, newWindow)); - } + WindowManagerPtr_t newWindow = WindowManager::create (); + WindowID windowId = addWindow (wn, newWindow); + boost::thread refreshThread (boost::bind + (&WindowsManager::threadRefreshing, + this, newWindow)); return windowId; }