Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
documentation [2007/10/04 18:46]
admin
documentation [2016/01/25 16:35] (current)
admin [Requirements]
Line 9: Line 9:
 ==== Requirements ==== ==== Requirements ====
  
-Installer requires recent versions of [[http://​www.python.org|Python]] ​([[http://​www.python.org/​ftp/​python/​2.5.1/​python-2.5.1.msi|v2.5]])+Installer requires recent versions of [[http://​www.python.org|Python]],​ 
-[[http://​trolltech.com/​developer/​downloads/​qt/​windows|Qt]] ​([[ftp://​ftp.trolltech.com/​qt/​source/​qt-win-opensource-4.3.1-mingw.exe|v4.3.1]]) ​and [[http://​www.riverbankcomputing.co.uk/​pyqt/​download.php|PyQt]] ​([[http://​www.riverbankcomputing.com/​Downloads/​PyQt4/​GPL/​PyQt-Py2.5-gpl-4.3.1-1.exe|v4.3]]).+[[http://​trolltech.com/​developer/​downloads/​qt/​windows|Qt]] and [[http://​www.riverbankcomputing.co.uk/​pyqt/​download.php|PyQt]].
  
 To run the examples, you will have to install [[http://​sourceforge.net/​project/​showfiles.php?​group_id=5988&​package_id=6035|PyOpenGL]]. This last package uses [[http://​peak.telecommunity.com/​dist/​ez_setup.py|easy_install]] tool to be installed. To run the examples, you will have to install [[http://​sourceforge.net/​project/​showfiles.php?​group_id=5988&​package_id=6035|PyOpenGL]]. This last package uses [[http://​peak.telecommunity.com/​dist/​ez_setup.py|easy_install]] tool to be installed.
Line 23: Line 23:
 C:​\Python25\easy_install.exe PyOpenGL</​code>​ C:​\Python25\easy_install.exe PyOpenGL</​code>​
  
-==== Install ==== 
  
-You can then simply install the ''​exe''​ installer that you can find [[http://​gforge.inria.fr/​frs/​download.php/​2247/​PyQGLViewer-0.1.0-Py2.5-Qt4.2.3-QGLViewer2.2.5-1.exe|here]] ​ 
  
-To test it, you may launch examples [Start Menu]/​Programs/​PyQGLViewer/​examples. 
  
-===== How to build and install the project from sources ===== 
  
 +==== Install ====
  
 +On windows, you may simply install the last ''​exe''​ installer that you can find [[http://​gforge.inria.fr/​frs/?​group_id=773|here]]. However, distribution are not frequent.
  
 +To test it, you may launch examples [Start Menu]/​Programs/​PyQGLViewer/​examples.
  
-==== Requirements ====+You can look at the OpenAlea distribution of PyQGLViewer. See the [[http://​openalea.gforge.inria.fr/​|OpenAlea website]].
  
-This project requires a recent version of SIP (tested with 4.5.2, 4.6 and 4.7), Qt4 and PyQt4.+In particular for Linux (Ubuntu mainlyyou can install it this way: 
 +<code bash> 
 +sudo add-apt-repository ppa:​christophe-pradal/​openalea 
 +sudo add-apt-repository ppa:​christophe-pradal/​vplants 
 +sudo apt-get install pyqglviewer 
 +</​code>​
  
-<note important>​  +It will install a libQGLViewer package ​and PyQGLViewer
-PyQt4 should be installed with its sip and development filesBinaries version provides by Riverbank unfortunatly do not include all these development files. You may have to recompile it. +
-</​note>​+
  
-=== Building a custom version ​of QGLViewer ===+For windows,​after download and installing easy_install. You can type 
 +<code bash> 
 +easy_install -f http:://​openalea.geforge.inria.fr/​pi openalea.deploy 
 +alea_install pyqglviewer 
 +</​code>​ 
 +Or use the normal installation ​of openalea et vplants.
  
-First, you need to build a customized version of +This may changed in the future. So look at the OpenAlea documentation ​to have an update procedure.
-libQGLViewerActually, it has been build from version 2.2.6-3. You should download a version of the sources:+
  
-[[http://​artis.imag.fr/​~Gilles.Debunne/​QGLViewer/​download.html|http://​artis.imag.fr/​~Gilles.Debunne/​QGLViewer/​download.html]]+===== How to build and install the project from sources =====
  
-for linux, archive is: 
-[[http://​artis.imag.fr/​Members/​Gilles.Debunne/​QGLViewer/​src/​libQGLViewer-2.2.6-3.tar.gz|http://​artis.imag.fr/​Members/​Gilles.Debunne/​QGLViewer/​src/​libQGLViewer-2.2.6-3.tar.gz]] 
  
-and for windows + 
-[[http://artis.imag.fr/Members/Gilles.Debunne/​QGLViewer/​src/​libQGLViewer-2.2.6-3.zip +As a first step, you need of course to download and unzip the [[http://gforge.inria.fr/frs/?​group_id=773|sources]] of ''​PyQGLViewer''​.
-|http://​artis.imag.fr/​Members/​Gilles.Debunne/​QGLViewer/​src/​libQGLViewer-2.2.6-3.zip]]+
  
 Unzip the archive on your disk. For instance Unzip the archive on your disk. For instance
-<code bash>tar xvzf libQGLViewer-2.2.x-x.tar.gz </​code>​+<code bash>unzip PyQGLViewer-x.x.zip </​code>​
  
-A directory ''​libQGLViewer-2.2.x-x''​ should be created+A directory ''​PyQGLViewer/​''​ should be created.
  
-The patch file ''​libQGLViewer-2.2.x-x-py.patch''​ can been found in ''​PyQGLViewer/​src''​ dir.  
  
-<note info> ​ 
-For info, it has been build with the following command 
-<code bash>​diff -abur libQGLViewer-2.2.x-x libQGLViewer-2.2.x-x-py > libQGLViewer-2.2.x-x-py.patch </​code>​ 
  
-For windows, the ''​patch''​ and ''​diff''​ tools can in the [[http://​gnuwin32.sourceforge.net/​packages.html|gnuwin32 project]] 
  
 +==== Requirements ====
 +
 +This project requires a recent version of SIP, Qt4 and PyQt4.
 +
 +<note important> ​
 +PyQt4 should be installed with its sip and development files. Binaries version provides by Riverbank unfortunately do not include all these development files. You may have to recompile it.
 </​note>​ </​note>​
  
-To apply this patch, you should go in the parent directory ​of ''​libQGLViewer-2.2.x-x''​ +=== Building ​ of QGLViewer === 
-and invoke ​the command + 
-<code bash>patch -p 0 < PyQGLViewer/​src/​libQGLViewer-2.2.x-x-py.patch </​code>​+To build ''​PyQGlViewer''​, you need to have libQGLViewer.  
 +It is part of most Linux distribution. On Mac, it comes with macports. On Windows, with Cygwin. 
 + 
 +If it is not the case or if you want to use a more recent version ​of the lib. 
 +You  will need to build it from sources
 + 
 +You should first download a version of the sources: 
 + 
 +[[http://​artis.imag.fr/​~Gilles.Debunne/​QGLViewer/​download.html|http://​artis.imag.fr/​~Gilles.Debunne/​QGLViewer/​download.html]] 
 + 
 +Unzip the archive on your disk. For instance 
 +<code bash>tar xvzf libQGLViewer-x.x.x.tar.gz ​</​code>​
  
 Source are now ready to compile. ​ Source are now ready to compile. ​
-Go into ''​libQGLViewer-2.2.x-x/​QGLViewer''​ dir +Go into ''​libQGLViewer-x.x.x/​QGLViewer''​ dir 
-<code bash>cd libQGLViewer-2.2.x-x/QGLViewer+<code bash>cd libQGLViewer-x.x.x/QGLViewer
 qmake-qt4 QGLViewer.pro qmake-qt4 QGLViewer.pro
 make         # or nmake make         # or nmake
Line 83: Line 98:
 </​code>​ </​code>​
 On windows to install the lib you should copy the ''​QGLViewer2.dll''​ On windows to install the lib you should copy the ''​QGLViewer2.dll''​
-in library repository such as ''​C:\WINDOWS\system32''​+in library repository such as ''​%QTDIR%\bin''​
  
-To have designer plugin (required if you will used pyuic), you should go to ''​libQGLViewer-2.2.x-x/​designerPlugin''​+<code bash>​copy release\QGLViewer2.dll %QTDIR%\bin 
 +copy release\QGLViewer2.lib %QTDIR%\lib 
 +</​code>​ 
 + 
 +To have designer plugin (required if you will used pyuic), you should go to ''​libQGLViewer-x.x.x/​designerPlugin''​
 and invoke similar command and invoke similar command
 <code bash>cd ../​designerPlugin <code bash>cd ../​designerPlugin
Line 94: Line 113:
  
 libQGLViewer is now compiled and usable. libQGLViewer is now compiled and usable.
- 
- 
  
  
Line 105: Line 122:
  
 You should be root on linux to make it work. You can specify the  You should be root on linux to make it work. You can specify the 
-source repository of ''​libQGLViewer-2.2.x-x''​ with ''​-Q''​ option.+source repository of ''​libQGLViewer-x.x.x''​ with ''​-Q''​ option.
 For instance ​ For instance ​
-<code bash>​python configure.py -Q ../​libQGLViewer-2.2.x-x </​code>​+<code bash>​python configure.py -Q ../​libQGLViewer-x.x.x </​code>​
  
 <​note>​ You may specify extra include and lib directories with -I and -L flags <​note>​ You may specify extra include and lib directories with -I and -L flags
-<code bash>​python configure.py -Q ../​libQGLViewer-2.2.x-x -I /​extra/​inc/​dir -L /​extra/​lib/​dir+<code bash>​python configure.py -Q ../​libQGLViewer-x.x.x -I /​extra/​inc/​dir -L /​extra/​lib/​dir
 </​code>​ </​code>​
 </​note>​ </​note>​
Line 119: Line 136:
 </​code>​ </​code>​
  
-You can then test the new module with all examples 
-that you'll find in the directory ''​PyQGLViewer/​examples''​. 
  
-Good luck.+==== Testing PyQGLViewer ====
  
 +Once installed, you may want to see if your build work. 
  
 +You can find classic examples of ''​libQGLViewer''​ translated for python and ''​PyQGLViewer'' ​
 +in the directory ''​PyQGLViewer/​examples/''​. To test them, go in that directory and invoke for instance
 +
 +<code bash>​python simpleViewer.py</​code>​
 +
 +To test integration in ''​designer'':​
 +
 +<code bash>​python interface.py</​code>​
 +
 +To test texture 3D:
 +
 +<code bash>​python texture3D.py</​code>​
 +
 +Enjoy.
  
  
Line 161: Line 191:
 We plan to generate and present a complete python API documentation of the library ​ We plan to generate and present a complete python API documentation of the library ​
 that integrates all these details in the future. that integrates all these details in the future.
 +
  
  
Line 187: Line 218:
 === Version === === Version ===
  
-You can check the version of the QGLViewer with global hexadecimal value ''​QGLViewerVersion''​.+You can check the version of the QGLViewer with the global hexadecimal value ''​QGLViewerVersion''​.
 Moreover, the following convenience function gives the version as a string: Moreover, the following convenience function gives the version as a string:
  
 <code python>​def QGLViewerVersionString():​ <code python>​def QGLViewerVersionString():​
     """​ Return version of QGLViewer in a string format """</​code>​     """​ Return version of QGLViewer in a string format """</​code>​
 +
 +You can also check the version of the wrappers with the global hexadecimal value ''​_ _version_ _''​
 +or the function ''​PyQGLViewerVersionString''​ for the string version.
  
  
Line 210: Line 244:
  
 No mipmap generation is supported. And, in opposite to ''​QGLWidget.bindTexture''​ function, the 3D texture which No mipmap generation is supported. And, in opposite to ''​QGLWidget.bindTexture''​ function, the 3D texture which
-is generated here is not cached.+is generated here is not cached. It have to be deleted at the end with ''​glDeleteTexture([id])''​.
  
 
Back to top
documentation.1191516387.txt.gz · Last modified: 2007/10/04 18:46 by admin
Valid CSS Driven by DokuWiki Valid XHTML 1.0