ESyS-Particle  2.3.4
Vec3Py.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_LSMVEC3PY_H
15 #define ESYS_LSMVEC3PY_H
16 
17 #include <boost/python.hpp>
18 #include "Foundation/vec3.h"
19 #include "Foundation/StringUtil.h"
21 
22 #include <sstream>
23 
24 namespace esys
25 {
26  namespace lsm
27  {
28  class Vec3Py : public Vec3
29  {
30  public:
31  Vec3Py();
32 
33  Vec3Py(double x, double y, double z);
34 
35  Vec3Py(const Vec3Py &v);
36 
37  Vec3Py(const Vec3 &v);
38 
39  Vec3Py(const boost::python::object &pyOb);
40 
41  int len() const;
42 
43  double getItem(int i) const;
44 
45  void setItem(int i, double val);
46 
47  Vec3Py operator-(const Vec3Py &v) const;
48  Vec3Py operator+(const Vec3Py &v) const;
49 
50  Vec3Py operator+(double s) const;
51  Vec3Py operator-(double s) const;
52  Vec3Py operator*(double s) const;
53  Vec3Py operator/(double s) const;
54 
55  Vec3Py rotatePy(const Vec3Py &axis, const Vec3Py &axisPt) const;
56 
57  double norm() const;
58 
59  double dot(const Vec3Py &v) const;
60 
61  Vec3Py cross(const Vec3Py &v) const;
62 
63  std::string toString() const;
64 
65  boost::python::list toList() const;
66 
67  boost::python::tuple toTuple() const;
68 
69  int getIndex(int i) const;
70  };
71 
72  void exportVec3();
73  }
74 }
75 
76 std::ostream &operator<<(std::ostream &oStream, const esys::lsm::Vec3Py &vec);
77 
78 #endif
Util.h
boost::python
Definition: BondInteractionGroupPy.h:22
esys::lsm::Vec3Py::operator+
Vec3Py operator+(const Vec3Py &v) const
Definition: Vec3Py.cpp:95
esys::lsm::bpu::len
int len(const boost::python::object &pyOb)
Definition: Util.h:30
Vec3Py.h
esys::lsm::Vec3Py::len
int len() const
Definition: Vec3Py.cpp:63
esys::lsm::Vec3Py::rotatePy
Vec3Py rotatePy(const Vec3Py &axis, const Vec3Py &axisPt) const
Definition: Vec3Py.cpp:125
esys::lsm::Vec3Py::toList
boost::python::list toList() const
Definition: Vec3Py.cpp:145
dot
VEC3_INLINE double dot(const Vec3 &v1, const Vec3 &v2)
Definition: vec3.hpp:196
esys::lsm::Vec3Py
Definition: Vec3Py.h:29
esys::lsm::Vec3Py::getIndex
int getIndex(int i) const
Definition: Vec3Py.cpp:68
esys::lsm::Vec3Py::toString
std::string toString() const
Definition: Vec3Py.cpp:140
StringUtil.h
esys::lsm::Vec3Py::operator*
Vec3Py operator*(double s) const
Definition: Vec3Py.cpp:110
esys::lsm::Vec3Py::cross
Vec3Py cross(const Vec3Py &v) const
Definition: Vec3Py.cpp:135
Vec3::operator-
VEC3_INLINE Vec3 operator-() const
Definition: vec3.hpp:98
cross
VEC3_INLINE Vec3 cross(const Vec3 &lhs, const Vec3 &rhs)
Definition: vec3.hpp:187
Vec3::norm
VEC3_INLINE double norm() const
Definition: vec3.hpp:211
esys::lsm::Vec3Py::Vec3Py
Vec3Py()
Definition: Vec3Py.cpp:26
esys
Definition: CheckPointable.cpp:17
esys::lsm::Vec3Py::getItem
double getItem(int i) const
Definition: Vec3Py.cpp:80
operator<<
std::ostream & operator<<(std::ostream &oStream, const esys::lsm::Vec3Py &vec)
Definition: Vec3Py.cpp:269
Vec3::rotate
VEC3_INLINE Vec3 rotate(const Vec3 &axis, const Vec3 &axisPt) const
Definition: vec3.hpp:154
esys::lsm::Vec3Py::toTuple
boost::python::tuple toTuple() const
Definition: Vec3Py.cpp:154
esys::lsm::StringUtil::toString
std::string toString(const TmplData &data)
Definition: StringUtil.h:128
operator<<
std::ostream & operator<<(std::ostream &oStream, const esys::lsm::Vec3Py &vec)
Definition: Vec3Py.cpp:269
esys::lsm::Vec3Py::operator/
Vec3Py operator/(double s) const
Definition: Vec3Py.cpp:115
Vec3
Definition: vec3.h:47
vec3.h
esys::lsm::Vec3Py::norm
double norm() const
Definition: Vec3Py.cpp:120
esys::lsm::Vec3PyPickleSuite
Definition: Vec3Py.cpp:160
esys::lsm::Vec3PyPickleSuite::getinitargs
static boost::python::tuple getinitargs(Vec3Py const &v)
Definition: Vec3Py.cpp:164
esys::lsm::Vec3Py::setItem
void setItem(int i, double val)
Definition: Vec3Py.cpp:85
esys::lsm::Vec3Py::dot
double dot(const Vec3Py &v) const
Definition: Vec3Py.cpp:130
esys::lsm::exportVec3
void exportVec3()
Definition: Vec3Py.cpp:171
esys::lsm
Lattice Solid Model namespace.
Definition: CheckPointable.cpp:19