1. Introduction
IVuPy is a set of Python bindings for two of the Coin3D C++ class libraries:
Coin and SoQt.
Coin3D serves to create 3D graphics applications and is fully compatible with
the SGI Open Inventor 2.1 API (a 'standard' library for 3D visualization and
visual simulation software in science and engineering).
The Coin library adds VRML97 support, 3D sound, 3D textures, and parallel
rendering on multiple processors.
It requires OpenGL, but is further platform independent.
The SoQt library is the interface between Coin and Qt.
IVuPy aims to be a solid basis for large Python programs geared to 3D
visualization and data analysis with a modern GUI (Qt).
Therefore, IVuPy has the following features:
- IVuPy requires at least one of the Numerical Python extensions packages:
NumPy (based on Numeric with improvements from numarray), Numeric, and
numarray.
NumPy, Numeric and/or numarray extend the Python language with new data types
that make Python an ideal language for numerical computing and
experimentation like MatLab and IDL.
The transfer of data between the Open Inventor data structures and the
Numerical Python arrays is implemented in C++ for efficiency.
- IVuPy has been developed using SIP, the Python interface generator for PyQt.
This provides optimal integration with PyQt and very efficient bindings as
exposed in
Python Wrapper Tools: a Performance Study.
Get started with a copy of the Inventor Mentor and study the Python
translations of SGI's implementation of the Inventor Mentor examples
in the examples/Mentor directory.
Note:
Translating some or all of the C++ examples is a very good exercise.
Note:
Section
3.2 explains how
IVuPy takes care of calling the
member functions
ref(),
unref(), and
unrefNoDelete() behind your back.
There should be no need to call those functions, and if you do, you do it at
your own risk.
Note:
Install
Doxygen and
GraphViz to make better documentation for Coin and
SoQt with clickable inheritance and colloboration diagrams.
The clickable diagrams are very useful, even if you are an Open Inventor
wizard.
Release cvs, documentation updated on April 5, 2006. Hosted on