aboutsummaryrefslogtreecommitdiff
path: root/src/manifold.h
diff options
context:
space:
mode:
authorFranklin Wei <me@fwei.tk>2019-05-30 23:03:17 -0400
committerFranklin Wei <me@fwei.tk>2019-05-30 23:04:12 -0400
commitbc6dcafc3868d55d2653081d27f1eaf771c2d532 (patch)
tree3fa44332d6981538247a85e0ad83d10c069ae431 /src/manifold.h
parentcdfd5b37012935f7b0fb0a41ea8ca119ef8313b6 (diff)
downloadfieldviz-bc6dcafc3868d55d2653081d27f1eaf771c2d532.zip
fieldviz-bc6dcafc3868d55d2653081d27f1eaf771c2d532.tar.gz
fieldviz-bc6dcafc3868d55d2653081d27f1eaf771c2d532.tar.bz2
fieldviz-bc6dcafc3868d55d2653081d27f1eaf771c2d532.tar.xz
Generalize to 2-manifolds, refactor, improve
Moves some stuff to libfml
Diffstat (limited to 'src/manifold.h')
-rw-r--r--src/manifold.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/manifold.h b/src/manifold.h
new file mode 100644
index 0000000..f7fad5b
--- /dev/null
+++ b/src/manifold.h
@@ -0,0 +1,17 @@
+#ifndef MANIFOLD_H
+#define MANIFOLD_H
+
+#include <cmath>
+#include <iostream>
+#include <fml/fml.h>
+using namespace fml;
+
+/* All manifolds inherit this class */
+class Manifold {
+public:
+ virtual vec3 integrate(vec3 (*integrand)(vec3 s, vec3 ds), scalar delta) const = 0;
+ virtual const char *name() const = 0;
+ virtual const int dimension() const = 0; // 0 = point, 1 = curve, 2 = surface, 3 = solid
+};
+
+#endif