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
109 void setDefaultOptions();
116 void generateSD(
System& molecule_sys);
130 bool operator() (
Atom const* first,
Atom const* second)
const
135 return first_value < second_value;
149 void constructRingSystem_(
Position current_ring_system);
152 Angle getCFS_(
Atom const* atom,
bool hi);
158 void setCFS_(
Atom* atom,
Angle cfs,
bool high);
161 void pushCFS_(
Atom* atom);
164 Angle getBackupCFS_(
Atom const*,
bool hi);
170 Angle computeAngularSeparation_(
Atom* seed);
176 std::vector<Atom*> sequenceSubstituents_(
Atom* seed);
180 void computeShelleyPriorities_();
196 void attachCore_(
Position current_ring, std::vector<RingAnalyser::Ring>& current_system,
float x_start);
203 void attachTemplate_(
Position current_ring, std::vector<RingAnalyser::Ring>& current_system);
210 void attachFused_(
Position current_ring, std::vector<RingAnalyser::Ring>& current_system);
217 void attachBridged_(
Position current_ring, std::vector<RingAnalyser::Ring>& current_system);
224 void attachSpiro_(
Position current_ring, std::vector<RingAnalyser::Ring>& current_system);
227 void computeAdjacencyMatrix_(std::vector<Atom*>& chain, std::vector<bool>& result);
230 static bool compareChains_(
const vector<Atom*>& x,
const vector<Atom*>& y);
238 void smoothCFSAngle_(
Atom* seed);
241 void placeSubstituent_(
Atom* seed,
Atom* head,
Atom* next);
244 void depositPFU_(
Atom* seed_atom,
Atom* next_neighbour);
247 void checkOverlap_(
Atom* atom);
258 void findFloydWarshallPath_(std::vector<int>& path, std::vector<Index>& next,
Size remaining_atoms,
Position i,
Position j, std::list<Index>& output);
Property
Properties, used to describe atoms and their status.
const NamedProperty & getProperty(const std::string &name) const
unsigned int getUnsignedInt() const
System * system_
the system we are working on
Default values for options.
static const float STANDARD_BOND_LENGTH
static const char * SHOW_HYDROGENS
static const char * STANDARD_BOND_LENGTH
std::list< std::list< Atom * > > chains_
all chains
The number of properties in PDBAtom.
RingAnalyser ring_analyser_
The ring analyser containing all information about ring systems.
std::priority_queue< Atom *, std::vector< Atom * >, AtomComparator > redraw_queue_
our redraw queue
static const bool SHOW_HYDROGENS
Methods for the analysis of the structure of ringsystems.