Phoxonics  1.0
Object Oriented FDTD Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
GridBase.hpp
Go to the documentation of this file.
1 /*
2  * GridBase.hpp
3  *
4  * Created on: Jun 25, 2014
5  * Author: nano
6  */
7 
8 #ifndef GRIDBASE_HPP_
9 #define GRIDBASE_HPP_
10 
11 #include "../../../common/common.hpp"
12 #include "../common/SimulationItemBase.hpp"
13 #include "../config/SimulationConfig.hpp"
14 #include "../common/Vector3D.hpp"
15 #include "../cells/CellsBase.hpp"
16 #include "../cells/CellsFactory.hpp"
17 #include "../source/SourceBase.hpp"
18 #include "../pml/PmlBase.hpp"
19 
20 #include <vector>
21 #include <memory>
22 
23 namespace phoxonics {
24 namespace core {
25 
26 class GridBase : public SimulationItemBase {
27 public:
28  explicit GridBase();
29  explicit GridBase(std::shared_ptr<SimulationConfig> sim_config);
30  virtual ~GridBase();
31 
32  // vector of cells
33  std::shared_ptr<CellsBase> cells_base;
34  Vector3D size;
35 
36  // Initialize grid
37  virtual void build();
38 
39  // configures object and initializes data from config
40  virtual void configure() override;
41 
42  // prints object data
43  virtual void print_me() override;
44 };
45 
46 } /* namespace core */
47 } /* namespace phoxonics */
48 
49 #endif /* GRIDBASE_HPP_ */
virtual void configure() override
Definition: GridBase.cpp:30
GridBase()
Definition: GridBase.cpp:13
Definition: CommonBase.hpp:14
Vector3D size
Definition: GridBase.hpp:34
std::shared_ptr< SimulationConfig > sim_config
Definition: SimulationItemBase.hpp:25
virtual void build()
Definition: GridBase.cpp:26
std::shared_ptr< CellsBase > cells_base
Definition: GridBase.hpp:33
virtual void print_me() override
Definition: GridBase.cpp:46
virtual ~GridBase()
Definition: GridBase.cpp:22