PCB Environment: /home/chr/devel/PhD/Environment/pub/PCBEnv/pcbenv/cxx/EnvPCB.hpp Source File

PCB Environment 2

Loading...
Searching...
No Matches
EnvPCB.hpp
1
2#ifndef GYM_PCB_ENVPCB_H
3#define GYM_PCB_ENVPCB_H
4
5#include "Py.hpp"
6#include "Env.hpp"
7#include <memory>
8#include <set>
9#include <vector>
10
11class Agent;
12class PCBoard;
13class Component;
14class Pin;
15class Net;
16class Connection;
17
18class IUIApplication;
19
20 class EnvPCB : public Env
21{
22public:
23 EnvPCB();
24 ~EnvPCB();
25
26 PyObject *reset() override;
27
28 PyObject *step(PyObject *action) override;
29
30 void render(PyObject *mode) override;
31
32 void seed(PyObject *) override;
33
34 void close() override;
35
36 PyObject *set_task(PyObject *) override;
37
38 PyObject *run_agent(PyObject *) override;
39
40 PyObject *set_agent(PyObject *) override;
41
42 PyObject *get_state(PyObject *spec) override;
43
44 PyObject *__str__() const override;
45
46private:
47 std::shared_ptr<PCBoard> mBoard;
48 std::shared_ptr<Agent> mAgent;
49 std::unique_ptr<IUIApplication> mUI;
50};
51
52#endif // GYM_PCB_ENVPCB_H
Agent
Definition Agent.hpp:31
Component
Definition Component.hpp:18
Connection
Definition Connection.hpp:17
IUIApplication
Definition Application.hpp:17
Net
Definition Net.hpp:19
PCBoard
Definition PCBoard.hpp:36
Pin
Definition Pin.hpp:18