ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-4/src/applications/hydrodynamics/CompositeShape.cpp
(Generate patch)

Comparing trunk/OOPSE-4/src/applications/hydrodynamics/CompositeShape.cpp (file contents):
Revision 2767 by tim, Wed Mar 29 18:09:26 2006 UTC vs.
Revision 2768 by gezelter, Wed May 24 18:31:12 2006 UTC

# Line 43 | Line 43 | namespace oopse {
43   #include "utils/MemoryUtils.hpp"
44   #include "applications/hydrodynamics/HydrodynamicsModel.hpp"
45   namespace oopse {
46 <
47 < CompositeShape::~CompositeShape() {
46 >  
47 >  CompositeShape::~CompositeShape() {
48      MemoryUtils::deletePointers(shapes_);
49 < }
50 < bool CompositeShape::isInterior(Vector3d pos) {
49 >  }
50 >  bool CompositeShape::isInterior(Vector3d pos) {
51      bool result = false;
52      std::vector<Shape*>::iterator iter;
53      for (iter = shapes_.begin(); iter != shapes_.end(); ++ iter) {
54 <        if ((*iter)->isInterior(pos)) {
55 <            result = true;
56 <            break;
57 <        }
54 >      if ((*iter)->isInterior(pos)) {
55 >        result = true;
56 >        break;
57 >      }
58      }
59 <
59 >    
60      return result;
61 < }
62 <
63 < template<class Cont, class Predict>
64 < void swap_if(Cont& b1, Cont& b2, Predict predict) {
61 >  }
62 >  
63 >  template<class Cont, class Predict>
64 >  void swap_if(Cont& b1, Cont& b2, Predict predict) {
65      unsigned int size = b1.size();
66      assert(size == b2.size());
67      for (unsigned int i = 0 ; i < size; ++i) {
68 <        if (predict(b1[i], b2[i]))
69 <            std::swap(b1[i], b2[i]);
68 >      if (predict(b1[i], b2[i]))
69 >        std::swap(b1[i], b2[i]);
70      }
71 <
72 < }
73 <
74 < std::pair<Vector3d, Vector3d> CompositeShape::getBox() {
71 >    
72 >  }
73 >  
74 >  std::pair<Vector3d, Vector3d> CompositeShape::getBoundingBox() {
75      std::vector<Shape*>::iterator iter = shapes_.begin();
76 <    std::pair<Vector3d, Vector3d>  boundary = (*iter)->getBox();
76 >    std::pair<Vector3d, Vector3d>  boundary = (*iter)->getBoundingBox();
77      for (++iter; iter != shapes_.end(); ++iter) {
78 <        std::pair<Vector3d, Vector3d> currBoundary = (*iter)->getBox();
79 <            swap_if(boundary.first, currBoundary.first, std::greater<double>());
80 <            swap_if(boundary.second, currBoundary.second, std::less<double>());        
78 >      std::pair<Vector3d, Vector3d> currBoundary = (*iter)->getBoundingBox();
79 >      swap_if(boundary.first, currBoundary.first, std::greater<RealType>());
80 >      swap_if(boundary.second, currBoundary.second, std::less<RealType>());        
81      }
82 <
82 >    
83      return boundary;
84 +  }
85 +  
86 +  HydroProps CompositeShape::getHydroProps(RealType viscosity, RealType temperature) {
87 +    HydroProps props;
88 +    props.center =V3Zero;
89 +    sprintf( painCave.errMsg,
90 +             "CompositeShape was asked to return an analytic HydroProps.\n");
91 +    painCave.severity = OOPSE_ERROR;
92 +    painCave.isFatal = 1;
93 +    simError();          
94 +    return props;
95 +  }  
96   }
85
86 bool CompositeShape::calcHydroProps(HydrodynamicsModel* model, double viscosity, double temperature) {
87    return model->calcHydroProps(this, viscosity, temperature);
88 }
89
90 }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines