Example #1
0
 def __init__(self, pairs, minimum_area):
     Connection.__init__(
         self,
         set([(environment1.id, environment2.id)
              for environment1, environment2 in pairs]))
     self.triangle1 = Triangle([pair[0] for pair in pairs], minimum_area)
     self.triangle2 = Triangle([pair[1] for pair in pairs], minimum_area)
     self.valid = self.triangle1.valid and self.triangle2.valid
Example #2
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)
Example #3
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)
Example #4
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)
Example #5
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)
Example #6
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)
Example #7
0
 def __init__(self, url):
     Connection.__init__(self, url)
     self.url += '/rpc'
     self.proxy = Pyro.core.getProxyForURI( self.url )
Example #8
0
 def __init__(self, pairs, minimum_area):
     Connection.__init__(self, set([(environment1.id, environment2.id) for environment1, environment2 in pairs]))
     self.triangle1 = Triangle([pair[0] for pair in pairs], minimum_area)
     self.triangle2 = Triangle([pair[1] for pair in pairs], minimum_area)
     self.valid = self.triangle1.valid and self.triangle2.valid