def send_custom():
    """Print out notice information when different senders are sent."""
    notice = Tf.Notice()
    some_stage = Usd.Stage.CreateInMemory()
    sender = Sender(some_stage)
    callback = Callback(Tf.Notice, notice, sender)
    listener = Tf.Notice.Register(Tf.Notice, callback.callback, sender)

    sender2 = Sender(some_stage)
    listener2 = Tf.Notice.Register(Tf.Notice, callback.callback, sender2)

    print("Custom count", callback.counter)

    # Note, the sender actually matters here. It has to be whatever was
    # provided to `Tf.Notice.Register`. Otherwise, the `callback` method
    # will never be run.
    #
    notice.Send(sender)
    notice.Send(sender2)

    del listener  # You can also run `listener.Revoke()`
    notice.Send(sender)

    print("Custom count", callback.counter)
示例#2
0
    if (sender):
        l = Tf.Notice.Register(regNoticeType, cb.callback, sender)
    if (sender):
        sendNotice.Send(sender)
    else:
        sendNotice.SendGlobally()
    return cb.received


class testPySender(object):
    pass


args = [
    # Global notices
    (1, "TfNotice", Tf.Notice()),
    (1, Tf.Notice, Tf.Notice()),
    (1, Tf.Notice, PyNoticeBase()),
    (1, PyNoticeBase, PyNoticeBase()),
    (1, PyNoticeBase, PyNoticeDerived()),
    (0, PyNoticeDerived, PyNoticeBase()),

    # Notices from C++ sender.
    # disabled for now, since Tf_TestBase is now Ctf_TestBase.
    #    (1, "TfNotice", Tf.Notice(), Tf.Tf_TestBase()),
    #    (1, Tf.Notice, Tf.Notice(), Tf.Tf_TestBase()),
    #    (1, Tf.Notice, PyNoticeBase(), Tf.Tf_TestBase()),
    #    (1, PyNoticeBase, PyNoticeBase(), Tf.Tf_TestBase()),
    #    (1, PyNoticeBase, PyNoticeDerived(), Tf.Tf_TestBase()),
    #    (0, PyNoticeDerived, PyNoticeBase(), Tf.Tf_TestBase()),