Show
Ignore:
Timestamp:
11/26/14 21:40:57 (4 hours ago)
Author:
robert
Message:

From Jason Beverage, "It looks like the Callback header got accidentally removed from the CMakeLists.txt in the submission yesterday for the geometry instancing example."

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • OpenSceneGraph/trunk/src/osgViewer/View.cpp

    r13525 r13890  
    271271{ 
    272272    _startTick = tick; 
    273      
     273 
    274274    for(Devices::iterator eitr = _eventSources.begin(); 
    275275        eitr != _eventSources.end(); 
     
    396396 
    397397 
    398 void View::addEventHandler(osgGA::GUIEventHandler* eventHandler) 
     398void View::addEventHandler(osgGA::EventHandler* eventHandler) 
    399399{ 
    400400    EventHandlers::iterator itr = std::find(_eventHandlers.begin(), _eventHandlers.end(), eventHandler); 
     
    405405} 
    406406 
    407 void View::removeEventHandler(osgGA::GUIEventHandler* eventHandler) 
     407void View::removeEventHandler(osgGA::EventHandler* eventHandler) 
    408408{ 
    409409    EventHandlers::iterator itr = std::find(_eventHandlers.begin(), _eventHandlers.end(), eventHandler); 
     
    847847{ 
    848848    OSG_INFO<<"View::requestWarpPointer("<<x<<","<<y<<")"<<std::endl; 
    849      
     849 
    850850    float local_x, local_y; 
    851851    const osg::Camera* camera = getCameraContainingPosition(x, y, local_x, local_y); 
     
    888888    const osgViewer::GraphicsWindow* gw = dynamic_cast<const osgViewer::GraphicsWindow*>(eventState->getGraphicsContext()); 
    889889    bool view_invert_y = eventState->getMouseYOrientation()==osgGA::GUIEventAdapter::Y_INCREASING_DOWNWARDS; 
    890      
     890 
    891891    // OSG_NOTICE<<"getCameraContainingPosition("<<x<<", "<<y<<") view_invert_y = "<<view_invert_y<<", Xmin() = "<<eventState->getXmin()<<", Xmax() = "<<eventState->getXmax()<<", Ymin() = "<<eventState->getYmin()<<", Ymax() = "<<eventState->getYmax()<<std::endl; 
    892892 
    893893    double epsilon = 0.5; 
    894      
    895         
     894 
     895 
    896896    // if master camera has graphics context and eventState context matches then assume coordinates refer 
    897897    // to master camera 
    898898    bool masterActive = (_camera->getGraphicsContext()!=0 && _camera->getViewport()); 
    899     bool eventStateMatchesMaster = (gw!=0) ? _camera->getGraphicsContext()==gw : false;  
    900      
     899    bool eventStateMatchesMaster = (gw!=0) ? _camera->getGraphicsContext()==gw : false; 
     900 
    901901    if (masterActive && eventStateMatchesMaster) 
    902902    { 
    903903        // OSG_NOTICE<<"Event state matches master"<<std::endl; 
    904904        const osg::Viewport* viewport = _camera->getViewport(); 
    905          
     905 
    906906        // rescale mouse x,y first to 0 to 1 range 
    907907        double new_x = (x-eventState->getXmin())/(eventState->getXmax()-eventState->getXmin()); 
    908908        double new_y = (y-eventState->getYmin())/(eventState->getYmax()-eventState->getYmin()); 
    909          
     909 
    910910        // flip y if required 
    911911        if (view_invert_y) new_y = 1.0f-new_y; 
    912          
     912 
    913913        // rescale mouse x, y to window dimensions so we can check against master Camera's viewport 
    914914        new_x *= static_cast<double>(_camera->getGraphicsContext()->getTraits()->width); 
    915915        new_y *= static_cast<double>(_camera->getGraphicsContext()->getTraits()->height); 
    916          
     916 
    917917        if (new_x >= (viewport->x()-epsilon) && new_y >= (viewport->y()-epsilon) && 
    918918            new_x < (viewport->x()+viewport->width()-1.0+epsilon) && new_y <= (viewport->y()+viewport->height()-1.0+epsilon) ) 
     
    930930        } 
    931931    } 
    932      
     932 
    933933    osg::Matrix masterCameraVPW = getCamera()->getViewMatrix() * getCamera()->getProjectionMatrix(); 
    934934 
     
    991991    float local_x, local_y; 
    992992    const osg::Camera* camera = getCameraContainingPosition(x, y, local_x, local_y); 
    993      
     993 
    994994    OSG_INFO<<"computeIntersections("<<x<<", "<<y<<") local_x="<<local_x<<", local_y="<<local_y<<std::endl; 
    995      
     995 
    996996    if (camera) return computeIntersections(camera, (camera->getViewport()==0)?osgUtil::Intersector::PROJECTION : osgUtil::Intersector::WINDOW, local_x, local_y, intersections, traversalMask); 
    997997    else return false; 
     
    10021002    float local_x, local_y; 
    10031003    const osg::Camera* camera = getCameraContainingPosition(x, y, local_x, local_y); 
    1004      
     1004 
    10051005    OSG_INFO<<"computeIntersections("<<x<<", "<<y<<") local_x="<<local_x<<", local_y="<<local_y<<std::endl; 
    10061006 
     
    10161016        const osgGA::PointerData* pd = ea.getPointerData(ea.getNumPointerData()-1); 
    10171017        const osg::Camera* camera = dynamic_cast<const osg::Camera*>(pd->object.get()); 
    1018         if (camera)  
     1018        if (camera) 
    10191019        { 
    10201020            return computeIntersections(camera, osgUtil::Intersector::PROJECTION, pd->getXnormalized(), pd->getYnormalized(), intersections, traversalMask); 
     
    10321032        const osgGA::PointerData* pd = ea.getPointerData(ea.getNumPointerData()-1); 
    10331033        const osg::Camera* camera = dynamic_cast<const osg::Camera*>(pd->object.get()); 
    1034         if (camera)  
     1034        if (camera) 
    10351035        { 
    10361036            return computeIntersections(camera, osgUtil::Intersector::PROJECTION, pd->getXnormalized(), pd->getYnormalized(), nodePath, intersections, traversalMask); 
     
    11171117        _eventSources.push_back(eventSource); 
    11181118    } 
    1119      
     1119 
    11201120    if (eventSource) 
    11211121        eventSource->getEventQueue()->setStartTick(getStartTick()); 
     
    12271227        // inherit any settings applied to the master Camera. 
    12281228        camera->inheritCullSettings(*(view.getCamera()), camera->getInheritanceMask()); 
    1229          
     1229 
    12301230        if (_eyeScale<0.0) 
    12311231        { 
     
    12361236            camera->setCullMask(camera->getCullMaskRight()); 
    12371237        } 
    1238              
     1238 
    12391239        // set projection matrix 
    12401240        if (_eyeScale<0.0) 
     
    13901390    if (!camera || camera->getGraphicsContext()==0) return; 
    13911391    if (!ds->getStereo() && !ds->getKeystoneHint()) return; 
    1392      
     1392 
    13931393    ds->setUseSceneViewForStereoHint(false); 
    13941394 
     
    14051405        } 
    14061406    } 
    1407      
     1407 
    14081408    if (ds->getKeystoneHint()) 
    14091409    { 
     
    14111411    } 
    14121412 
    1413     
     1413 
    14141414    // set up view's main camera 
    14151415    { 
     
    14211421        camera->setProjectionMatrixAsPerspective( vfov, width/height, 1.0f,10000.0f); 
    14221422    } 
    1423      
     1423 
    14241424 
    14251425    osg::ref_ptr<osg::GraphicsContext> gc = camera->getGraphicsContext(); 
    1426      
     1426 
    14271427    osg::ref_ptr<osg::GraphicsContext::Traits> traits = const_cast<osg::GraphicsContext::Traits*>(camera->getGraphicsContext()->getTraits()); 
    14281428 
     
    14331433        if (!(ds->getKeystones().empty())) keystone = dynamic_cast<osgViewer::Keystone*>(ds->getKeystones().front().get()); 
    14341434        if (!keystone) keystone = new osgViewer::Keystone; 
    1435          
     1435 
    14361436        // create distortion texture 
    14371437        osg::ref_ptr<osg::Texture> texture = createDistortionTexture(traits->width, traits->height); 
     
    14471447        // attach Keystone editing event handler. 
    14481448        distortion_camera->addEventCallback(new KeystoneHandler(keystone.get())); 
    1449          
     1449 
    14501450        camera->setGraphicsContext(0); 
    1451          
     1451 
    14521452        return; 
    14531453    } 
    1454      
     1454 
    14551455    switch(ds->getStereoMode()) 
    14561456    { 
     
    14761476            // left keystone camera to render to right buffer 
    14771477            // one keystone and editing for the one window 
    1478              
     1478 
    14791479            if (!keystones.empty()) 
    14801480            { 
     
    14851485                // right keystone camera to render to right viewport/window 
    14861486                // two keystone, one for each of the left and right viewports/windows 
    1487                  
     1487 
    14881488                osg::ref_ptr<Keystone> keystone = keystones.front(); 
    14891489 
     
    15141514                // attach the texture and use it as the color buffer. 
    15151515                right_camera->attach(osg::Camera::COLOR_BUFFER, right_texture.get()); 
    1516                  
     1516 
    15171517 
    15181518                // create Keystone left distortion camera 
     
    15281528                left_keystone_camera->addEventCallback(new KeystoneHandler(keystone.get())); 
    15291529 
    1530                  
     1530 
    15311531                // create Keystone right distortion camera 
    15321532                osg::ref_ptr<osg::Camera> right_keystone_camera = assignKeystoneDistortionCamera(ds, gc.get(), 
     
    15371537                right_keystone_camera->setRenderOrder(osg::Camera::NESTED_RENDER, 3); 
    15381538                right_keystone_camera->setAllowEventFocus(false); 
    1539                  
     1539 
    15401540            } 
    15411541 
     
    15681568 
    15691569                osg::ref_ptr<Keystone> keystone = keystones.front(); 
    1570                  
     1570 
    15711571                bool useTwoTexture = true; 
    1572                  
     1572 
    15731573                if (useTwoTexture) 
    15741574                { 
    1575                      
     1575 
    15761576                    // create left distortion texture 
    15771577                    osg::ref_ptr<osg::Texture> left_texture = createDistortionTexture(traits->width, traits->height); 
     
    16291629 
    16301630                    camera->setAllowEventFocus(false); 
    1631                      
     1631 
    16321632                } 
    16331633                else 
    1634                 {                     
     1634                { 
    16351635                    // create distortion texture 
    16361636                    osg::ref_ptr<osg::Texture> texture = createDistortionTexture(traits->width, traits->height); 
     
    16651665 
    16661666                    distortion_camera->setRenderOrder(osg::Camera::NESTED_RENDER, 2); 
    1667                      
     1667 
    16681668                    // attach Keystone editing event handler. 
    16691669                    distortion_camera->addEventCallback(new KeystoneHandler(keystone.get())); 
     
    17021702                // right keystone camera to render to right viewport/window 
    17031703                // two keystone, one for each of the left and right viewports/windows 
    1704                  
     1704 
    17051705                osg::ref_ptr<Keystone> left_keystone = keystones[0]; 
    17061706                osg::ref_ptr<Keystone> right_keystone = keystones[1]; 
     
    17341734                // attach the texture and use it as the color buffer. 
    17351735                right_camera->attach(osg::Camera::COLOR_BUFFER, right_texture.get()); 
    1736                  
     1736 
    17371737 
    17381738                // create Keystone left distortion camera 
     
    17621762 
    17631763                camera->setAllowEventFocus(false); 
    1764                  
     1764 
    17651765            } 
    1766              
     1766 
    17671767            break; 
    17681768        } 
     
    17751775            int left_start = (left_eye_bottom_viewport) ? 0 : traits->height/2; 
    17761776            int right_start = (left_eye_bottom_viewport) ? traits->height/2 : 0; 
    1777              
     1777 
    17781778            // bottom viewport Camera 
    17791779            osg::ref_ptr<osg::Camera> left_camera = assignStereoCamera(ds, gc.get(), 
     
    18331833                // attach the texture and use it as the color buffer. 
    18341834                right_camera->attach(osg::Camera::COLOR_BUFFER, right_texture.get()); 
    1835                  
     1835 
    18361836 
    18371837                // create Keystone left distortion camera 
     
    18611861 
    18621862                camera->setAllowEventFocus(false); 
    1863                  
     1863 
    18641864            } 
    18651865 
     
    19111911 
    19121912                distortion_camera->setRenderOrder(osg::Camera::NESTED_RENDER, 2); 
    1913                  
     1913 
    19141914                // attach Keystone editing event handler. 
    19151915                distortion_camera->addEventCallback(new KeystoneHandler(keystone.get())); 
     
    19611961 
    19621962                distortion_camera->setRenderOrder(osg::Camera::NESTED_RENDER, 1); 
    1963                  
     1963 
    19641964                // attach Keystone editing event handler. 
    19651965                distortion_camera->addEventCallback(new KeystoneHandler(keystone.get())); 
     
    19931993 
    19941994                geode->setCullingActive(false); 
    1995                  
     1995 
    19961996                osg::ref_ptr<osg::StateSet> stateset = geode->getOrCreateStateSet(); 
    19971997