spacer

Development


PyVisi is a very new project (launched in November of 2004) and is under constant development. However, any help would be greatly appreciated.

Renderers

Currently only vtk and gnuplot renderer modules are being used in development, however, the structure already exists for the povray, plplot and opendx renderers, one merely needs to write the relevant code (although there is some change going on, so expect there to be more objects and methods to come). One can use the skel_module.py script in the admin/ directory to generate the required structure if one wants to add another renderer module to pyvisi.

Other renderers are envisaged being added to the interface, such as PLplot, DISLIN, PyNGL, OpenGL, RenderMan, OpenDX, and more. Once the structure is in place to add a renderer module, it is just a matter of writing the code to the interface.

If you are interested in contributing code, grab a copy of the cvs:

  cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/pyvisi login
  cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/pyvisi co pyvisi
  

and send patches to: paultcochrane at users dot sourceforge dot net.

Code development guidelines

  • The names of the autogenerated code objects should have a leading underscore to prevent naming conflicts. E.g. a vtk renderer object should be called something like _ren, and the render window object called something like _renWin (or _renderWindow if you like).
  • Debug statements are useful, and for this purpose one should use the debugMsg() function defined in the module's common.py file.
  • All objects and methods specified in the API should be provided, even if the renderer can't actually produce the relevant output. In that case, a warning or error message should be given mentioning that such a function is not available/possible/supported by the renderer.
  • Generally speaking the renderer needs a python wrapper, especially if it is to be run interactively. However, the renderer could just print code output to file for later rendering as would be the case with PovRay.

Pyvisi class structure

pyvisi_class_structure.svg

Valid XHTML 1.0! Valid CSS!

Last updated: Monday 27 August 2007
comments to: webmaster