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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user