BALL
1.4.2
|
#include <BALL/STRUCTURE/sdGenerator.h>
Classes | |
class | AtomComparator |
struct | Default |
Default values for options. More... | |
struct | Option |
Option names. More... | |
Public Types | |
enum | Property { FIRST_SDGENERATOR_PROPERTY = PDBAtom::NUMBER_OF_PROPERTIES+1, IN_RING, CORE_CHAIN, DEPOSITED, FXAS, EQAS, HEAD, EDGE, ASSEMBLED, ZIG, ZAG, INITIALIZED_HEAD_CFS, LAST_SDGENERATOR_PROPERTY } |
Properties, used to describe atoms and their status. More... | |
Public Member Functions | |
void | generateSD (System &molecule_sys) |
Generates a structure Diagram from the input System. More... | |
void | clear () |
Constructors and Destructors. | |
SDGenerator (bool show_hydrogens=false) | |
virtual | ~SDGenerator () |
Accessors | |
void | setDefaultOptions () |
Public Attributes | |
Public Attributes | |
Options | options |
options More... | |
Protected Member Functions | |
void | prepare_ () |
Distinguishes between ring-atoms and core-chain-atoms, removes all H-Atoms from the System. More... | |
void | constructRingSystem_ (Position current_ring_system) |
Constructs a ringsystem, providing the atoms with relative 2D-coordinates, starting in the point of origin. More... | |
Angle | getCFS_ (Atom const *atom, bool hi) |
Angle | computeCFS_ (Vector3 const &input) |
void | setCFS_ (Atom *atom, Angle cfs, bool high) |
void | pushCFS_ (Atom *atom) |
Angle | getBackupCFS_ (Atom const *, bool hi) |
void | computeCoreCFS_ (RingAnalyser::Ring &ring, bool clockwise) |
Angle | computeAngularSeparation_ (Atom *seed) |
Angle | computeAngularDemand_ (Atom *seed) |
std::vector< Atom * > | sequenceSubstituents_ (Atom *seed) |
void | computeShelleyPriorities_ () |
void | buildRegularPolygon_ (RingAnalyser::Ring &ring, Position first_anchor_index, bool clockwise) |
void | buildOpenPolygon_ (RingAnalyser::Ring &ring, Position first_anchor_index, Position second_anchor_index) |
void | attachCore_ (Position current_ring, std::vector< RingAnalyser::Ring > ¤t_system, float x_start) |
construct the core-ring as a regular polygon More... | |
void | attachTemplate_ (Position current_ring, std::vector< RingAnalyser::Ring > ¤t_system) |
attach a ring template to a (partially) constructed ringsystem (no functionality yet) More... | |
void | attachFused_ (Position current_ring, std::vector< RingAnalyser::Ring > ¤t_system) |
attach a fused ring to a (partially) constructed ringsystem More... | |
void | attachBridged_ (Position current_ring, std::vector< RingAnalyser::Ring > ¤t_system) |
attach a bridged ring to a (partially) constructed ringsystem More... | |
void | attachSpiro_ (Position current_ring, std::vector< RingAnalyser::Ring > ¤t_system) |
attach a spiro ring to a (partially) constructed ringsystem More... | |
void | computeAdjacencyMatrix_ (std::vector< Atom * > &chain, std::vector< bool > &result) |
Compute adjacency matrix of the given atoms. More... | |
void | treatChains_ () |
cluster and arrange all chains in the system More... | |
void | smoothCFSAngle_ (Atom *seed) |
void | placeSubstituent_ (Atom *seed, Atom *head, Atom *next) |
void | depositPFU_ (Atom *seed_atom, Atom *next_neighbour) |
void | checkOverlap_ (Atom *atom) |
bool | ringIsClockwise_ (const RingAnalyser::Ring &ring, Index start_index=0) const |
void | assembleSD_ () |
void | findFloydWarshallPath_ (std::vector< int > &path, std::vector< Index > &next, Size remaining_atoms, Position i, Position j, std::list< Index > &output) |
Static Protected Member Functions | |
static bool | compareChains_ (const vector< Atom * > &x, const vector< Atom * > &y) |
Comparator for chains of atoms. More... | |
Protected Attributes | |
RingAnalyser | ring_analyser_ |
The ring analyser containing all information about ring systems. More... | |
std::list< std::list< Atom * > > | chains_ |
all chains More... | |
std::priority_queue< Atom *, std::vector< Atom * > , AtomComparator > | redraw_queue_ |
our redraw queue More... | |
System * | system_ |
the system we are working on More... | |
Structure Diagram Generation.
This class provides methods for analysis of the input.
Definition at line 33 of file sdGenerator.h.
Properties, used to describe atoms and their status.
Enumerator | |
---|---|
FIRST_SDGENERATOR_PROPERTY | |
IN_RING | |
CORE_CHAIN | |
DEPOSITED | |
FXAS | |
EQAS | |
HEAD | |
EDGE | |
ASSEMBLED | |
ZIG | |
ZAG | |
INITIALIZED_HEAD_CFS | |
LAST_SDGENERATOR_PROPERTY |
Definition at line 40 of file sdGenerator.h.
BALL::SDGenerator::SDGenerator | ( | bool | show_hydrogens = false | ) |
Default-Constructor
|
virtual |
Destructor
|
protected |
Assemble the final structure diagram
|
protected |
attach a bridged ring to a (partially) constructed ringsystem
current_ring | the index of the ring to attach |
current_system | the index of the ring system |
|
protected |
construct the core-ring as a regular polygon
current_ring | the index of the ring to attach |
current_system | the ring system |
x_start | the ring is created in (x_start, 0, 0) |
|
protected |
attach a fused ring to a (partially) constructed ringsystem
current_ring | the index of the ring to attach |
current_system | the index of the ring system |
|
protected |
attach a spiro ring to a (partially) constructed ringsystem
current_ring | the index of the ring to attach |
current_system | the index of the ring system |
|
protected |
attach a ring template to a (partially) constructed ringsystem (no functionality yet)
current_ring | the index of the ring to attach |
current_system | the ring system |
|
protected |
Build an open polygon for a ring with two fixed points.
|
protected |
Build a regular polygon for a ring with two fixed points.
|
protected |
void BALL::SDGenerator::clear | ( | ) |
Clear all internal data structures.
|
staticprotected |
Comparator for chains of atoms.
|
protected |
Compute adjacency matrix of the given atoms.
|
protected |
|
protected |
Compute the Shelley priority values for each atom
|
protected |
Constructs a ringsystem, providing the atoms with relative 2D-coordinates, starting in the point of origin.
current_ring_system | consecutive numbering of the molecule's ringsystems |
|
protected |
void BALL::SDGenerator::generateSD | ( | System & | molecule_sys | ) |
Generates a structure Diagram from the input System.
molecule_sys |
|
protected |
Distinguishes between ring-atoms and core-chain-atoms, removes all H-Atoms from the System.
molecule_sys |
|
protected |
|
protected |
void BALL::SDGenerator::setDefaultOptions | ( | ) |
Resets the options to default values.
|
protected |
|
protected |
cluster and arrange all chains in the system
|
protected |
all chains
Definition at line 264 of file sdGenerator.h.
Options BALL::SDGenerator::options |
options
Definition at line 101 of file sdGenerator.h.
|
protected |
our redraw queue
Definition at line 267 of file sdGenerator.h.
|
protected |
The ring analyser containing all information about ring systems.
Definition at line 261 of file sdGenerator.h.
|
protected |
the system we are working on
Definition at line 270 of file sdGenerator.h.