OpenMOIV Logo
 
Universitat Pompeu Fabra 
Grupo de Tecnologías Interactivas 
  Information
  Introduction
  Links
  Contact & people

  OpenMOIV
  Introduction
  Architecture
  Compatibility
  Documentation
  License
  Download

  Related libraries
  Open Inventor
  Molecular Inventor

  Projects
  Related projects

  Publications
  Papers
   
 


OpenMOIV Architecture

The OpenMOIV architecture is almost identical to SGI Molecular Inventor structure. Our library follows the Open Inventor scene graph philosophy. Most improvements have been developed over original Molecular Inventor classes, although we have created some to facilitate and simplify some new tasks.

All changes have tried to avoid the need to modify applications based on Molecular Inventor library. It is not necessary to set new parameters, nor even to add new nodes to the scene graph. To use OpenMOIV with Molecular Inventor-based applications it only requires to rebuild the application. No change of code is required, with the corresponding time saving. One exception to this source-code compatibility is the User Interface support: if you use the original ChemUI class, you need to remove or change all references to it in your code. However, in order to be able to take advantage of our improvements it is necessary to change some variable members of the original classes, although the scene graph will remain unchanged.

New classes

This UML diagram shows the new OpenMOIV classes :

Main changes in OpenMOIV

New OpenMOIV classes

The classes within the rectangles have been added to the library. The red rectangle contains classes that store residue information and the blue rectangle contains classes that manage structures to render the primitives. The green rectangle contains classes for importing standard molecular file formats.

Most of classes are used internally by the library so the programmers mustn't worry about them. The programmers can add residues to their scenes by using the class SbResidue.

Minor changes

The ChemUI was X-Windows dependent and it has been removed so that the library becomes fully platform independent. The node was a user-interface class that manipulated parameters in ChemDisplayParam.

The font cache manager (ChemBitmapFontCache) of Molecular Inventor has also been modified because the font support was dependent on the SGI Font Library (libFL). Now, the fonts are created using the corresponding windowing extensions (wgl, glx, etc.). It is foreseen to adapt the font manager so that it uses agl extensions in MacOS X. If your platform does not implement these extensions, the library allows to use a homemade hard-coded font, so you do not worry too much about it, even you can go on using the FL library if you want.


Simplest scene graph

In this paragraph, we remind you which nodes the simplest scene graph of Molecular Inventor-based applications must have and how they are in OpenMOIV (red nodes are group nodes, blue nodes are shape nodes and light blue nodes are property nodes):

MOIV simplest scene graph
Molecular Inventor simplest scene graph

The abstract class ChemBaseData is the container of all the molecular scene database (atoms, bonds and residues). The ChemDisplayParam stores the rendering properties for the scene (atoms and bonds drawstyles, residues drawstyles, atmospheric effects as fog, etc.). The ChemUI node is a user-interface node that manipulates various parameters in ChemDisplayParam. The ChemRadii node contains information related with the radii of the atoms. The ChemColor node contains information related to the colors used to represent the molecular entities as color tables, coloration types, etc. The ChemDisplay node draws the scene based on the parameters of the ChemDisplayParam node. All these nodes must be added to a group node (for example a SoSeparator node).

In OpenMOIV, the simplest scene graph must have the following nodes:

OpenMOIV simplest scene graph
OpenMOIV simplest scene graph

Our simplest scene graph does not contain either ChemUI or ChemBaseData. ChemUI has been removed (consult minor changes section) and ChemBaseData has been replaced by ChemData (or derived classes), to manage residues information.


Molecular entities selection

The selection of all molecular entities (including residues) creates a ChemSelection node and adds the required nodes to it, which have been explained previously. This is the usual mechanism of Molecular Inventor-based applications and therefore it has been maintained.


Importing/Exporting 3D molecular database

OpenMOIV supports PDB and MOL standard file formats. You can import these formats using an instance of ChemPDBImporter or ChemMOLImporter classes. PDB and MOL exporters can be added to the library in the future.

For further information, contact us.


Last update of this page:
08-03-2004


 
Universitat Pompeu Fabra - GTI ® 2003
Passeig de Circumvalˇlaciķ Nº8 08003 Barcelona
Tel:(+34) 93 5422500 or (+34) 93 5422201 Fax:(+34) 93 5422202