def visit_leaf(self, boxIn, boxOut): X0 = boxIn | boxOut X = boxIn & boxOut # print(X0, boxIn, boxOut) vibes.drawBoxDiff(X0, boxIn, self.color_map["IN"]) vibes.drawBoxDiff(X0, boxOut, self.color_map["OUT"]) if not X.is_empty(): for i in range(X.size()): if X[i].diam() < 1e-8: X[i].inflate(0.05) vibes.drawBox(X[0][0], X[0][1], X[1][0], X[1][1], self.color_map["MAYBE"])
def drawBoxDiff(X0, X, color, use_patch=False, **kwargs): if X0 == X: return if not X.is_empty(): if use_patch is True: vibes.drawBoxDiff(X0, X, color, **kwargs) # vibes.drawBoxDiff([ X0[0].lb(), X0[0].ub(), X0[1].lb(), X0[1].ub()], # [X[0].lb(), X[0].ub(), X[1].lb(), X[1].ub()], color) else: for b in X0.diff(X): vibes.drawBox(b[0].lb(), b[0].ub(), b[1].lb(), b[1].ub(), color, **kwargs) else: vibes.drawBox(X0[0].lb(), X0[0].ub(), X0[1].lb(), X0[1].ub(), color, **kwargs)
def draw(self, color_in='#FF0000[#BB00FFAA]', color_out='b[#00AAFFAA]', color_maybe='[y]'): """Draw.""" X0 = self.xin | self.xout vibes.drawBoxDiff(X0, self.xin, siviaParams["color_in"]) vibes.drawBoxDiff(X0, self.xout, siviaParams["color_out"]) if (not self.isLeaf()): self.left.draw() self.right.draw() else: X = self.xin & self.xout vibes.drawBox(X[0][0], X[0][1], X[1][0], X[1][1], siviaParams["color_maybe"])
# vibes.clearGroup("Pie", figure="test") vibes.drawPie([0,0], [1,2], [160, 220]) #, 'g[y]') # exit() vibes.newFigure("test2") vibes.setFigureProperties({'x':0, 'y':0, 'width':600, 'height':600}) # vibes.axisLimits(10,20,10,20) vibes.axisLabels("titi", "toto") # vibes.drawBox(-1,0,-4,-6,color='[r]', figure='test2') # vibes.selectFigure("test") # vibes.clearFigure() # vibes.selectFigure("test2") # vibes.saveImage('./test.svg', "test") # vibes.closeFigure("test2") vibes.drawBoxDiff([11, 13, 11, 24], [12,12.5, 11, 13], 'b[r]') vibes.drawArrow([9, 9], [9, 10], 0.3, '[r]') vibes.drawArrow([9, 9], [10, 9], 0.3, '[r]') vibes.drawPolygon([[1,1], [1,4], [5,2], [5, 1]]) vibes.setFigureProperties({'viewbox':'equal'}) vibes.endDrawing()
vibes.drawPie([5, 2], [1, 2], [160, 220]) #, 'g[y]') # vibes.clearGroup("Pie", figure="test") vibes.drawPie([0, 0], [1, 2], [160, 220]) #, 'g[y]') # exit() vibes.newFigure("test2") vibes.setFigureProperties({'x': 0, 'y': 0, 'width': 600, 'height': 600}) # vibes.axisLimits(10,20,10,20) vibes.axisLabels("titi", "toto") # vibes.drawBox(-1,0,-4,-6,color='[r]', figure='test2') # vibes.selectFigure("test") # vibes.clearFigure() # vibes.selectFigure("test2") # vibes.saveImage('./test.svg', "test") # vibes.closeFigure("test2") vibes.drawBoxDiff([11, 13, 11, 24], [12, 12.5, 11, 13], 'b[r]') vibes.drawArrow([9, 9], [9, 10], 0.3, '[r]') vibes.drawArrow([9, 9], [10, 9], 0.3, '[r]') vibes.drawPolygon([[1, 1], [1, 4], [5, 2], [5, 1]]) vibes.setFigureProperties({'viewbox': 'equal'}) vibes.endDrawing()
def visit_node(self, boxIn, boxOut): X0 = boxIn | boxOut # print(X0, boxIn, boxOut) vibes.drawBoxDiff(X0, boxIn, self.color_map["IN"]) vibes.drawBoxDiff(X0, boxOut, self.color_map["OUT"])