ESyS-Particle  2.3.2
BoundingBox.h
Go to the documentation of this file.
1 
2 // //
3 // Copyright (c) 2003-2014 by The University of Queensland //
4 // Centre for Geoscience Computing //
5 // http://earth.uq.edu.au/centre-geoscience-computing //
6 // //
7 // Primary Business: Brisbane, Queensland, Australia //
8 // Licensed under the Open Software License version 3.0 //
9 // http://www.opensource.org/licenses/osl-3.0.php //
10 // //
12 
13 
14 #ifndef ESYS_LSMBOUNDINGBOX_H
15 #define ESYS_LSMBOUNDINGBOX_H
16 
17 #include "Foundation/vec3.h"
18 
19 namespace esys
20 {
21  namespace lsm
22  {
28  {
29  public:
30  inline BoundingBox();
31 
32  inline BoundingBox(const Vec3 &minBBoxPt, const Vec3 &maxBBoxPt);
33 
34  inline virtual ~BoundingBox();
35 
36  inline double getVolume() const;
37 
38  inline const Vec3 &getMinPt() const;
39 
40  inline const Vec3 &getMaxPt() const;
41 
42  inline bool operator==(const BoundingBox &bbox) const;
43 
44  inline Vec3 getSizes() const;
45 
46  inline bool contains(const Vec3 &pt, double tolerance = 0.0) const;
47 
48  private:
51  };
52  inline std::ostream &operator<<(std::ostream &oStream, const BoundingBox &bbox);
53  }
54 }
55 
57 
58 #endif