CellModules
PluginDiffusion.hpp
Go to the documentation of this file.
1#ifndef ONKO3D_3_0_PLUGINDIFFUSION_HPP
2#define ONKO3D_3_0_PLUGINDIFFUSION_HPP
3
4
11#include <vector>
12#include <mecacell/mecacell.h>
13#include <math.h>
14#include "DiffusionGrid.hpp"
15
19namespace Diffusion2D {
20
21
28 template<typename cell_t>
30
31 private:
34 public:
35
39 inline PluginDiffusion() : grid() {}
40
47 inline PluginDiffusion(int w, int h) {
48 grid.initGrid(w,h);
49 }
50
56 inline PluginDiffusion(int size) {
57 grid.initGrid(size);
58 }
59
65 inline DiffusionGrid* getDiffusionGrid() { return &grid; }
66
72 inline void addMolecule(int n, Molecule m) { grid.addMolecule(n, m); }
73
79 inline void initDiffusionGrid(int size){ grid.initGrid(size); }
80
87 inline void initDiffusionGrid(int w, int h){ grid.initGrid(w,h); }
88
94 inline void setToreX(bool b){ grid.setToreX(b); }
95
101 inline void setToreY(bool b){ grid.setToreY(b); }
102
103
110 inline void setTore(bool x, bool y){ grid.setTore(x,y); }
111
112
121 template<typename world_t>
122 void preBehaviorUpdate(world_t *w) {
124 }
125 };
126}
127
128#endif //ONKO3D_3_0_PLUGINDIFFUSION_HPP
molecules 2D Grid manager
molecules grid based class
void initGrid(int w, int h)
grid initializer
void setToreX(bool b)
toreX setter
void addMolecule(int n, Molecule m)
molecule adder
void setToreY(bool b)
toreY setter
void setTore(bool x, bool y)
tore setter
void computeMolecules(world_t *w)
molecules quantities updater
grid diffusion based plugin class
DiffusionGrid * getDiffusionGrid()
grid getter
void setToreY(bool b)
grid toreY setter
void preBehaviorUpdate(world_t *w)
preBehaviorUpdate MecaCell hook
void setToreX(bool b)
grid toreX setter
void initDiffusionGrid(int size)
square grid initializer
void setTore(bool x, bool y)
grid tore setter
void addMolecule(int n, Molecule m)
molecule adder
void initDiffusionGrid(int w, int h)
grid initializer
PluginDiffusion(int size)
constructor
PluginDiffusion(int w, int h)
constructor