Esempio n. 1
0
 def on_layout(self, cvs, system):
     Box.on_layout(self, cvs, system)
     Atom.on_layout(self, cvs, system)
     x0 = self.x_top[0]
     x1 = self.x_top[1]
     system.add(x0 == self.llx + (1. / 4) * self.width, weight=self.weight)
     system.add(x1 == self.llx + (3. / 4) * self.width, weight=self.weight)
     system.add(2 * self.height >= x1 - x0)
Esempio n. 2
0
    def on_layout(self, cvs, system):
        Box.on_layout(self, cvs, system)
        Atom.on_layout(self, cvs, system)

        width = self.width
        llx = self.llx

        n_top = self.n_top
        x_top = self.x_top
        if n_top > 0:
            dx = width / (2 * n_top)
            x = llx + dx
            for i in range(n_top):
                system.add(x_top[i] == x, weight=self.weight)
                x += 2 * dx

        n_bot = self.n_bot
        x_bot = self.x_bot
        if n_bot > 0:
            dx = width / (2 * n_bot)
            x = llx + dx
            for i in range(n_bot):
                system.add(x_bot[i] == x, weight=self.weight)
                x += 2 * dx
Esempio n. 3
0
 def on_layout(self, cvs, system):
     Box.on_layout(self, cvs, system)
     Atom.on_layout(self, cvs, system)
     system.add(self.x_bot[0] == self.x_top[0])
     x = 0.5 * (self.llx + self.urx)
     system.add(self.x_bot[0] == x, 1.0)