12 #ifndef INCLUDE_MOLASSEMBLER_COMMON_TRIG_H
13 #define INCLUDE_MOLASSEMBLER_COMMON_TRIG_H
21 namespace Molassembler {
22 namespace CommonTrig {
24 using ValueBounds = DistanceGeometry::ValueBounds;
34 T lawOfCosines(
const T a,
const T b,
const T phiRadians) {
38 - 2 * a * b * std::cos(phiRadians)
63 if(ratio > 1 && std::fabs(ratio - 1) <= 1e-10) {
66 return std::acos(ratio);
84 b * std::sin(alphaRadians) / a
97 double dihedralLength(
120 ValueBounds dihedralLengthBounds(
121 const ValueBounds& aBounds,
122 const ValueBounds& bBounds,
123 const ValueBounds& cBounds,
124 const ValueBounds& alphaBounds,
125 const ValueBounds& betaBounds,
126 const ValueBounds& dihedralBounds
Bond distance modelling functions.
Data struct for storing a numeric interval.