hi everyone !! i would like make a class and function for make a window in osg,
i have this source, but when i tried them separately, it have errors.The file
DemoVentana.cppit does well, but the other one no.
#include Ventana.h
osg::Camera* createCamera(int x, int y, int w, int h)
{
osg::ref_ptrosg::GraphicsContext::Traits traits = new osg::GraphicsContext::Traits;
traits-x = x;
traits-y = y;
traits-width = w;
traits-height = h;
traits-doubleBuffer = true;
traits-windowName = Funcion de Ventana;
traits-windowDecoration = true;
osg::ref_ptrosg::GraphicsContext gc = osg::GraphicsContext::createGraphicsContext(traits.get());
osg::ref_ptrosg::Camera camera = new osg::Camera;
camera-setGraphicsContext(gc.get());
camera-setViewport(new osg::Viewport(0, 0, traits-width, traits-height));
return camera.release();
}#ifndef H_VENTANA
#define H_VENTANA
#include osg/Group
#include osgViewer/Viewer
class Ventana
{
public:
osg::Camera* createCamera(int x, int y, int w, int h);
};
#endif#include osg/Group
#include osgDB/ReadFile
#include osgViewer/Viewer
osg::Camera* createCamera(int x, int y, int w, int h)
{
osg::ref_ptrosg::GraphicsContext::Traits traits = new osg::GraphicsContext::Traits;
traits-x = x;
traits-y = y;
traits-width = w;
traits-height = h;
traits-doubleBuffer = true;
traits-windowName = Funcion de Ventana;
traits-windowDecoration = true;
osg::ref_ptrosg::GraphicsContext gc = osg::GraphicsContext::createGraphicsContext(traits.get());
osg::ref_ptrosg::Camera camera = new osg::Camera;
camera-setGraphicsContext(gc.get());
camera-setViewport(new osg::Viewport(0, 0, traits-width, traits-height));
return camera.release();
}
int main(int argc, char** argv)
{
osg::ArgumentParser arguments(argc, argv);
osg::Node* model = osgDB::readNodeFiles(arguments);
if (!model) model = osgDB::readNodeFile(cow.osg);
osgViewer::Viewer viewer;
viewer.addSlave(createCamera(300, 100, 900, 600));//, osg::Matrixd::translate( 1.0,-1.0,0.0), osg::Matrixd(),false );
viewer.setSceneData(model);
return viewer.run();
}#include osgDB/ReadFile
#include Ventana.h
int main(int argc, char** argv)
{
osg::ArgumentParser arguments(argc, argv);
osg::Node* model = osgDB::readNodeFiles(arguments);
if (!model) model = osgDB::readNodeFile(cow.osg);
osgViewer::Viewer viewer;
viewer.addSlave(createCamera(300, 100, 900, 600));
viewer.setSceneData(model);
return viewer.run();
}___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org