graphics/LD_Objects.py
changeset 537 a31bf722aa82
parent 508 01f49e491be5
child 550 cfa295862d55
--- 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):