import catacomb csys = catacomb.Sys csys.newObject("Numerics") cpython = csys.getObjectByName("python") cpy = csys.getPythonModule(__name__) display = cpy.getDisplay() atool = catacomb.AnalysisTools callable=['method1', 'method2'] res = () def method1(): global res checkRes() if res: cpy.registerFunctionDataListener ('method1', res) dat = res.getData() cw = 256 * 256 * 256 - 1; display.setStructure(['x', 'y1'], [cw, cw]) dims = atool.dimsof(dat) xs = () ys = () nx = dims[1] ny = dims[0] if ny > 1: xs = atool.element(dat, 0) ys = atool.element(dat, 1) display.setData([xs, ys], 2, len(xs)) display.dataUpdate() csys.editObject(display) def method2(): global res checkRes() if res: cpy.registerFunctionDataListener ('method2', res) dat = res.getData() cw = 256 * 256 * 256 - 1; display.setStructure(['x', 'y'], [cw, cw]) dims = atool.dimsof(dat) xs = () ys = () nx = dims[1] ny = dims[0] if ny > 1: xs = atool.element(dat, 0) ys = atool.element(dat, 2) display.setData([xs, ys], 2, len(xs)) display.dataUpdate() csys.editObject(display) def checkRes (): global res if not res: print "retrieving results object" res = csys.getObjectByName("diffeq-results")