コード例 #1
0
ファイル: drawView.py プロジェクト: PassaEP/CSV2SVG
    def genHoneycomb(self):
        outComb = G()
        circleStyle = StyleBuilder()
        #circleStyle.setStrokeWidth(0.5)
        circleStyle.setStroke('orange')
        circleStyle.setFilling('#edd239')
        CORNER = self.hCSlice.getBottomRight()

        circleY = []
        circleY.append(CORNER[1] + (ROW_SPACE - CIRCLE_RADIUS))
        for g in range(0, self.row):
            circleX = CORNER[0] - CIRCLE_RADIUS
            if (g != 0 and g % 2 != 0):
                circleY.append(circleY[g-1] + 2*CIRCLE_RADIUS)
            elif (g!= 0 and g % 2 == 0):
                circleY.append(circleY[g-1] + 2*(ROW_SPACE - CIRCLE_RADIUS))

            #initCircle = Circle(circleX, circleY[g], CIRCLE_RADIUS)
            #outComb.addElement(initCircle)
            for i in range(0, self.col):
                newShift = TransformBuilder()
                xShift = -i*CIRCLE_RADIUS*math.sqrt(3)
                yShift = 0
                if i % 2 != 0 and g % 2 != 0:
                    yShift = CIRCLE_RADIUS
                elif i % 2 != 0 and g % 2 == 0:
                    yShift = -1*CIRCLE_RADIUS
                newShift.setTranslation(str(xShift) + ' ' + str(yShift))
                a = Circle(circleX, circleY[g], CIRCLE_RADIUS)
                a.set_transform(newShift.getTransform())
                outComb.addElement(a)

        outComb.set_style(circleStyle.getStyle())
        return outComb
コード例 #2
0
 def rotate(self, angle):
     group = g()
     for e in self:
         group.addElement(e)
     tb = TransformBuilder()
     tb.setRotation(angle)
     group.set_transform(tb.getTransform())
     self.items = [group]
     return self
コード例 #3
0
 def move(self, x, y):
     group = g()
     for item in self:
         group.addElement(item)
     tb = TransformBuilder()
     tb.setTranslation('{0},{1}'.format(x, y))
     group.set_transform(tb.getTransform())
     self.items = [group]
     return self
コード例 #4
0
def translate(elems, x, y):
    group = g()
    for e in elems:
        group.addElement(e)
    tb = TransformBuilder()
    #tb.setRotation(rotate(x1, y1, x2, y2))
    tb.setTranslation('{0},{1}'.format(x, y))
    group.set_transform(tb.getTransform())
    return group
コード例 #5
0
 def scale(self, amount):
     """1 = 100%"""
     group = g()
     for e in self:
         group.addElement(e)
     tb = TransformBuilder()
     tb.setScaling(amount, amount)
     group.set_transform(tb.getTransform())
     self.items = [group]
     return self
コード例 #6
0
def scale(elems, amount):
    """1 = 100%"""
    group = g()
    for e in elems:
        group.addElement(e)
    tb = TransformBuilder()
    #tb.setRotation(rotate(x1, y1, x2, y2))
    tb.setScaling(amount, amount)
    group.set_transform(tb.getTransform())
    return group