ViennaGrid for Python
 All Classes Files Functions Variables
spherical.hpp
Go to the documentation of this file.
1 
6 #ifndef POINTS_SPHERICAL_HPP
7 #define POINTS_SPHERICAL_HPP
8 
9 #include "types.hpp"
10 #include "forward.hpp"
11 
12 #include <boost/python.hpp>
13 using namespace boost::python;
14 
26  PointSpherical_t *point;
27 
36  int id; // TODO: move to vertex
37 public:
49 
60  PointSpherical3D(double x, double y, double z);
61 
78  PointSpherical3D(PointSpherical_t *initial_point, unsigned int initial_id=0);
79 
93  PointSpherical3D(PointSpherical_t &initial_point, unsigned int initial_id=-1);
94 
100  size_t get_dimension();
101 
107  const char * get_coord_system();
108 
114  double get_coord(unsigned int index);
115 
121  void set_coord(unsigned int index, double new_value);
122 
128  list get_coord_list();
129 
136  PointSpherical3D & operator=(const PointSpherical3D &other);
137 
143  PointSpherical3D operator+(const PointSpherical3D &other);
144 
150  PointSpherical3D operator-(const PointSpherical3D &other);
151 
157  PointSpherical3D operator*(const double factor);
158 
164  PointSpherical3D operator/(const double factor);
165 
171  PointSpherical3D operator-();
172 
178  PointSpherical_t & get_point();
179 
185  unsigned int get_id();
186 
192  void set_id(unsigned int new_id);
193 
199  PointCartesian3D to_cartesian();
200 
206  PointCylindrical3D to_cylindrical();
207 
213  double norm_1();
214 
220  double norm_2();
221 
227  double norm_inf();
228 };
229 
230 #endif /* end of include guard: POINTS_SPHERICAL_HPP */