This module is a demonstration in the use of picking to drive an application. The module allows the user to edit a molecule by adding/deleting atoms and bonds. The typical map would optionally have a molecule going into the MoleculeBuilder module. The geometry output goes to the Render module with the Pick output from the Render module feeding into the MoleculeBuilder module.

In the ADD mode, picking on background adds an atom. Picking on an atom specifies the start atom for a bond. Picking on another atom completes the bond definition. A higher order bond (double/triple) can be generated by adding a bond to an existing pair of bonded atoms

In the DELETE mode, picking on an atom deletes the atom and all bonds from that atom. Picking a bond deletes a bond. In the case of a higher order bond, the order is reduced.

This module illustrates the processing of pick structures. Both labeled and unlabeled pick structures are processed.


Port: Pick input
Type: Pick
Optional: This port is optional.
This port is from the Render Pick port

Port: Input Molecule
Type: Pyramid
Optional: This port is optional.
Constraints: n-layer
Constraints: optional-baseLat
Constraints: n-D compression
Constraints: n-compression type
This is a molecule that is the starting value for the editing

Port: Colormap
Type: Lattice
Optional: This port is optional.
Constraints: 1-D
Constraints: 4-vector
Constraints: float
Constraints: uniform
This is the colormap used for the molecule


Port: Add Type
Type: Radio Box
Menu Item: Add
Menu Item: Delete
ADD/DELETE selection

Port: Atomic Number
Type: Slider
The atomic number for all atoms added

Port: Radius
Type: Dial
The radius of each of the atoms.


Port: molecule geometry
Type: Geometry
The geometry for describing the complete molecule

Port: molecule pyramid
Type: Pyramid
Constraints: n-layer
Constraints: optional-baseLat
Constraints: n-D compression
Constraints: n-compression type
currently not used


Sometimes the bonds are hard to pick. There is a firing algorithm problem that can jam this module. To relieve the jam, select the Fire Now for this module.

If you wire the output geometry to a module on another machine (ie, create a socket connection) when the module was previously sending shared geometry, the downstream module will show the wrong geometry. Cause the MoleculeBuilder to recompute its data by sending a new pyramid or colormap, or by touching the radius widget. This problem arises because the MoleculeBuilder does not recompute its output when refired with no new inputs. For more information, refer to the module writer's guide section on shared memory geometry.

Setting Radius to zero may cause the Render module to crash (Windows NT only).


BallStick, ReadPDB, Render.
[Documentation Home]
© The Numerical Algorithms Group Ltd, Oxford UK. 2000