BALL::MoleculeAssembler Class Reference

class, providing methods for the assembly of a structure diagram More...

#include <BALL/STRUCTURE/moleculeAssembler.h>

List of all members.


Public Member Functions

 MoleculeAssembler ()
 

Default-Constructor.


 ~MoleculeAssembler ()
 

Destructor.


void assembleMolecule (System &molecule_sys, vector< vector< vector< Atom * > > > &ringsystems, vector< vector< Atom * > > &chains)
 

assembles the structure diagram from previously prepared fragments



Static Public Member Functions

static bool compareRingsystems (const vector< vector< Atom * > > &x, const vector< vector< Atom * > > &y)
 

comparator for sorting the ringsystems by their size



Private Member Functions

void assembleRS (Atom *&start_atom, Atom *&assemble_atom, vector< vector< vector< Atom * > > > &ringsystems)
 

adds a prefabricated ringsystem to the structure diagram


void assembleChain (Atom *&start_atom, Atom *&assemble_atom, vector< vector< Atom * > > &chains)
 

adds a chain to the structure diagram


void assembleSubstituents (Atom *&start_atom, System &molecule_sys)
 

adds single atoms to the structure diagram


void updateCFS (Atom *&atom)
 

determines the free space, which is left around an atom to assemble further substituents



Private Attributes

list< Atom * > aq_

Detailed Description

class, providing methods for the assembly of a structure diagram


Constructor & Destructor Documentation

BALL::MoleculeAssembler::MoleculeAssembler (  ) 

Default-Constructor.

BALL::MoleculeAssembler::~MoleculeAssembler (  ) 

Destructor.


Member Function Documentation

void BALL::MoleculeAssembler::assembleChain ( Atom *&  start_atom,
Atom *&  assemble_atom,
vector< vector< Atom * > > &  chains 
) [private]

adds a chain to the structure diagram

Parameters:
start_atom the already positioned neighbour-atom of the chain
assemble_atom the atom, that belongs to the chain and is a neighbour of start_atom
chains all chains of the molecule
void BALL::MoleculeAssembler::assembleMolecule ( System molecule_sys,
vector< vector< vector< Atom * > > > &  ringsystems,
vector< vector< Atom * > > &  chains 
)

assembles the structure diagram from previously prepared fragments

Parameters:
molecule_sys System of the input molecule
ringsystems the prefabricated ringsystems
chains the chains of the molecule
void BALL::MoleculeAssembler::assembleRS ( Atom *&  start_atom,
Atom *&  assemble_atom,
vector< vector< vector< Atom * > > > &  ringsystems 
) [private]

adds a prefabricated ringsystem to the structure diagram

Parameters:
start_atom the already positioned neighbour-atom of the ringsystem
assemble_atom the atom, that belongs to the ringsystem and is a neighbour of start_atom
ringsystems all prefabricated ringsystems of the molecule
void BALL::MoleculeAssembler::assembleSubstituents ( Atom *&  start_atom,
System molecule_sys 
) [private]

adds single atoms to the structure diagram

Parameters:
start_atom the already positioned neighbour-atom of the single atoms
molecule_sys System of the input molecule
static bool BALL::MoleculeAssembler::compareRingsystems ( const vector< vector< Atom * > > &  x,
const vector< vector< Atom * > > &  y 
) [static]

comparator for sorting the ringsystems by their size

Parameters:
x ringsystem
y ringsystem
void BALL::MoleculeAssembler::updateCFS ( Atom *&  atom  )  [private]

determines the free space, which is left around an atom to assemble further substituents

Parameters:
atom 

Member Data Documentation