ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/src/math/ConvexHull.hpp
(Generate patch)

Comparing trunk/src/math/ConvexHull.hpp (file contents):
Revision 1097 by chuckv, Thu Dec 14 19:32:32 2006 UTC vs.
Revision 1277 by gezelter, Mon Jul 14 12:35:58 2008 UTC

# Line 40 | Line 40
40   *
41   *  ConvexHull.hpp
42   *
43 < *  Purpose: To calculate convexhull, hull volume and radius
44 < *  using the CGAL library.
43 > *  Purpose: To calculate convexhull, hull volume using the QuickHull algorithm provided by QHull.
44   *
45   *  Created by Charles F. Vardeman II on 11 Dec 2006.
46   *  @author  Charles F. Vardeman II
47 < *  @version $Id: ConvexHull.hpp,v 1.1 2006-12-14 19:32:32 chuckv Exp $
47 > *  @version $Id: ConvexHull.hpp,v 1.9 2008-07-14 12:35:57 gezelter Exp $
48   *
49   */
50  
# Line 53 | Line 52
52   #define MATH_CONVEXHULL_HPP_
53  
54   #include "math/Vector3.hpp"
55 < #include <CGAL/Homogeneous.h>
57 < #include <CGAL/Convex_hull_traits_3.h>
58 < #include <CGAL/Convex_hull_3.h>
55 > #include "config.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 + #if defined(HAVE_QHULL)
63 + #include <qhull/qhull.h>
64 + #include <qhull/mem.h>
65 + #include <qhull/qset.h>
66 + #include <qhull/geom.h>
67 + #include <qhull/merge.h>
68 + #include <qhull/poly.h>
69 + #include <qhull/io.h>
70 + #include <qhull/stat.h>
71 + #endif
72 + }
73  
74  
75  
76 < typedef CGAL::MP_Float RT;
77 < typedef CGAL::Homogeneous<RT>                     K;
78 < typedef CGAL::Convex_hull_traits_3<K>             Traits;
79 < typedef Traits::Polyhedron_3                      Polyhedron_3;
80 < typedef K::Point_3                                Point_3;
81 < typedef K::Segment_3                              Segment_3;
82 < typedef Polyhedron_3::Facet_iterator                   Facet_iterator;
83 < typedef Polyhedron_3::Halfedge_around_facet_circulator Halfedge_facet_circulator;
84 <
85 <
86 < namespace oopse
87 <  {
88 <
89 <  class ConvexHull
90 <    {
91 <
92 <    public:
93 <      ConvexHull();
87 <      ~ConvexHull();
88 <      bool genHull(std::vector<Vector3d> pos);
89 <      std::vector<Vector3d> getHull();
90 <      RealType getVolume();
91 <      RealType getRadius();
92 <      RealType getInscribedRadius();
93 <      void geomviewHull(const std::string& geomFileName);
94 <    private:
95 <
96 <      CGAL::Object  ch_object;
97 <      Polyhedron_3  ch_polyhedron;
98 <
99 <    }
100 <  ;
101 <
102 <
76 > namespace oopse {
77 >  class ConvexHull {
78 >  public:
79 >    ConvexHull();
80 >    virtual ~ConvexHull() {}
81 >    bool genHull(std::vector<Vector3d> pos);
82 >    //std::vector<Vector3d> getHull();
83 >    RealType getVolume();
84 >    //RealType getRadius();
85 >    // RealType getInscribedRadius();
86 >    void geomviewHull(const std::string& geomFileName);
87 >  protected:
88 >    double volume_;
89 >    double area_;
90 >    int dim_;
91 >    const std::string options_;
92 >    
93 >  };
94   }
95  
105
96   #endif /*MATH_CONVEXHULL_HPP_*/

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines