Added convinence methods to osgProducer::Viewer:

/** compute, from normalized mouse coords, for sepecified Camera, the pixel coords relative to that Camera's RenderSurface.*/
        bool computePixelCoords(float x,float y,unsigned int cameraNum,float& pixel_x,float& pixel_y);

        /** compute, from normalized mouse coords, for sepecified Camera, the near and far points in worlds coords.*/
        bool computeNearFar(float x,float y,unsigned int cameraNum,osg::Vec3& near, osg::Vec3& far);

        /** compute, from normalized mouse coords, for sepecified Camera, intersections with the scene.*/
        bool computeIntersections(float x,float y,unsigned int cameraNum,osgUtil::IntersectVisitor::HitList& hits);

        /** compute, from normalized mouse coords, for all Cameras, intersections with the scene.*/
        bool computeIntersections(float x,float y,osgUtil::IntersectVisitor::HitList& hits);
This commit is contained in:
Robert Osfield
2003-04-16 14:17:49 +00:00
parent 48cb15015f
commit 904aceec22
6 changed files with 160 additions and 134 deletions

View File

@@ -33,9 +33,10 @@ public:
image->readPixels(x,y,width,height,
GL_RGB,GL_UNSIGNED_BYTE);
osgDB::writeImageFile(*image,_filename);
osg::notify(osg::NOTICE) << "Saved screen image to `"<<_filename<<"`"<< std::endl;
if (osgDB::writeImageFile(*image,_filename))
{
osg::notify(osg::NOTICE) << "Saved screen image to `"<<_filename<<"`"<< std::endl;
}
_snapImageOnNextFrame = false;
}
@@ -802,8 +803,10 @@ bool ViewerEventHandler::handle(const osgGA::GUIEventAdapter& ea,osgGA::GUIActio
osg::Node* node = _cg->getSceneData();
if (node)
{
std::cout<<"writing file "<<_writeNodeFileName<<std::endl;
osgDB::writeNodeFile(*node,_writeNodeFileName.c_str());
if (osgDB::writeNodeFile(*node,_writeNodeFileName.c_str()))
{
std::cout<<"writen nodes to file "<<_writeNodeFileName<<std::endl;
}
}
return true;