# Visualization Library A lightweight C++ OpenGL middleware for 2D/3D graphics | [Home] [Tutorials] [All Classes] [Grouped Classes]

# vlMolecule Namespace Reference

The Molecule Visualization namespace. More...

## Classes
class | Atom
| The Atom class represents an atom to be used with the Molecule class. More...
class | Bond
| The Bond class represents a bond to be used with the Molecule class. More...
class | AtomInfo
| Encapsulates information regarding an atom type. More...
class | Molecule
| The Molecule class is used to manage and render 3D molecular structures. More...
class | RingExtractor
| The RingExtractor class traverses a molecule's graph and detects various types of cycles, mainly used for aromatic ring detection. More...
## Enumerations
enum | EBondType { BT_None, BT_Single, BT_Double, BT_Triple, BT_Aromatic, BT_Amide, BT_Dummy, BT_Unknown }
| Bond types. More...
enum | EAtomType { AT_Hydrogen, AT_Helium, AT_Lithium, AT_Beryllium, AT_Boron, AT_Carbon, AT_Nitrogen, AT_Oxygen, AT_Fluorine, AT_Neon, AT_Sodium, AT_Magnesium, AT_Aluminium, AT_Silicon, AT_Phosphorus, AT_Sulfur, AT_Chlorine, AT_Argon, AT_Potassium, AT_Calcium, AT_Scandium, AT_Titanium, AT_Vanadium, AT_Chromium, AT_Manganese, AT_Iron, AT_Cobalt, AT_Nickel, AT_Copper, AT_Zinc, AT_Gallium, AT_Germanium, AT_Arsenic, AT_Selenium, AT_Bromine, AT_Krypton, AT_Rubidium, AT_Strontium, AT_Yttrium, AT_Zirconium, AT_Niobium, AT_Molybdenum, AT_Technetium, AT_Ruthenium, AT_Rhodium, AT_Palladium, AT_Silver, AT_Cadmium, AT_Indium, AT_Tin, AT_Antimony, AT_Tellurium, AT_Iodine, AT_Xenon, AT_Caesium, AT_Barium, AT_Lanthanum, AT_Cerium, AT_Praseodymium, AT_Neodymium, AT_Promethium, AT_Samarium, AT_Europium, AT_Gadolinium, AT_Terbium, AT_Dysprosium, AT_Holmium, AT_Erbium, AT_Thulium, AT_Ytterbium, AT_Lutetium, AT_Hafnium, AT_Tantalum, AT_Tungsten, AT_Rhenium, AT_Osmium, AT_Iridium, AT_Platinum, AT_Gold, AT_Mercury, AT_Thallium, AT_Lead, AT_Bismuth, AT_Polonium, AT_Astatine, AT_Radon, AT_Francium, AT_Radium, AT_Actinium, AT_Thorium, AT_Protactinium, AT_Uranium, AT_Neptunium, AT_Plutonium, AT_Americium, AT_Curium, AT_Berkelium, AT_Californium, AT_Einsteinium, AT_Fermium, AT_Mendelevium, AT_Nobelium, AT_Lawrencium, AT_Rutherfordium, AT_Dubnium, AT_Seaborgium, AT_Bohrium, AT_Hassium, AT_Meitnerium, AT_Darmstadtium, AT_Roentgenium, AT_Ununbium, AT_Ununtrium, AT_Ununquadium, AT_Ununpentium, AT_Ununhexium, AT_Ununseptium, AT_Ununoctium, AT_Unknown, AT_Count }
| Element types. More...
enum | EMoleculeStyle { MS_AtomsOnly, MS_BallAndStick, MS_Sticks, MS_Wireframe }
| Defines the main molecule styles. More...
## Functions
const AtomInfo & | atomInfo (EAtomType type)
| Returns an AtomInfo representing the properties of the given atom type.
EAtomType | atomType (const char *type)
| Translates a string containing atom type name, atom symbol or a Sybyl type into an EAtomType.
bool | loadMOL2 (const vl::String &path, std::vector< vl::ref< Molecule > > &structures)
| Loads a Tripos MOL2 file.
bool | loadMOL2 (vl::VirtualFile *vfile, std::vector< vl::ref< Molecule > > &structures)
| Loads a Tripos MOL2 file.

## Detailed Description

The Molecule Visualization namespace.

## Enumeration Type Documentation

enum vlMolecule::EBondType

Bond types.

Enumerator:

  BT_None |
  BT_Single |
  BT_Double |
  BT_Triple |
  BT_Aromatic |
  BT_Amide |
  BT_Dummy |
  BT_Unknown |

enum vlMolecule::EAtomType

Element types.

Enumerator:

  AT_Hydrogen |
  AT_Helium |
  AT_Lithium |
  AT_Beryllium |
  AT_Boron |
  AT_Carbon |
  AT_Nitrogen |
  AT_Oxygen |
  AT_Fluorine |
  AT_Neon |
  AT_Sodium |
  AT_Magnesium |
  AT_Aluminium |
  AT_Silicon |
  AT_Phosphorus |
  AT_Sulfur |
  AT_Chlorine |
  AT_Argon |
  AT_Potassium |
  AT_Calcium |
  AT_Scandium |
  AT_Titanium |
  AT_Vanadium |
  AT_Chromium |
  AT_Manganese |
  AT_Iron |
  AT_Cobalt |
  AT_Nickel |
  AT_Copper |
  AT_Zinc |
  AT_Gallium |
  AT_Germanium |
  AT_Arsenic |
  AT_Selenium |
  AT_Bromine |
  AT_Krypton |
  AT_Rubidium |
  AT_Strontium |
  AT_Yttrium |
  AT_Zirconium |
  AT_Niobium |
  AT_Molybdenum |
  AT_Technetium |
  AT_Ruthenium |
  AT_Rhodium |
  AT_Palladium |
  AT_Silver |
  AT_Cadmium |
  AT_Indium |
  AT_Tin |
  AT_Antimony |
  AT_Tellurium |
  AT_Iodine |
  AT_Xenon |
  AT_Caesium |
  AT_Barium |
  AT_Lanthanum |
  AT_Cerium |
  AT_Praseodymium |
  AT_Neodymium |
  AT_Promethium |
  AT_Samarium |
  AT_Europium |
  AT_Gadolinium |
  AT_Terbium |
  AT_Dysprosium |
  AT_Holmium |
  AT_Erbium |
  AT_Thulium |
  AT_Ytterbium |
  AT_Lutetium |
  AT_Hafnium |
  AT_Tantalum |
  AT_Tungsten |
  AT_Rhenium |
  AT_Osmium |
  AT_Iridium |
  AT_Platinum |
  AT_Gold |
  AT_Mercury |
  AT_Thallium |
  AT_Lead |
  AT_Bismuth |
  AT_Polonium |
  AT_Astatine |
  AT_Radon |
  AT_Francium |
  AT_Radium |
  AT_Actinium |
  AT_Thorium |
  AT_Protactinium |
  AT_Uranium |
  AT_Neptunium |
  AT_Plutonium |
  AT_Americium |
  AT_Curium |
  AT_Berkelium |
  AT_Californium |
  AT_Einsteinium |
  AT_Fermium |
  AT_Mendelevium |
  AT_Nobelium |
  AT_Lawrencium |
  AT_Rutherfordium |
  AT_Dubnium |
  AT_Seaborgium |
  AT_Bohrium |
  AT_Hassium |
  AT_Meitnerium |
  AT_Darmstadtium |
  AT_Roentgenium |
  AT_Ununbium |
  AT_Ununtrium |
  AT_Ununquadium |
  AT_Ununpentium |
  AT_Ununhexium |
  AT_Ununseptium |
  AT_Ununoctium |
  AT_Unknown |
  AT_Count |

enum vlMolecule::EMoleculeStyle

Defines the main molecule styles.

Enumerator:

  MS_AtomsOnly |
  MS_BallAndStick |
  MS_Sticks |
  MS_Wireframe |

## Function Documentation

const AtomInfo & vlMolecule::atomInfo | ( | EAtomType | type | ) |

Returns an AtomInfo representing the properties of the given atom type.

EAtomType vlMolecule::atomType | ( | const char * | type | ) |

Translates a string containing atom type name, atom symbol or a Sybyl type into an EAtomType.

bool vlMolecule::loadMOL2 | ( | const vl::String & | path,
|  | std::vector< vl::ref< Molecule > > & | structures |
| ) |  |  |

Loads a Tripos MOL2 file.

The Molecule tags will contain the following key/value pairs:

- `"MultiMol2Index"`: the index (0-based) of the structure in a multi MOL2 file.
- `"FilePath"`: the full path of the file that contained the structure.

bool vlMolecule::loadMOL2 | ( | vl::VirtualFile * | vfile,
|  | std::vector< vl::ref< Molecule > > & | structures |
| ) |  |  |

Loads a Tripos MOL2 file.

The Molecule tags will contain the following key/value pairs:

- `"MultiMol2Index"`: the index (0-based) of the structure in a multi MOL2 file.
- `"FilePath"`: the full path of the file that contained the structure.

Visualization Library v2009.08 Reference Documentation
Copyright 2005-2009 Michele Bosi. All rights reserved.
Updated on Sun Nov 29 11:11:58 2009.
Permission is granted to use this page to write and publish articles regarding Visualization Library.