--- a/graphics/LD_Objects.py Thu Apr 21 15:15:57 2011 +0200
+++ b/graphics/LD_Objects.py Thu Apr 21 16:06:33 2011 +0200
@@ -237,12 +237,7 @@
for connector in self.Connectors:
if connector and name == connector.GetName():
return connector
- for connector in self.Connectors:
- if connector:
- connector_pos = connector.GetRelPosition()
- if position.x == self.Pos.x + connector_pos.x and position.y == self.Pos.y + connector_pos.y:
- return connector
- return None
+ return self.FindNearestConnector(position, [connector for connector in self.Connectors if connector is not None])
# Returns all the power rail connectors
def GetConnectors(self):
@@ -552,15 +547,7 @@
return self.Input
if name == self.Output.GetName():
return self.Output
- # Test input connector
- input_pos = self.Input.GetRelPosition()
- if position.x == self.Pos.x + input_pos.x and position.y == self.Pos.y + input_pos.y:
- return self.Input
- # Test output connector
- output_pos = self.Output.GetRelPosition()
- if position.x == self.Pos.x + output_pos.x and position.y == self.Pos.y + output_pos.y:
- return self.Output
- return None
+ return self.FindNearestConnector(position, [self.Input, self.Output])
# Returns input and output contact connectors
def GetConnectors(self):
@@ -843,15 +830,7 @@
return self.Input
if self.Output and name == self.Output.GetName():
return self.Output
- # Test input connector
- input_pos = self.Input.GetRelPosition()
- if position.x == self.Pos.x + input_pos.x and position.y == self.Pos.y + input_pos.y:
- return self.Input
- # Test output connector
- output_pos = self.Output.GetRelPosition()
- if position.x == self.Pos.x + output_pos.x and position.y == self.Pos.y + output_pos.y:
- return self.Output
- return None
+ return self.FindNearestConnector(position, [self.Input, self.Output])
# Returns input and output coil connectors
def GetConnectors(self):