11#ifndef __RD_DIST_UTILS_H__
12#define __RD_DIST_UTILS_H__
25 double res = d1 * d1 + d2 * d2 - 2 * d1 * d2 * cos(angle);
51 double ang23,
double torAng) {
53 Point3D p1(d1 * cos(ang12), d1 * sin(ang12), 0.0);
56 Point3D p4(d2 - d3 * cos(ang23), d3 * sin(ang23), 0.0);
76 double dx = d2 - d3 * cos(ang23) - d1 * cos(ang12);
77 double dy = d3 * sin(ang23) - d1 * sin(ang12);
78 double res = dx * dx + dy * dy;
90 double dx = d2 - d3 * cos(ang23) - d1 * cos(ang12);
91 double dy = d3 * sin(ang23) + d1 * sin(ang12);
92 double res = dx * dx + dy * dy;
double length() const override
double compute14DistTrans(double d1, double d2, double d3, double ang12, double ang23)
Compute the 14 distances give the 12 distance and bond angle for trans configuration.
double compute14DistCis(double d1, double d2, double d3, double ang12, double ang23)
Compute the 14 distances give the 12 distance and bond angle for cis configuration.
double compute13Dist(double d1, double d2, double angle)
Compute the 13 distance between points give the 12 distances and the angle between the axes.
double compute14Dist3D(double d1, double d2, double d3, double ang12, double ang23, double torAng)
Compute the 14 distances give the 12 distance and the angles.