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
20class 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
Definition Agent.hpp:31
Definition Component.hpp:18
Definition Connection.hpp:17
Definition Application.hpp:17
Definition Net.hpp:19
Definition PCBoard.hpp:36
Definition Pin.hpp:18