aboutsummaryrefslogtreecommitdiff
path: root/src/manifold.h
blob: f7fad5bec088d66f6a9dd8c1299a7b5448079373 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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