Пример #1
0
def ccall_cb(func, cb, *args):
    if cb is None:
        cb = SilentCallbackCancel2()
    cb.initialize(func, args)
    cb.execute_command()
    if not cb.get_result():
        msg = get_last_cside_error()
        if msg.startswith("User interrupt"):
            raise UserInterrupt()
        else:
            raise CppLibError(msg)
Пример #2
0
def all_surfaces3(doc, node, cb=None):
    " -> s3 cdata, s3names"
    if cb is None:
        cb = SilentCallbackCancel2()
    s3, s3n = [], []
    qs = hmxml.query(node, "SURFACE3D")
    for i, q in enumerate(qs):
        cb1 = cb.subcallback(i, len(qs))
        s, n = read_surface3(doc, q, cb1)
        s3.append(s)
        s3n.append(n)
    return s3, s3n
Пример #3
0
def all_grids2(doc, node, cb=None):
    " -> g2 cdata, g2names"
    if cb is None:
        cb = SilentCallbackCancel2()
    g2, g2n = [], []
    qs = hmxml.query(node, "GRID2D")
    for i, q in enumerate(qs):
        cb1 = cb.subcallback(i, len(qs))
        g, n = read_grid2(doc, q, cb1)
        g2.append(g)
        g2n.append(n)
    return g2, g2n
Пример #4
0
def all_contours2(doc, node, cb=None):
    " -> c2 cdata, c2names"
    if cb is None:
        cb = SilentCallbackCancel2()
    c2, c2n = [], []
    qs = hmxml.query(node, "CONTOUR2D")
    for i, q in enumerate(qs):
        cb1 = cb.subcallback(i, len(qs))
        c, n = read_contour2(doc, q, cb1)
        c2.append(c)
        c2n.append(n)
    return c2, c2n
Пример #5
0
def cont2_tofile(fname, conts, names, fmt, cb=None):
    if cb is None:
        cb = SilentCallbackCancel2()
    doc, root = 0, 0
    try:
        doc, root = hmxml.new_doc()
        n = min(len(conts), len(names))
        for i in range(n):
            cb1 = cb.subcallback(i, n)
            cont2(doc, root, conts[i], names[i], fmt, cb1)
        hmxml.doc_to_file(doc, fname)
    except:
        raise
    finally:
        hmxml.close_doc(doc, [root])
Пример #6
0
def export_all(doc, node, framework, fmt, cb=None):
    if cb is None:
        cb = SilentCallbackCancel2()
    names = framework.get_names()
    for i, nm in enumerate(names):
        cb1 = cb.subcallback(i, len(names))
        ob = framework.get_object(nm)
        if isinstance(ob, Contour2):
            cont2(doc, node, ob, nm, fmt, cb1)
        elif isinstance(ob, Grid2):
            grid2(doc, node, ob, nm, fmt, cb=cb1)
        elif isinstance(ob, Surface3):
            surf3(doc, node, ob, nm, fmt, cb1)
        elif isinstance(ob, Grid3):
            grid3(doc, node, ob, nm, fmt, cb=cb1)