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 AtomInfoatomInfo (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

Bond types.

Enumerator:
BT_None 
BT_Single 
BT_Double 
BT_Triple 
BT_Aromatic 
BT_Amide 
BT_Dummy 
BT_Unknown 

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 

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 v2010.06 Reference Documentation
Copyright 2005-2009 Michele Bosi. All rights reserved.
Updated on Tue Jun 1 00:57:36 2010.
Permission is granted to use this page to write and publish articles regarding Visualization Library.