summaryrefslogtreecommitdiff
path: root/tikzit/src/util.h
diff options
context:
space:
mode:
authorAleks Kissinger <aleks0@gmail.com>2017-12-21 16:34:58 +0000
committerAleks Kissinger <aleks0@gmail.com>2017-12-21 16:34:58 +0000
commit9d8317cd593d47911bb6b2e6fb8ef0077e24ae36 (patch)
tree6f2d44782c37f8eaa36f2bb1de625343af65649e /tikzit/src/util.h
parent82bdd42a475d240bb08e201a47b0972d0b2862a6 (diff)
edge bending working
Diffstat (limited to 'tikzit/src/util.h')
-rw-r--r--tikzit/src/util.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/tikzit/src/util.h b/tikzit/src/util.h
new file mode 100644
index 0000000..2952214
--- /dev/null
+++ b/tikzit/src/util.h
@@ -0,0 +1,24 @@
+/**
+ * Various utility functions, mostly for mathematical calculation.
+ */
+
+#ifndef UTIL_H
+#define UTIL_H
+
+#include <QPoint>
+#include <cmath>
+
+// interpolate on a cubic bezier curve
+float bezierInterpolate(float dist, float c0, float c1, float c2, float c3);
+QPointF bezierInterpolateFull (float dist, QPointF c0, QPointF c1, QPointF c2, QPointF c3);
+
+// rounding
+float roundToNearest(float stepSize, float val);
+float radiansToDegrees (float radians);
+
+// angles
+float degreesToRadians(float degrees);
+int normaliseAngleDeg (int degrees);
+float normaliseAngleRad (float rads);
+
+#endif // UTIL_H