Changeset 13429

Show
Ignore:
Timestamp:
11/09/15 17:13:03 (23 months ago)
Author:
robert
Message:

Release OpenSceneGraph-3.5.1

Location:
OpenSceneGraph/trunk
Files:
24 modified

Legend:

Unmodified
Added
Removed
  • OpenSceneGraph/trunk/include/osgGA/Device

    r13226 r13429  
    3838        int getCapabilities() const { return _capabilities; } 
    3939     
    40         virtual void checkEvents() {}; 
     40        virtual bool checkEvents() { return _eventQueue.valid() ? !(getEventQueue()->empty()) : false; } 
    4141        virtual void sendEvent(const GUIEventAdapter& ea); 
    4242        virtual void sendEvents(const EventQueue::Events& events); 
  • OpenSceneGraph/trunk/include/osgGA/EventQueue

    r13376 r13429  
    3636        typedef std::list< osg::ref_ptr<GUIEventAdapter> > Events; 
    3737 
     38        bool empty() const 
     39        { 
     40            OpenThreads::ScopedLock<OpenThreads::Mutex> lock(_eventQueueMutex); 
     41            return _eventQueue.empty(); 
     42        } 
     43         
    3844        /** Set events.*/ 
    3945        void setEvents(Events& events); 
  • OpenSceneGraph/trunk/include/osgViewer/CompositeViewer

    r13376 r13429  
    8888        virtual bool checkNeedToDoFrame(); 
    8989 
     90        /** check to see if events have been received, return true if events are now available.*/ 
     91        virtual bool checkEvents(); 
     92 
    9093        virtual void advance(double simulationTime=USE_REFERENCE_TIME); 
    9194 
  • OpenSceneGraph/trunk/include/osgViewer/GraphicsWindow

    r13130 r13429  
    5454        const osgGA::EventQueue* getEventQueue() const { return _eventQueue.get(); } 
    5555 
    56         virtual void checkEvents() {} 
     56        /** Check events, return true if events have been received.*/ 
     57        virtual bool checkEvents() { return false; } 
    5758 
    5859        /** Set the window's position and size.*/ 
  • OpenSceneGraph/trunk/include/osgViewer/View

    r13413 r13429  
    321321        osg::Timer_t                            _startTick; 
    322322 
    323         Devices                            _eventSources; 
     323        Devices                                 _eventSources; 
    324324 
    325325        osg::ref_ptr<osgViewer::Scene>          _scene; 
  • OpenSceneGraph/trunk/include/osgViewer/Viewer

    r13376 r13429  
    8888        virtual bool checkNeedToDoFrame(); 
    8989 
     90        /** check to see if events have been received, return true if events are now available.*/ 
     91        virtual bool checkEvents(); 
     92 
    9093        virtual void advance(double simulationTime=USE_REFERENCE_TIME); 
    9194 
  • OpenSceneGraph/trunk/include/osgViewer/ViewerBase

    r13172 r13429  
    225225        /** check to see if the new frame is required, called by run(..) when FrameScheme is set to ON_DEMAND.*/ 
    226226        virtual bool checkNeedToDoFrame() = 0; 
     227         
     228        /** check to see if events have been received, return true if events are now available.*/ 
     229        virtual bool checkEvents() = 0; 
    227230 
    228231        /** Render a complete new frame. 
  • OpenSceneGraph/trunk/include/osgViewer/api/Carbon/GraphicsWindowCarbon

    r13130 r13429  
    8686         
    8787        /** Check to see if any events have been generated.*/ 
    88         virtual void checkEvents(); 
     88        virtual bool checkEvents(); 
    8989 
    9090        /** Set the window's position and size.*/ 
  • OpenSceneGraph/trunk/include/osgViewer/api/Cocoa/GraphicsWindowCocoa

    r13130 r13429  
    114114         
    115115        /** Check to see if any events have been generated.*/ 
    116         virtual void checkEvents(); 
     116        virtual bool checkEvents(); 
    117117 
    118118        /** Set Window decoration.*/ 
  • OpenSceneGraph/trunk/include/osgViewer/api/IOS/GraphicsWindowIOS

    r13277 r13429  
    110110         
    111111        /** Check to see if any events have been generated.*/ 
    112         virtual void checkEvents(); 
     112        virtual bool checkEvents(); 
    113113 
    114114        /** Set Window decoration.*/ 
  • OpenSceneGraph/trunk/include/osgViewer/api/Win32/GraphicsWindowWin32

    r13195 r13429  
    5959         
    6060        /** Check to see if any events have been generated.*/ 
    61         virtual void checkEvents(); 
     61        virtual bool checkEvents(); 
    6262 
    6363        /** Set the window's position and size.*/ 
  • OpenSceneGraph/trunk/include/osgViewer/api/X11/GraphicsWindowX11

    r13130 r13429  
    9898         
    9999        /** Check to see if any events have been generated.*/ 
    100         virtual void checkEvents(); 
     100        virtual bool checkEvents(); 
    101101 
    102102        /** Set Window decoration.*/ 
  • OpenSceneGraph/trunk/src/osgPlugins/RestHttpDevice/RestHttpDevice.hpp

    r13247 r13429  
    170170 
    171171     
    172     virtual void checkEvents() 
     172    virtual bool checkEvents() 
    173173    { 
    174174        if ((fabs(_currentMouseX - _targetMouseY) > 0.1f) || (fabs(_currentMouseY - _targetMouseY) > 0.1)) 
     
    179179            getEventQueue()->mouseMotion(_currentMouseX, _currentMouseY, getEventQueue()->getTime()); 
    180180        } 
     181        return !(getEventQueue()->empty()); 
    181182    } 
    182183     
  • OpenSceneGraph/trunk/src/osgPlugins/ZeroConfDevice/ReaderWriterZeroConfDevice.cpp

    r13258 r13429  
    3838    } 
    3939     
    40     virtual void checkEvents() 
     40    virtual bool checkEvents() 
    4141    { 
    4242        _autoDiscovery->update(); 
     43        return !(getEventQueue()->empty()); 
    4344    } 
    4445     
     
    7374    ZeroConfDiscoverDevice(const std::string& type); 
    7475     
    75     virtual void checkEvents() 
     76    virtual bool checkEvents() 
    7677    { 
    7778        _autoDiscovery->update(); 
     79        return !(getEventQueue()->empty()); 
    7880    } 
    7981     
  • OpenSceneGraph/trunk/src/osgPlugins/osc/OscReceivingDevice.hpp

    r13319 r13429  
    7272     
    7373         
    74     virtual void checkEvents() {} 
    7574    virtual void run(); 
    7675     
  • OpenSceneGraph/trunk/src/osgPlugins/sdl/JoystickDevice.cpp

    r13172 r13429  
    104104} 
    105105 
    106 void JoystickDevice::checkEvents() 
     106bool JoystickDevice::checkEvents() 
    107107{ 
    108108    if (_joystick) 
     
    181181         
    182182    } 
    183  
     183    return !(getEventQueue()->empty()); 
    184184} 
    185185         
  • OpenSceneGraph/trunk/src/osgPlugins/sdl/JoystickDevice.h

    r13172 r13429  
    3232        typedef std::map<int, int> ButtonMap; 
    3333 
    34         virtual void checkEvents(); 
     34        virtual bool checkEvents(); 
    3535         
    3636        void addMouseButtonMapping(int joystickButton, int mouseButton) 
  • OpenSceneGraph/trunk/src/osgViewer/CompositeViewer.cpp

    r13389 r13429  
    267267    } 
    268268 
    269     // now do a eventTraversal to see if any events might require a new frame. 
    270     eventTraversal(); 
     269    // check if events are available and need processing 
     270    if (checkEvents()) return true; 
    271271 
    272272    if (_requestRedraw) return true; 
    273273    if (_requestContinousUpdate) return true; 
    274274 
     275    return false; 
     276} 
     277 
     278 
     279bool CompositeViewer::checkEvents() 
     280{ 
     281    for(RefViews::iterator itr = _views.begin(); 
     282        itr != _views.end(); 
     283        ++itr) 
     284    { 
     285        osgViewer::View* view = itr->get(); 
     286        if (view) 
     287        { 
     288            // check events from any attached sources 
     289            for(View::Devices::iterator eitr = view->getDevices().begin(); 
     290                eitr != view->getDevices().end(); 
     291                ++eitr) 
     292            { 
     293                osgGA::Device* es = eitr->get(); 
     294                if (es->getCapabilities() & osgGA::Device::RECEIVE_EVENTS) 
     295                { 
     296                    if (es->checkEvents()) return true; 
     297                } 
     298 
     299            } 
     300        } 
     301    } 
     302     
     303    // get events from all windows attached to Viewer. 
     304    Windows windows; 
     305    getWindows(windows); 
     306    for(Windows::iterator witr = windows.begin(); 
     307        witr != windows.end(); 
     308        ++witr) 
     309    { 
     310        if ((*witr)->checkEvents()) return true; 
     311    } 
     312     
    275313    return false; 
    276314} 
     
    875913    if (_views.empty()) return; 
    876914 
     915#if 1 
     916    double cutOffTime = _frameStamp->getReferenceTime(); 
     917#else     
    877918    double cutOffTime = (_runFrameScheme==ON_DEMAND) ? DBL_MAX : _frameStamp->getReferenceTime(); 
     919#endif 
    878920 
    879921    double beginEventTraversal = osg::Timer::instance()->delta_s(_startTick, osg::Timer::instance()->tick()); 
  • OpenSceneGraph/trunk/src/osgViewer/GraphicsWindowCarbon.cpp

    r13376 r13429  
    845845 
    846846 
    847 void GraphicsWindowCarbon::checkEvents() 
    848 { 
    849     if (!_realized) return; 
     847bool GraphicsWindowCarbon::checkEvents() 
     848{ 
     849    if (!_realized) return false; 
    850850 
    851851    EventRef theEvent; 
     
    870870                        MenuSelect(wheresMyMouse); 
    871871                        HiliteMenu(0); 
    872                         return; 
     872                        return !(getEventQueue()->empty()); 
    873873                    } 
    874874                    break; 
     
    904904    } 
    905905 
     906    return !(getEventQueue()->empty()); 
    906907} 
    907908 
  • OpenSceneGraph/trunk/src/osgViewer/GraphicsWindowCocoa.mm

    r13376 r13429  
    13281328// process all pending events 
    13291329// ---------------------------------------------------------------------------------------------------------- 
    1330 void GraphicsWindowCocoa::checkEvents() 
     1330bool GraphicsWindowCocoa::checkEvents() 
    13311331{ 
    13321332    if (!_checkForEvents) 
    1333         return; 
     1333        return false; 
    13341334 
    13351335    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 
     
    13631363 
    13641364    [pool release]; 
     1365     
     1366    return !(getEventQueue()->empty()); 
    13651367} 
    13661368 
  • OpenSceneGraph/trunk/src/osgViewer/GraphicsWindowIOS.mm

    r13376 r13429  
    10701070 
    10711071     
    1072 void GraphicsWindowIOS::checkEvents() 
    1073 { 
    1074      
    1075      
     1072bool GraphicsWindowIOS::checkEvents() 
     1073{ 
     1074 
     1075    return !(getEventQueue()->empty()); 
    10761076} 
    10771077 
  • OpenSceneGraph/trunk/src/osgViewer/GraphicsWindowWin32.cpp

    r13376 r13429  
    20552055} 
    20562056 
    2057 void GraphicsWindowWin32::checkEvents() 
    2058 { 
    2059     if (!_realized) return; 
     2057bool GraphicsWindowWin32::checkEvents() 
     2058{ 
     2059    if (!_realized) return false; 
    20602060 
    20612061    MSG msg; 
     
    20772077        destroyWindow(false); 
    20782078    } 
     2079            
     2080    return !(getEventQueue()->empty()); 
    20792081} 
    20802082 
  • OpenSceneGraph/trunk/src/osgViewer/GraphicsWindowX11.cpp

    r13376 r13429  
    11981198} 
    11991199 
    1200 void GraphicsWindowX11::checkEvents() 
    1201 { 
    1202     if (!_realized) return; 
     1200bool GraphicsWindowX11::checkEvents() 
     1201{ 
     1202    if (!_realized) return false; 
    12031203 
    12041204    Display* display = _eventDisplay; 
     
    15651565        } 
    15661566    } 
     1567     
     1568    return !(getEventQueue()->empty()); 
    15671569} 
    15681570 
  • OpenSceneGraph/trunk/src/osgViewer/Viewer.cpp

    r13413 r13429  
    362362    if (getSceneData()!=0 && getSceneData()->getNumChildrenRequiringUpdateTraversal()>0) return true; 
    363363 
    364     // now do a eventTraversal to see if any events might require a new frame. 
    365     eventTraversal(); 
    366  
     364    // check if events are available and need processing 
     365    if (checkEvents()) return true; 
     366     
    367367    // now check if any of the event handles have prompted a redraw. 
    368368    if (_requestRedraw) return true; 
    369369    if (_requestContinousUpdate) return true; 
    370370 
     371    return false; 
     372} 
     373 
     374bool Viewer::checkEvents() 
     375{ 
     376    // check events from any attached sources 
     377    for(Devices::iterator eitr = _eventSources.begin(); 
     378        eitr != _eventSources.end(); 
     379        ++eitr) 
     380    { 
     381        osgGA::Device* es = eitr->get(); 
     382        if (es->getCapabilities() & osgGA::Device::RECEIVE_EVENTS) 
     383        { 
     384            if (es->checkEvents()) return true; 
     385        } 
     386 
     387    } 
     388 
     389    // get events from all windows attached to Viewer. 
     390    Windows windows; 
     391    getWindows(windows); 
     392    for(Windows::iterator witr = windows.begin(); 
     393        witr != windows.end(); 
     394        ++witr) 
     395    { 
     396        if ((*witr)->checkEvents()) return true; 
     397    } 
     398     
    371399    return false; 
    372400} 
     
    799827    if (_done) return; 
    800828 
     829#if 1 
     830    double cutOffTime = _frameStamp->getReferenceTime(); 
     831#else     
    801832    double cutOffTime = (_runFrameScheme==ON_DEMAND) ? DBL_MAX : _frameStamp->getReferenceTime(); 
    802  
     833#endif 
     834     
    803835    double beginEventTraversal = osg::Timer::instance()->delta_s(_startTick, osg::Timer::instance()->tick()); 
    804836