blob: 9cac6299a8320a7f4e31b8a3a187b3f55d868c4d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
#ifndef CGAL_NEF_POLYHEDRON_H_
#define CGAL_NEF_POLYHEDRON_H_
#ifdef ENABLE_CGAL
#include "cgalfwd.h"
class CGAL_Nef_polyhedron
{
public:
CGAL_Nef_polyhedron() : dim(0), p2(0), p3(0) {}
CGAL_Nef_polyhedron(CGAL_Nef_polyhedron2 *p) : dim(2), p2(p), p3(0) {}
CGAL_Nef_polyhedron(CGAL_Nef_polyhedron3 *p) : dim(3), p2(0), p3(p) {}
~CGAL_Nef_polyhedron() {}
CGAL_Nef_polyhedron &operator+=(const CGAL_Nef_polyhedron &other);
CGAL_Nef_polyhedron &operator*=(const CGAL_Nef_polyhedron &other);
CGAL_Nef_polyhedron &operator-=(const CGAL_Nef_polyhedron &other);
CGAL_Nef_polyhedron &minkowski(const CGAL_Nef_polyhedron &other);
CGAL_Nef_polyhedron copy() const;
int weight() const;
class PolySet *convertToPolyset();
class DxfData *convertToDxfData() const;
int dim;
// FIXME: Define ownership of the CGAL objects, e.g. use reference-counted smart pointers
CGAL_Nef_polyhedron2 *p2;
CGAL_Nef_polyhedron3 *p3;
};
#endif /* ENABLE_CGAL */
#endif
|