The screenshot OCC feature is implemented in the V3d_View class (the Dump method). Below is copied/pasted the part of the V3d_View.hxx header that defines the prototype for this method:
//! dump the full contents of the view with a <br> //! different scale according to the required sheet <br> //! paper size (format) and the ratio <br> //! width/height of the view. <br> //! and returns FALSE when the dump has failed <br> //! Warning : the file name extension must be one of <br> //! ".xwd",".gif",".bmp" both on UNIX or WNT <br> //! but make becarefull about the time to dump and <br> //! resulting file size especially for the A0 format, <br> //! GIF format generates very small <br> //! files, BMP and XWD generates big files <br> //! (4 to 6 times more than GIF). <br> //! Time to generates the files is very short with XWD <br> //! files and 2 or 4 times more for other format. <br> //! NOTE that you can use after any standard system utility <br> //! for editing or sending the image file to a laser printer. <br> //! (i.e: Microsoft Photo Editor on Windows system <br> //! or Image Viewer on SUN system) <br> Standard_EXPORT Standard_Boolean Dump(const Standard_CString aFile,const Aspect_FormatOfSheetPaper aFormat) ; This is how is implemented the display in pythonOCC (Display3d.cpp file): // Create V3dViewer and V3d_View myV3dViewer = new V3d_Viewer( gd , (short* const)"viewer" ); printf("Viewer created.\n"); myV3dViewer->Init(); myV3dViewer->SetDefaultLights(); myV3dViewer->SetLightOn(); myV3dView = myV3dViewer->CreateView(); myV3dView->SetWindow(myWindow); To be created, a V3d_View just requires that the graphic Device is initialized. The last line ( myV3dView->SetWindow(myWindow);) just tells that the view should be rendered in myWindow. So here is my answer to your question: it might be possible to create a 'screenshot' (or an OpenGL dump actually) to a file without any X window, by only creating a graphic device, V3d_Viewer and V3d_View. It's just has to be tested, which I'm going to do right now. Thomas 2009/12/9 Simon Loic <simon1l...@gmail.com> > Good point, although generating the web page for the samples won't be an > every day activity. > Normally, it's possible to achieve off-screen rendering with openGL. As for > pythonOCC, OCC (that use openGL eventually) I don't know if this option is > available. Tomas will surely know more about it. > Loïc > > > On Wed, Dec 9, 2009 at 12:19 AM, Bryan Bishop <kanz...@gmail.com> wrote: > >> On Tue, Dec 8, 2009 at 5:12 PM, Simon Loic wrote: >> > One other question remains, how to automatically create screenshots for >> all >> > the samples? Shall we add a new function in every sample (eg >> > CreateScreenShots) ? >> >> Does anyone know how to do this *without* requiring X to be installed >> and running? Right now the screenshot functions require the window to >> be open, and if you switch to something else while the screenshot is >> being taken, that other window will be in the way in the saved >> screenshot. Thanks. >> >> - Bryan >> http://heybryan.org/ >> 1 512 203 0507 >> >> _______________________________________________ >> Pythonocc-users mailing list >> Pythonocc-users@gna.org >> https://mail.gna.org/listinfo/pythonocc-users >> > > > _______________________________________________ > Pythonocc-users mailing list > Pythonocc-users@gna.org > https://mail.gna.org/listinfo/pythonocc-users > >
_______________________________________________ Pythonocc-users mailing list Pythonocc-users@gna.org https://mail.gna.org/listinfo/pythonocc-users