Changeset 6083 for geovis


Ignore:
Timestamp:
Feb 29, 2016 1:34:43 PM (8 years ago)
Author:
ldelgass
Message:

Prevent renderer from waiting in select() if a pick is pending.

Location:
geovis/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • geovis/trunk/Picker.cpp

    r6013 r6083  
    221221    }
    222222    setHighlightByObjectID(id);
     223    _renderer->pickPending(false);
    223224    _renderer->eventuallyRender();
    224225}
     
    233234    queueResponse(mesg, length, Response::STATIC, Response::DATA);
    234235
     236    _renderer->pickPending(false);
    235237    _renderer->eventuallyRender();
    236238}
     
    248250        } else {
    249251            _renderer->mapMouseCoords(ea.getX(), ea.getY(), _pickPoint, false);
     252            _renderer->pickPending(true);
     253            TRACE("Pending pick at %g %g", ea.getX(), ea.getY());
    250254            return true;
    251255        }
  • geovis/trunk/Renderer.cpp

    r6074 r6083  
    122122    _windowWidth(500),
    123123    _windowHeight(500),
     124    _pickPending(false),
    124125    _scaleBarUnits(UNITS_METERS)
    125126{
     
    27412742bool Renderer::checkNeedToDoFrame()
    27422743{
    2743     return (_needsRedraw ||
     2744    return (_needsRedraw || _pickPending ||
    27442745            (_viewer.valid() && _viewer->checkNeedToDoFrame()));
    27452746}
  • geovis/trunk/Renderer.h

    r6050 r6083  
    431431    void mouseScroll(int direction);
    432432
     433    void pickPending(bool value)
     434    { _pickPending = value; }
     435
    433436    // Rendering an image
    434437
     
    640643    osg::ref_ptr<osgEarth::Util::RTTPicker> _picker;
    641644#endif
     645    bool _pickPending;
    642646    osg::ref_ptr<osg::Group> _placeNodes;
    643647    std::set<osgEarth::Annotation::AnnotationNode *> _hovered;
Note: See TracChangeset for help on using the changeset viewer.