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
11 class Agent;
12 class PCBoard;
13 class Component;
14 class Pin;
15 class Net;
16 class Connection;
17
18 class IUIApplication;
19
20 class EnvPCB : public Env
21{
22 public:
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
46 private:
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