Stereopermutator implementation details. More...
Data Structures | |
struct | Abstract |
Class to compute the set of abstract permutations from ranking and shape. More... | |
struct | BaseAtom |
Data class for cycleModelContradictsGraph() input. More... | |
struct | LocalSpatialModel |
struct | Feasible |
Functions | |
bool | cycleModelContradictsGraph (const std::vector< Utils::ElementType > &elementTypes, const std::vector< double > &cycleEdgeLengths, const std::vector< BaseAtom > &bases) |
Checks whether spatially modeling a cycle contradicts the graph. More... | |
bool | triangleBondTooClose (double a, double b, double angle, double bondRadius) |
Checks whether the far bond in a triangle is too close to the originating atom. More... | |
Stereopermutator implementation details.
bool Scine::Molassembler::Stereopermutators::cycleModelContradictsGraph | ( | const std::vector< Utils::ElementType > & | elementTypes, |
const std::vector< double > & | cycleEdgeLengths, | ||
const std::vector< BaseAtom > & | bases | ||
) |
Checks whether spatially modeling a cycle contradicts the graph.
elementTypes | Element types of the cycle, laid out as A, I, J, ..., X, B |
cycleEdgeLengths | Edge lengths forming a cyclic polygon, laid out as A-I, I-J, ..., X-B, B-A |
bases | Base atoms to check distances to atoms of the cyclic polygon against. Each base is distanceToLeft away from A and distanceToRight away from B |
Complexity \(\Theta(N)\)
bool Scine::Molassembler::Stereopermutators::triangleBondTooClose | ( | double | a, |
double | b, | ||
double | angle, | ||
double | bondRadius | ||
) |
Checks whether the far bond in a triangle is too close to the originating atom.
a | Bond length to first atom of triangle |
b | Bond length to second atom of triangle |
angle | Angle between bonds a and b |
bondRadius | Bond radius of the originating atom |
Complexity \(\Theta(1)\)