45 |
|
* |
46 |
|
* Created by Charles F. Vardeman II on 11 Dec 2006. |
47 |
|
* @author Charles F. Vardeman II |
48 |
< |
* @version $Id: ConvexHull.hpp,v 1.1 2006-12-14 19:32:32 chuckv Exp $ |
48 |
> |
* @version $Id: ConvexHull.hpp,v 1.2 2007-05-29 22:50:14 chuckv Exp $ |
49 |
|
* |
50 |
|
*/ |
51 |
|
|
53 |
|
#define MATH_CONVEXHULL_HPP_ |
54 |
|
|
55 |
|
#include "math/Vector3.hpp" |
56 |
– |
#include <CGAL/Homogeneous.h> |
57 |
– |
#include <CGAL/Convex_hull_traits_3.h> |
58 |
– |
#include <CGAL/Convex_hull_3.h> |
56 |
|
|
60 |
– |
#include <CGAL/Polyhedron_3.h> |
61 |
– |
#include <CGAL/copy_n.h> |
62 |
– |
#include <CGAL/IO/Geomview_stream.h> |
63 |
– |
#include <CGAL/IO/Polyhedron_geomview_ostream.h> |
57 |
|
#include <cassert> |
58 |
|
#include <vector> |
59 |
+ |
#include <string> |
60 |
+ |
extern "C" |
61 |
+ |
{ |
62 |
+ |
#include <qhull/qhull.h> |
63 |
+ |
#include <qhull/mem.h> |
64 |
+ |
#include <qhull/qset.h> |
65 |
+ |
#include <qhull/geom.h> |
66 |
+ |
#include <qhull/merge.h> |
67 |
+ |
#include <qhull/poly.h> |
68 |
+ |
#include <qhull/io.h> |
69 |
+ |
#include <qhull/stat.h> |
70 |
+ |
} |
71 |
|
|
72 |
|
|
73 |
|
|
69 |
– |
typedef CGAL::MP_Float RT; |
70 |
– |
typedef CGAL::Homogeneous<RT> K; |
71 |
– |
typedef CGAL::Convex_hull_traits_3<K> Traits; |
72 |
– |
typedef Traits::Polyhedron_3 Polyhedron_3; |
73 |
– |
typedef K::Point_3 Point_3; |
74 |
– |
typedef K::Segment_3 Segment_3; |
75 |
– |
typedef Polyhedron_3::Facet_iterator Facet_iterator; |
76 |
– |
typedef Polyhedron_3::Halfedge_around_facet_circulator Halfedge_facet_circulator; |
77 |
– |
|
78 |
– |
|
74 |
|
namespace oopse |
75 |
|
{ |
76 |
|
|
87 |
|
RealType getInscribedRadius(); |
88 |
|
void geomviewHull(const std::string& geomFileName); |
89 |
|
private: |
90 |
+ |
|
91 |
+ |
double volume_; |
92 |
|
|
96 |
– |
CGAL::Object ch_object; |
97 |
– |
Polyhedron_3 ch_polyhedron; |
98 |
– |
|
93 |
|
} |
94 |
|
; |
95 |
|
|