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
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
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
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
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
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