Go to the documentation of this file.
5 #ifndef BALL_STRUCTURE_SDGENERATOR_H
6 #define BALL_STRUCTURE_SDGENERATOR_H
8 #ifndef BALL_DATATYPE_OPTIONS_H
12 #ifndef BALL_STRUCTURE_RINGANALYSER_H
16 #ifndef BALL_KERNEL_PDBATOM_H
54 LAST_SDGENERATOR_PROPERTY
130 bool operator() (
Atom const* first,
Atom const* second)
const
135 return first_value < second_value;
SDGenerator(bool show_hydrogens=false)
const NamedProperty & getProperty(const std::string &name) const
std::priority_queue< Atom *, std::vector< Atom * >, AtomComparator > redraw_queue_
our redraw queue
Property
Properties, used to describe atoms and their status.
Angle computeAngularDemand_(Atom *seed)
System * system_
the system we are working on
void findFloydWarshallPath_(std::vector< int > &path, std::vector< Index > &next, Size remaining_atoms, Position i, Position j, std::list< Index > &output)
void prepare_()
Distinguishes between ring-atoms and core-chain-atoms, removes all H-Atoms from the System.
void placeSubstituent_(Atom *seed, Atom *head, Atom *next)
unsigned int getUnsignedInt() const
void computeAdjacencyMatrix_(std::vector< Atom * > &chain, std::vector< bool > &result)
Compute adjacency matrix of the given atoms.
void buildRegularPolygon_(RingAnalyser::Ring &ring, Position first_anchor_index, bool clockwise)
void depositPFU_(Atom *seed_atom, Atom *next_neighbour)
void attachBridged_(Position current_ring, std::vector< RingAnalyser::Ring > ¤t_system)
attach a bridged ring to a (partially) constructed ringsystem
void checkOverlap_(Atom *atom)
void pushCFS_(Atom *atom)
void smoothCFSAngle_(Atom *seed)
static const char * STANDARD_BOND_LENGTH
Angle computeCFS_(Vector3 const &input)
Angle getCFS_(Atom const *atom, bool hi)
Default values for options.
void buildOpenPolygon_(RingAnalyser::Ring &ring, Position first_anchor_index, Position second_anchor_index)
Angle computeAngularSeparation_(Atom *seed)
void computeShelleyPriorities_()
RingAnalyser ring_analyser_
The ring analyser containing all information about ring systems.
@ NUMBER_OF_PROPERTIES
The number of properties in PDBAtom.
static const char * SHOW_HYDROGENS
void setCFS_(Atom *atom, Angle cfs, bool high)
void attachSpiro_(Position current_ring, std::vector< RingAnalyser::Ring > ¤t_system)
attach a spiro ring to a (partially) constructed ringsystem
void attachCore_(Position current_ring, std::vector< RingAnalyser::Ring > ¤t_system, float x_start)
construct the core-ring as a regular polygon
void attachFused_(Position current_ring, std::vector< RingAnalyser::Ring > ¤t_system)
attach a fused ring to a (partially) constructed ringsystem
void constructRingSystem_(Position current_ring_system)
Constructs a ringsystem, providing the atoms with relative 2D-coordinates, starting in the point of o...
Methods for the analysis of the structure of ringsystems.
bool ringIsClockwise_(const RingAnalyser::Ring &ring, Index start_index=0) const
std::list< std::list< Atom * > > chains_
all chains
std::vector< Atom * > sequenceSubstituents_(Atom *seed)
void generateSD(System &molecule_sys)
Generates a structure Diagram from the input System.
void computeCoreCFS_(RingAnalyser::Ring &ring, bool clockwise)
void treatChains_()
cluster and arrange all chains in the system
Angle getBackupCFS_(Atom const *, bool hi)
static const bool SHOW_HYDROGENS
static bool compareChains_(const vector< Atom * > &x, const vector< Atom * > &y)
Comparator for chains of atoms.
static const float STANDARD_BOND_LENGTH
void attachTemplate_(Position current_ring, std::vector< RingAnalyser::Ring > ¤t_system)
attach a ring template to a (partially) constructed ringsystem (no functionality yet)