diff options
Diffstat (limited to 'include/fml/manifold.h')
| -rw-r--r-- | include/fml/manifold.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/include/fml/manifold.h b/include/fml/manifold.h new file mode 100644 index 0000000..4f3664f --- /dev/null +++ b/include/fml/manifold.h @@ -0,0 +1,20 @@ +#ifndef MANIFOLD_H +#define MANIFOLD_H + +#include <cmath> +#include <iostream> + +#include "fml.h" +#include "vec3.h" + +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 |