Completed
Push — master ( be0bb5...16e7a2 )
by Matthew
01:20
created

PhysObj   A

Complexity

Total Complexity 11

Size/Duplication

Total Lines 40
Duplicated Lines 0 %
Metric Value
dl 0
loc 40
rs 10
wmc 11

11 Methods

Rating   Name   Duplication   Size   Complexity  
A getVelocity() 0 2 1
A update() 0 2 1
A getPosition() 0 2 1
A translate() 0 2 1
A getWidth() 0 2 1
A setVelocity() 0 2 1
A getX() 0 2 1
A getCollisionModel() 0 5 1
A __init__() 0 5 1
A getY() 0 2 1
A getHeight() 0 2 1
1
from gem import vector
2
3
class PhysObj(object):
4
5
    def __init__(self, collisionModel, velocity):
6
        self.collisionModel = collisionModel
7
        self.currentPosition = collisionModel.getCenter()
8
        self.oldPosition = collisionModel.getCenter()
9
        self.velocity = velocity
10
11
    def update(self, delta):
12
        self.currentPosition += self.velocity * delta
13
14
    def getCollisionModel(self):
15
        translation = vector.Vector(3, data=self.currentPosition) - vector.Vector(3, data=self.oldPosition)
16
        self.oldPosition = self.currentPosition
17
        self.collisionModel.translate(translation)
18
        return self.collisionModel
19
20
    def translate(self, x, y):
21
        self.collisionModel.translate(vector.Vector(3, data=[x, y, 1.0]))
22
23
    def getPosition(self):
24
        return self.currentPosition
25
26
    def getVelocity(self):
27
        return self.velocity
28
29
    def setVelocity(self, velocity):
30
        self.velocity = velocity
31
32
    def getX(self):
33
        return self.collisionModel.getModel().getX()
34
35
    def getY(self):
36
        return self.collisionModel.getModel().getY()
37
38
    def getWidth(self):
39
        return self.collisionModel.getModel().getWidth()
40
41
    def getHeight(self):
42
        return self.collisionModel.getModel().getHeight()