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 1292 by gezelter, Mon Jul 14 12:35:58 2008 UTC vs.
Revision 1293 by chuckv, Sun Sep 14 01:32:26 2008 UTC

# Line 1 | Line 1
1 < /* Copyright (c) 2006 The University of Notre Dame. All Rights Reserved.
1 > /* Copyright (c) 2008 The University of Notre Dame. All Rights Reserved.
2   *
3   * The University of Notre Dame grants you ("Licensee") a
4   * non-exclusive, royalty free, license to use, modify and
# Line 44 | Line 44
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.9 2008-07-14 12:35:57 gezelter Exp $
47 > *  @version $Id: ConvexHull.hpp,v 1.10 2008-09-14 01:32:25 chuckv Exp $
48   *
49   */
50  
# Line 53 | Line 53
53  
54   #include "math/Vector3.hpp"
55   #include "config.h"
56 + #include "math/hull.hpp"
57 + #include "math/Triangle.hpp"
58  
59   #include <cassert>
60   #include <vector>
# Line 60 | Line 62 | extern "C"
62   extern "C"
63   {
64   #if defined(HAVE_QHULL)
65 < #include <qhull/qhull.h>
66 < #include <qhull/mem.h>
67 < #include <qhull/qset.h>
68 < #include <qhull/geom.h>
69 < #include <qhull/merge.h>
70 < #include <qhull/poly.h>
71 < #include <qhull/io.h>
72 < #include <qhull/stat.h>
65 > #include "qhull/qhull.h"
66 > #include "qhull/mem.h"
67 > #include "qhull/qset.h"
68 > #include "qhull/geom.h"
69 > #include "qhull/merge.h"
70 > #include "qhull/poly.h"
71 > #include "qhull/io.h"
72 > #include "qhull/stat.h"
73   #endif
74   }
75 + #ifdef IS_MPI
76 + #include <mpi.h>
77 + #endif
78  
79  
75
80   namespace oopse {
81 <  class ConvexHull {
81 >  class ConvexHull : public Hull {
82    public:
83      ConvexHull();
84 <    virtual ~ConvexHull() {}
85 <    bool genHull(std::vector<Vector3d> pos);
86 <    //std::vector<Vector3d> getHull();
87 <    RealType getVolume();
88 <    //RealType getRadius();
89 <    // RealType getInscribedRadius();
90 <    void geomviewHull(const std::string& geomFileName);
84 >
85 >    virtual ~ConvexHull(){};
86 >    void computeHull(std::vector<StuntDouble*> bodydoubles);
87 >    RealType getArea(){return area_;} //Total area of Hull
88 >    int getNs(){return Ns_;}  //Number of Surface Atoms
89 >    RealType getVolume(){return volume_;} //Total Volume inclosed by Hull
90 >    std::vector< StuntDouble* > getSurfaceAtoms(){return surfaceSDs_;} //Returns a list of surface atoms
91 >    std::vector<Triangle* > getMesh(){return Triangles_;}
92 >    void printHull(const std::string& geomFileName);
93    protected:
94      double volume_;
95      double area_;
96      int dim_;
97 +    int Ns_;
98 +    std::vector< StuntDouble* > surfaceSDs_;
99      const std::string options_;
100 <    
100 >    private:
101 >    std::vector<Triangle*> Triangles_;
102 >
103 > #ifdef IS_MPI
104 >    int* NstoProc_;
105 >    int* displs_;
106 >    int Nsglobal_;
107 >    int nproc_;
108 >    int myrank_;
109 >    struct surfacePt_{
110 >        double x,y,z;
111 >    };
112 >
113 >    MPI::Datatype surfacePtType;
114 >    std::vector<surfacePt_> surfacePtsLocal_;
115 >    std::vector<surfacePt_> surfacePtsGlobal_;
116 > #endif
117 >
118    };
119   }
120  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines