Beispiel #1
0
 def start_interface(self, server):
     if not server in self.interfaces and not server in self.connecting:
         if server == self.default_server:
             log.info("connecting to %s as new interface", server)
             self.set_status('connecting')
         self.connecting.add(server)
         c = Connection(server, self.socket_queue, self.config.path)
Beispiel #2
0
 def start_interface(self, server):
     if (not server in self.interfaces and not server in self.connecting):
         if server == self.default_server:
             self.print_error("connecting to %s as new interface" % server)
             self.set_status('connecting')
         self.connecting.add(server)
         c = Connection(server, self.socket_queue, self.config.path)
Beispiel #3
0
 def options(self, parts):
     '''what can this part connect to?
     returns a list'''
     parts = self.setify(parts)
     if self in parts: parts.remove(self) #unless this part is really flexible
     for part in parts:
         interfaces = set(part.interfaces)
         rval = set()
         for i in interfaces:
                 for j in self.interfaces:
                     if i.compatible(j) and j.compatible(i):
                         rval.add(Connection(i, j))
     return list(rval)
Beispiel #4
0
 def compare_environments(self, environment1, environment2):
     #self.output("*** COMPARING: %s %s\n" % (point1.id.name, point2.id.name))
     for index1, delta1 in enumerate(environment1.deltas):
         for index2, delta2 in enumerate(environment2.deltas):
             # pairs of deltas must match within a certain accuracy AND avoiding duplicates
             diff_delta = delta1 - self.rotation2 * delta2
             diff_distance = numpy.linalg.norm(diff_delta)
             if (self.hit(diff_distance)
                     and environment1.id < environment1.neighbors[index1]):
                 connection = Connection(
                     set([(environment1.id, environment2.id),
                          (environment1.neighbors[index1],
                           environment2.neighbors[index2])]))
                 connection.t = environment1.coordinate - self.rotation2 * environment2.coordinate + 0.5 * diff_delta
                 self.connections.append(connection)