Molassembler  3.0.0
Molecule graph and conformer library
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
CycleFeasibility.h
Go to the documentation of this file.
1 
7 #ifndef INCLUDE_MOLASSEMBLER_STEREOPERMUTATORS_CYCLE_FEASIBILITY_H
8 #define INCLUDE_MOLASSEMBLER_STEREOPERMUTATORS_CYCLE_FEASIBILITY_H
9 
11 
12 namespace Scine {
13 namespace Molassembler {
14 namespace Stereopermutators {
15 
17 struct BaseAtom {
18  Utils::ElementType elementType;
19  double distanceToLeft = 0;
20  double distanceToRight = 0;
21  double outOfPlaneDistance = 0;
22 };
23 
39  const std::vector<Utils::ElementType>& elementTypes,
40  const std::vector<double>& cycleEdgeLengths,
41  const std::vector<BaseAtom>& bases
42 );
43 
58  double a,
59  double b,
60  double angle,
61  double bondRadius
62 );
63 
64 } // namespace Stereopermutators
65 } // namespace Molassembler
66 } // namespace Scine
67 
68 #endif
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.
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.
Data class for cycleModelContradictsGraph() input.
Definition: CycleFeasibility.h:17
Trigonometric stubs.