-
Notifications
You must be signed in to change notification settings - Fork 21
/
stickylink.h
50 lines (41 loc) · 968 Bytes
/
stickylink.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#ifndef STICKYLINK_H
#define STICKYLINK_H
#include <QObject>
#include <Box2D/Box2D.h>
#include "ground.h"
#include "goo.h"
#include <QPoint>
#include <QPainter>
class StickyLink : public QObject
{
Q_OBJECT
public:
explicit StickyLink(Goo* goo,b2Body *ground, QPoint contactPoint,b2World *world, double strength=4,QObject *parent = 0);
//Check the status of the joint
void checkStatus();
//Return the joint
b2Joint* getJoint(){
return joint;
}
//Set the joint [OBSOLETE]
void setJoint(b2Joint* j){
joint=static_cast<b2DistanceJoint*>(j);
}
//RETURN THE GOO
Goo* getGoo(){
return goo;
}
//DEBUG PAINT
void paint(QPainter &p);
private:
//Copy of the goo
Goo * goo;
//Physical joint
b2DistanceJoint *joint;
double strength;
signals:
//SIGNAL TO ADVICE THE DESTRUCTION OF THE STICKY Joint!
void destroySticky();
public slots:
};
#endif // STICKYLINK_H