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

Comparing trunk/src/math/ConvexHull.cpp (file contents):
Revision 1403 by gezelter, Wed Nov 25 20:02:06 2009 UTC vs.
Revision 1404 by chuckv, Fri Jan 15 20:46:49 2010 UTC

# Line 1 | Line 1
1 < /* Copyright (c) 2008, 2009 The University of Notre Dame. All Rights Reserved.
1 > /* Copyright (c) 2008, 2009, 2010 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 90 | Line 90 | void ConvexHull::computeHull(std::vector<StuntDouble*>
90    facetT *facet;
91    setT *vertices;
92    int curlong, totlong;
93 +  pointT *intPoint;
94    
95    std::vector<double> ptArray(numpoints*dim_);
96  
# Line 207 | Line 208 | void ConvexHull::computeHull(std::vector<StuntDouble*>
208    } //qh_new_qhull
209  
210   #endif
211 <
211 >  intPoint = qh interior_point;
212 >  RealType calcvol = 0.0;
213    FORALLfacets {  
214      Triangle face;
215 <
215 >    //Qhull sets the unit normal in facet->normal
216      Vector3d V3dNormal(facet->normal[0], facet->normal[1], facet->normal[2]);
217 <    face.setNormal(V3dNormal);
217 >    face.setUnitNormal(V3dNormal);
218      
219      RealType faceArea = qh_facetarea(facet);
220      face.setArea(faceArea);
# Line 266 | Line 268 | void ConvexHull::computeHull(std::vector<StuntDouble*>
268      face.addVertices(p[0], p[1], p[2]);
269      face.setFacetMass(faceMass);
270      face.setFacetVelocity(faceVel/3.0);
271 +    /*
272 +    RealType comparea = face.computeArea();
273 +    realT calcarea = qh_facetarea (facet);
274 +    Vector3d V3dCompNorm = -face.computeUnitNormal();
275 +    RealType thisOffset = ((0.0-p[0][0])*V3dCompNorm[0] + (0.0-p[0][1])*V3dCompNorm[1] + (0.0-p[0][2])*V3dCompNorm[2]);
276 +    RealType dist = facet->offset + intPoint[0]*V3dNormal[0] + intPoint[1]*V3dNormal[1] + intPoint[2]*V3dNormal[2];
277 +    std::cout << "facet offset and computed offset: " << facet->offset << "  " << thisOffset <<  std::endl;
278 +    calcvol +=  -dist*comparea/qh hull_dim;
279 +    */
280      Triangles_.push_back(face);
281      qh_settempfree(&vertices);      
282  
# Line 274 | Line 285 | void ConvexHull::computeHull(std::vector<StuntDouble*>
285    qh_getarea(qh facet_list);
286    volume_ = qh totvol;
287    area_ = qh totarea;
288 <
288 >  //  std::cout << "My volume is: " << calcvol << " qhull volume is:" << volume_ << std::endl;
289    qh_freeqhull(!qh_ALL);
290    qh_memfreeshort(&curlong, &totlong);
291    if (curlong || totlong)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines