Molecular Inventor is an object-oriented, 3D toolkit that helps you develop molecular visualization applications. Molecular Inventor (MI) is an extension of Open Inventor that optimizes the rendering of molecular structures and simplifies the process of writing molecular visualization applications.
This guide shows you how to develop Molecular Inventor applications. Included are descriptions of Molecular Inventor applications that you can run on your workstation, as well as code examples that you can use as a guide when developing your MI applications.
This guide presents information about Molecular Inventor in a task-oriented manner: the topics in this guide are arranged to coincide with the order in which you need to refer to them while writing a Molecular Inventor application. To illustrate the use of Molecular Inventor, code examples are sprinkled throughout the guide. Additional sample source code is provided in /usr/share/src/MolInventor/examples.
Brief descriptions of the chapters in this guide follow:
Chapter 1, “Overview of Molecular Inventor,” provides a general overview of Molecular Inventor and includes a guided tour through a sample MI application, called miApp.
Chapter 2, “Writing Your First Molecular Inventor Application,” shows you how to write a simple Molecular Inventor application called helloMI.
Chapter 3, “Supplying Chemical System Data,” describes how you can derive a class from ChemBaseData to provide access to chemical system data.
Chapter 4, “Controlling the Display Parameters,” describes how to control the display parameters of rendered data:
Chapter 5, “Rendering Chemical System Data,” describes how to use ChemDisplay to render the chemical system data.
Chapter 6, “Selection Mechanisms,” describes two selection-related mechanisms that maintain a list of chemical system items selected either programmatically or by the user.
Chapter 7, “Isosurfaces and 3D Contouring,” describes how to generate contour lines and constant-valued surfaces through a structured, 3D grid of points.
Chapter 8, “Advanced Programming Topics,” provides code examples and descriptions of advanced functionality in a Molecular Inventor application.
This guide is written for developers of molecular-visualization applications who want to use the Molecular Inventor library of classes.
This guide is written with the assumption that the reader is experienced with
C++
Open Inventor programming
X Windows programming
Because Molecular Inventor is based on Open Inventor, it is important to become familiar with the concepts of Open Inventor programming. It is highly recommended that you read the first three chapters of The Inventor Mentor before reading this guide.
For information about Open Inventor, see the following:
Wernecke, Josie, The Inventor Mentor. Reading, Mass.:Addison Wesley 1994
Wernecke, Josie, The Inventor Toolmaker. Reading, Mass.:Addison Wesley 1994
Open Inventor Architecture Group, Open Inventor C++ Reference Manual. Mass.:Addison Wesley 1994
These style conventions are used in this guide:
Bold—Functions, class names, node names, data members, and data types
Italics—Variables, filenames, spatial dimensions, and commands
Regular—Program names and enumerated types
Code examples are set off from the text in a fixed-space font.