ViennaGrid for Python
 All Classes Files Functions Variables
linear.hpp
Go to the documentation of this file.
1 
6 #ifndef DOMAINS_LINEAR_HPP
7 #define DOMAINS_LINEAR_HPP
8 
9 #include "types.hpp"
10 #include "../points/cartesian.hpp"
11 #include "../points/cylindrical.hpp"
12 #include "../points/polar.hpp"
13 #include "../points/spherical.hpp"
14 
15 #include "../vertices/linear.hpp"
16 #include "../cells/linear.hpp"
17 
18 #include <boost/python.hpp>
19 using namespace boost::python;
20 
31  LinearCartesian1D_Domain_t domain;
32 public:
34 
42  unsigned int num_vertices();
43 
51  void make_vertex(PointCartesian1D point);
52 
60  LinearCartesian1D_Vertex get_vertex(unsigned int index);
61 
69  list get_vertices();
70 
78  unsigned int num_cells();
79 
91 
99  list get_cells();
100 
107  LinearCartesian1D_Domain_t & get_domain();
108 };
109 
111 // Linear, cartesian 2D //
113 
124  LinearCartesian2D_Domain_t domain;
125 public:
127 
135  unsigned int num_vertices();
136 
144  void make_vertex(PointCartesian2D point);
145 
153  LinearCartesian2D_Vertex get_vertex(unsigned int index);
154 
162  list get_vertices();
163 
171  unsigned int num_cells();
172 
184 
192  list get_cells();
193 
200  LinearCartesian2D_Domain_t & get_domain();
201 };
202 
204 // Linear, cartesian 3D //
206 
217  LinearCartesian3D_Domain_t domain;
218 public:
220 
228  unsigned int num_vertices();
229 
237  void make_vertex(PointCartesian3D point);
238 
246  LinearCartesian3D_Vertex get_vertex(unsigned int index);
247 
255  list get_vertices();
256 
264  unsigned int num_cells();
265 
277 
285  list get_cells();
286 
293  LinearCartesian3D_Domain_t & get_domain();
294 };
295 
297 // Linear, cylindrical (3D) //
299 
310  LinearCylindrical3D_Domain_t domain;
311 public:
313 
321  unsigned int num_vertices();
322 
330  void make_vertex(PointCylindrical3D point);
331 
339  LinearCylindrical3D_Vertex get_vertex(unsigned int index);
340 
348  list get_vertices();
349 
357  unsigned int num_cells();
358 
370 
378  list get_cells();
379 
386  LinearCylindrical3D_Domain_t & get_domain();
387 };
388 
390 // Linear, polar (2D) //
392 
403  LinearPolar2D_Domain_t domain;
404 public:
406 
414  unsigned int num_vertices();
415 
423  void make_vertex(PointPolar2D point);
424 
432  LinearPolar2D_Vertex get_vertex(unsigned int index);
433 
441  list get_vertices();
442 
450  unsigned int num_cells();
451 
463 
471  list get_cells();
472 
479  LinearPolar2D_Domain_t & get_domain();
480 };
481 
483 // Linear, spherical (3D) //
485 
496  LinearSpherical3D_Domain_t domain;
497 public:
499 
507  unsigned int num_vertices();
508 
516  void make_vertex(PointSpherical3D point);
517 
525  LinearSpherical3D_Vertex get_vertex(unsigned int index);
526 
534  list get_vertices();
535 
543  unsigned int num_cells();
544 
556 
564  list get_cells();
565 
572  LinearSpherical3D_Domain_t & get_domain();
573 };
574 
575 #endif