blob: 4f3664f0ef1481c934960d2367613f2baee11f4e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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
|