ChirpSim
 All Classes Namespaces Files Functions Variables Typedefs Friends Macros
world.h
Go to the documentation of this file.
1 #ifndef WORLD_H
2 #define WORLD_H
3 
4 #include <QGraphicsScene>
5 #include <QList>
6 
7 class PhysicalObject;
8 class b2World;
9 class QJsonDocument;
18 class World : public QGraphicsScene
19 {
20 public:
21  ~World();
22 
27  void addObject(PhysicalObject *object);
28 
33  void removeObject(PhysicalObject *object);
34 
39  void step(float dt);
40 
45  void stepGraphics();
46 
51  b2World *world();
52 
58  static World *fromJsonDocument(const QJsonDocument &doc);
59 
64  static World *instance();
65 signals:
66 
67 public slots:
68 
69 private:
70  explicit World();
71  static World *_instance;
72 
73  b2World *_world;
74  QList<PhysicalObject*> _physicalObjects;
75 };
76 
77 #endif // WORLD_H