optimized some path calculation code
This commit is contained in:
3
knob.py
3
knob.py
@ -37,6 +37,9 @@ class Knob:
|
|||||||
|
|
||||||
def get_position(self):
|
def get_position(self):
|
||||||
return self.position
|
return self.position
|
||||||
|
|
||||||
|
def get_index(self, knobs):
|
||||||
|
return knobs.index(self)
|
||||||
|
|
||||||
def __eq__(self, other):
|
def __eq__(self, other):
|
||||||
if other is None: return False
|
if other is None: return False
|
||||||
|
|||||||
13
knobs.py
13
knobs.py
@ -92,16 +92,16 @@ class Knobs:
|
|||||||
def calculate_label_path(self, knob, label_x):
|
def calculate_label_path(self, knob, label_x):
|
||||||
if len(knob.label_path) == 0:
|
if len(knob.label_path) == 0:
|
||||||
knob.label_path.append(knob.get_position())
|
knob.label_path.append(knob.get_position())
|
||||||
|
knob_index = knob.get_index(self.knobs)
|
||||||
if self.is_left_side:
|
if self.is_left_side:
|
||||||
if (knob == self.knobs[0] or knob == self.knobs[1] or
|
if knob_index in [0, 1, 4, 5] :
|
||||||
knob == self.knobs[4] or knob == self.knobs[5]):
|
|
||||||
x = knob.get_position()[0] + self.knobs_radius * 1.5
|
x = knob.get_position()[0] + self.knobs_radius * 1.5
|
||||||
y = knob.get_position()[1] + self.knobs_radius * 1.5
|
y = knob.get_position()[1] + self.knobs_radius * 1.5
|
||||||
elif (knob == self.knobs[2] or knob == self.knobs[3] or knob == self.knobs[6]):
|
elif knob_index in [2, 3, 6]:
|
||||||
x = knob.get_position()[0] + self.knobs_radius * 1.5
|
x = knob.get_position()[0] + self.knobs_radius * 1.5
|
||||||
y = knob.get_position()[1] - self.knobs_radius * 1.5
|
y = knob.get_position()[1] - self.knobs_radius * 1.5
|
||||||
else: # knob 7
|
else: # knob 7
|
||||||
x = knob.get_position()[0] - self.knobs_radius * 1.5
|
x = knob.get_position()[0] - self.knobs_radius * 1.5
|
||||||
y = knob.get_position()[1] + self.knobs_radius * 1.5
|
y = knob.get_position()[1] + self.knobs_radius * 1.5
|
||||||
knob.label_path.append((x, y))
|
knob.label_path.append((x, y))
|
||||||
|
|
||||||
@ -110,11 +110,10 @@ class Knobs:
|
|||||||
elif (knob == self.knobs[4] or knob == self.knobs[7]):
|
elif (knob == self.knobs[4] or knob == self.knobs[7]):
|
||||||
knob.label_path.append((self.knobs[4].get_position()[0] + self.knobs_radius * 1.5, self.gui.screenH/2))
|
knob.label_path.append((self.knobs[4].get_position()[0] + self.knobs_radius * 1.5, self.gui.screenH/2))
|
||||||
else:
|
else:
|
||||||
if (knob == self.knobs[1] or knob == self.knobs[2] or
|
if knob_index in [1, 2, 4, 5]:
|
||||||
knob == self.knobs[4] or knob == self.knobs[5]):
|
|
||||||
x = knob.get_position()[0] + self.knobs_radius * 1.5
|
x = knob.get_position()[0] + self.knobs_radius * 1.5
|
||||||
y = knob.get_position()[1] + self.knobs_radius * 1.5
|
y = knob.get_position()[1] + self.knobs_radius * 1.5
|
||||||
elif (knob == self.knobs[3] or knob == self.knobs[6] or knob == self.knobs[7]):
|
elif knob_index in [3, 6, 7]:
|
||||||
x = knob.get_position()[0] + self.knobs_radius * 1.5
|
x = knob.get_position()[0] + self.knobs_radius * 1.5
|
||||||
y = knob.get_position()[1] - self.knobs_radius * 1.5
|
y = knob.get_position()[1] - self.knobs_radius * 1.5
|
||||||
else: # knob 0
|
else: # knob 0
|
||||||
|
|||||||
Reference in New Issue
Block a user