'Return the union of the shapes of all descendants of this item in local coordinates.'

def childrenShape(self):

    childs = self.allChildItems()
    shapes = [self.mapFromItem(c, c.shape()) for c in self.allChildItems()]
    return reduce(operator.add, shapes)
