ESyS-Particle  2.3.4
BoundingBoxPy.h
Go to the documentation of this file.
1 // //
3 // Copyright (c) 2003-2017 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.apache.org/licenses/LICENSE-2.0 //
10 // //
12 
13 
14 #ifndef ESYS_LSMBOUNDINGBOXPY_H
15 #define ESYS_LSMBOUNDINGBOXPY_H
16 
17 #include <boost/python.hpp>
18 #include "Foundation/BoundingBox.h"
19 #include "Foundation/StringUtil.h"
22 
23 #include <sstream>
24 
25 namespace esys
26 {
27  namespace lsm
28  {
29  class BoundingBoxPy : public BoundingBox
30  {
31  public:
32  BoundingBoxPy();
33 
34  BoundingBoxPy(const Vec3Py &minPt, const Vec3Py &maxPt);
35 
36  BoundingBoxPy(const Vec3 &minPt, const Vec3 &maxPt);
37 
38  BoundingBoxPy(const BoundingBoxPy &v);
39 
40  BoundingBoxPy(const BoundingBox &v);
41 
42  BoundingBoxPy(const boost::python::object &pyMin, const boost::python::object &pyMax);
43 
44  bool operator==(const BoundingBoxPy &bBox) const;
45 
46  Vec3Py getMinPtPy() const;
47 
48  Vec3Py getMaxPtPy() const;
49 
50  Vec3Py getSizePy() const;
51 
52  Vec3Py getCentrePy() const;
53 
54  bool intersectsWithVec3Py(const Vec3Py &pt) const;
55 
56  };
57 
58  void exportBoundingBox();
59  }
60 }
61 
62 std::ostream &operator<<(std::ostream &oStream, const esys::lsm::BoundingBoxPy &vec);
63 
64 #endif
Util.h
boost::python
Definition: BondInteractionGroupPy.h:22
esys::lsm::BoundingBoxPy::BoundingBoxPy
BoundingBoxPy()
Definition: BoundingBoxPy.cpp:27
esys::lsm::BoundingBoxPy::intersectsWithVec3Py
bool intersectsWithVec3Py(const Vec3Py &pt) const
Definition: BoundingBoxPy.cpp:70
esys::lsm::bpu::len
int len(const boost::python::object &pyOb)
Definition: Util.h:30
Vec3Py.h
esys::lsm::BoundingBoxPy
Definition: BoundingBoxPy.h:30
esys::lsm::BoundingBoxPy::getMinPtPy
Vec3Py getMinPtPy() const
Definition: BoundingBoxPy.cpp:85
esys::lsm::BoundingBox::getMaxPt
const Vec3 & getMaxPt() const
Definition: BoundingBox.hpp:45
esys::lsm::Vec3Py
Definition: Vec3Py.h:29
esys::lsm::BoundingBoxPy::getCentrePy
Vec3Py getCentrePy() const
Definition: BoundingBoxPy.cpp:100
esys::lsm::BoundingBoxPy::getSizePy
Vec3Py getSizePy() const
Definition: BoundingBoxPy.cpp:95
esys::lsm::exportBoundingBox
void exportBoundingBox()
Definition: BoundingBoxPy.cpp:117
StringUtil.h
esys::lsm::BoundingBoxPyPickleSuite::getinitargs
static boost::python::tuple getinitargs(BoundingBoxPy const &bBox)
Definition: BoundingBoxPy.cpp:110
BoundingBoxPy.h
esys::lsm::BoundingBox
3D bounding box
Definition: BoundingBox.h:28
esys
Definition: CheckPointable.cpp:17
esys::lsm::BoundingBoxPy::operator==
bool operator==(const BoundingBoxPy &bBox) const
Definition: BoundingBoxPy.cpp:75
esys::lsm::BoundingBoxPy::getMaxPtPy
Vec3Py getMaxPtPy() const
Definition: BoundingBoxPy.cpp:90
esys::lsm::BoundingBox::getMinPt
const Vec3 & getMinPt() const
Definition: BoundingBox.hpp:40
esys::lsm::BoundingBox::contains
bool contains(const Vec3 &pt, double tolerance=0.0) const
Definition: BoundingBox.hpp:60
operator<<
std::ostream & operator<<(std::ostream &oStream, const esys::lsm::BoundingBoxPy &vec)
Definition: BoundingBoxPy.cpp:188
Vec3
Definition: vec3.h:47
operator<<
std::ostream & operator<<(std::ostream &oStream, const esys::lsm::BoundingBoxPy &bBox)
Definition: BoundingBoxPy.cpp:188
esys::lsm::BoundingBoxPyPickleSuite
Definition: BoundingBoxPy.cpp:106
BoundingBox.h
esys::lsm
Lattice Solid Model namespace.
Definition: CheckPointable.cpp:19