ViennaGrid for Python
 All Classes Files Functions Variables
cylindrical.hpp
Go to the documentation of this file.
1 
6 #ifndef POINTS_CYLINDRICAL_HPP
7 #define POINTS_CYLINDRICAL_HPP
8 
9 #include "types.hpp"
10 #include "forward.hpp"
11 
12 #include <boost/python.hpp>
13 using namespace boost::python;
14 
26  PointCylindrical_t *point;
27 
36  int id; // TODO: move to vertex
37 public:
49 
60  PointCylindrical3D(double x, double y, double z);
61 
78  PointCylindrical3D(PointCylindrical_t *initial_point, unsigned int initial_id=0);
79 
93  PointCylindrical3D(PointCylindrical_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  PointCylindrical3D & operator=(const PointCylindrical3D &other);
137 
143  PointCylindrical3D operator+(const PointCylindrical3D &other);
144 
150  PointCylindrical3D operator-(const PointCylindrical3D &other);
151 
157  PointCylindrical3D operator*(const double factor);
158 
164  PointCylindrical3D operator/(const double factor);
165 
171  PointCylindrical3D operator-();
172 
178  PointCylindrical_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  PointSpherical3D to_spherical();
207 
213  double norm_1();
214 
220  double norm_2();
221 
227  double norm_inf();
228 };
229 
230 #endif /* end of include guard: POINTS_CYLINDRICAL_HPP */