Exemplo n.º 1
0
def main():
    """Main
    """
    logging.basicConfig(level=logging.INFO)
    session = ph.HSessionManager.get_or_create_default_session()

    #load hda asset and instantiate
    hda_asset = ph.HAsset(session, "hda/SideFX_spaceship.otl")
    asset_node = hda_asset.instantiate(node_name="Spaceship")

    #Query node's parameters
    logging.info("Node has parameter count: {0}".format(len(asset_node.get_param_names())))
    for param in asset_node.get_visible_params():
        logging.info("Query param: {0} has value: {1}".format(param.get_name(), param.get_value()))

    #Set node's parameters
    asset_node.set_param_value("seed", 1.0)
    asset_node.set_param_value("rop_geometry1_sopoutput", "$HIP/spaceship.obj")

    #Query node's parameter after set
    logging.info("Param: seed has value {0}".format(asset_node.get_param_value("seed")))
    logging.info("Param: rop_geometry1_sopoutput has value {0}".\
        format(asset_node.get_param_value("rop_geometry1_sopoutput")))

    #Press button
    asset_node.press_button("rop_geometry1_execute", status_report_interval=1.0)

    session.save_hip("spaceship.hip")
Exemplo n.º 2
0
def test_set_param_vec4(init_session):
    """Test set float param
    """
    hda_asset = ph.HAsset(init_session, "hda/dummy_params.hda")
    asset_node = hda_asset.instantiate(node_name="params")
    asset_node.set_param_value("vec4", [0.4, 0.5, 0.6, 0.7])
    assert pytest.approx(asset_node.get_param_value("vec4")[3]) == 0.7
Exemplo n.º 3
0
def test_set_param_color(init_session):
    """Test set float param
    """
    hda_asset = ph.HAsset(init_session, "hda/dummy_params.hda")
    asset_node = hda_asset.instantiate(node_name="params")
    asset_node.set_param_value("color", [0.3, 0.4, 0.5])
    assert pytest.approx(asset_node.get_param_value("color")[1]) == 0.4
Exemplo n.º 4
0
def test_child_nodes(init_session):
    """Test get child nodes
    """
    hda_asset = ph.HAsset(init_session, "hda/FourShapes.hda")
    asset_node = hda_asset.instantiate(node_name="Processor").cook()
    child_nodes = asset_node.get_child_nodes()
    assert len(child_nodes) == 4
Exemplo n.º 5
0
def test_set_param_int(init_session):
    """Test set int param
    """
    hda_asset = ph.HAsset(init_session, "hda/SideFX_spaceship.otl")
    asset_node = hda_asset.instantiate(node_name="Spaceship")
    asset_node.set_param_value("display", 0)
    assert asset_node.get_param_value("display") == 0
Exemplo n.º 6
0
def test_set_param_intvec3(init_session):
    """Test set float param
    """
    hda_asset = ph.HAsset(init_session, "hda/dummy_params.hda")
    asset_node = hda_asset.instantiate(node_name="params")
    asset_node.set_param_value("intvec3", [1, 1, 1])
    assert asset_node.get_param_value("intvec3")[2] == 1
Exemplo n.º 7
0
def main():
    """Main
    """
    session = ph.HSessionManager.get_or_create_default_session()

    #load hda asset and instantiate
    hda_asset = ph.HAsset(session, "hda/FourShapes.hda")
    asset_node = hda_asset.instantiate(node_name="Processor").cook()
    log_childnodes(asset_node)

    #create a sop node, set input
    another_box = ph.HNode(session,
                           "geo",
                           "ProgrammaticBox",
                           parent_node=asset_node)
    input_node = another_box\
      .connect_node_input(asset_node.get_child_nodes()[0])\
      .cook()\
      .get_node_input(0)
    print("ProgrammaticBox's input node is {0}".format(input_node.name))
    log_childnodes(asset_node)

    #delete sop node
    another_box\
      .disconnect_node_input(0)\
      .delete()
    log_childnodes(asset_node)

    session.save_hip("modifiedScene.hip")
Exemplo n.º 8
0
def test_set_param_float(init_session):
    """Test set float param
    """
    hda_asset = ph.HAsset(init_session, "hda/SideFX_spaceship.otl")
    asset_node = hda_asset.instantiate(node_name="Spaceship")
    asset_node.set_param_value("seed", 1.23)
    assert pytest.approx(asset_node.get_param_value("seed")) == 1.23
Exemplo n.º 9
0
def test_get_param_string(init_session):
    """Test get string param
    """
    hda_asset = ph.HAsset(init_session, "hda/SideFX_spaceship.otl")
    asset_node = hda_asset.instantiate(node_name="Spaceship")
    assert asset_node.get_param_value("rop_geometry1_sopoutput").endswith(
        "prp_spaceship_001.bgeo")
Exemplo n.º 10
0
def test_set_param_toggle(init_session):
    """Test set float param
    """
    hda_asset = ph.HAsset(init_session, "hda/dummy_params.hda")
    asset_node = hda_asset.instantiate(node_name="params")
    asset_node.set_param_value("toggle", True)
    assert asset_node.get_param_value("toggle") == True
Exemplo n.º 11
0
def test_set_param_string(init_session):
    """Test set string param
    """
    hda_asset = ph.HAsset(init_session, "hda/SideFX_spaceship.otl")
    asset_node = hda_asset.instantiate(node_name="Spaceship")
    asset_node.set_param_value("rop_geometry1_sopoutput", "test_geo.obj")
    assert asset_node.get_param_value(
        "rop_geometry1_sopoutput") == "test_geo.obj"
Exemplo n.º 12
0
def test_get_node_geo_stringattrib(init_session):
    """Test get node geo
    """
    hda_asset = ph.HAsset(init_session, "hda/string_attrib.hda")
    asset_node = hda_asset.instantiate(node_name="TestObject").cook()
    asset_geos = asset_node.get_display_geos()
    debugstr = asset_geos[0].get_attrib_data(ph.AttributeOwner.POINT, "debug")
    assert debugstr[3, 0] == "debug3"
Exemplo n.º 13
0
def test_set_param_strings(init_session):
    """Test set float param
    """
    hda_asset = ph.HAsset(init_session, "hda/dummy_params.hda")
    asset_node = hda_asset.instantiate(node_name="params")
    asset_node.set_param_value("strings5",
                               ["str0", "str1", "str2", "str3", "str4"])
    assert asset_node.get_param_value("strings5")[2] == "str2"
Exemplo n.º 14
0
def test_get_node_geo_curve(init_session):
    """Test get node geo curve
    """
    hda_asset = ph.HAsset(init_session, "hda/nurbs_curve.hda")
    asset_node = hda_asset.instantiate(node_name="Curve").cook()
    asset_geos = asset_node.get_display_geos()
    _ps = asset_geos[0].get_attrib_data(ph.AttributeOwner.POINT, "P")
    _x, _y = _ps.shape
    assert _x == 32 and _y == 3
Exemplo n.º 15
0
def test_get_node_geo_mesh(init_session):
    """Test get node geo
    """
    hda_asset = ph.HAsset(init_session, "hda/FourShapes.hda")
    asset_node = hda_asset.instantiate(node_name="TestObject").cook()
    asset_geos = asset_node.get_display_geos()
    _ps = asset_geos[0].get_attrib_data(ph.AttributeOwner.POINT, "P")
    _x, _y = _ps.shape
    assert _x == 8 and _y == 3
Exemplo n.º 16
0
def test_get_node_geo_heightfield(init_session):
    """Test get node geo
    """
    hda_asset = ph.HAsset(init_session, "hda/heightfield_test.hda")
    asset_node = hda_asset.instantiate(node_name="HF").cook()

    #get node's all display geo, print volume's data shape and name
    all_geos = asset_node.get_display_geos()
    _vol = all_geos[0]
    _x, _y, _z = _vol.volume.shape
    assert _x == 500 and _y == 500 and _z == 1 \
        and _vol.volume_name == "height"
Exemplo n.º 17
0
def main():
    """Main
    """
    session = ph.HSessionManager.get_or_create_default_session()

    # load hda asset and instantiate
    hda_asset = ph.HAsset(session, "hda/FourShapes.hda")
    asset_node = hda_asset.instantiate(node_name="TestObject").cook()
    asset_geos = asset_node.get_display_geos()

    for geo in asset_geos:
        print("Geo {0} has attribute {1}".format(geo, geo.get_attrib_names()))

    print(asset_geos[0].get_attrib_data(ph.AttributeOwner.POINT, "P"))

    session.save_hip("modifiedScene2.hip")
def main():
    """Main
    """
    session = ph.HSessionManager.get_or_create_default_session()

    #load hda asset and instantiate
    hda_asset = ph.HAsset(session, "hda/heightfield_test.hda")
    asset_node = hda_asset.instantiate(node_name="HF").cook()

    #get node's all display geo, print volume's data shape and name
    all_geos = asset_node.get_display_geos()
    for geo in all_geos:
        if isinstance(geo, ph.HGeoHeightfield):
            print(geo.volume.shape)
            print(geo.volume_name)

    session.save_hip("modifiedScene.hip")
Exemplo n.º 19
0
def main():
    """Main
    """
    session = ph.HSessionManager.get_or_create_default_session()

    #load hda asset and instantiate
    hda_asset = ph.HAsset(session, "hda/nurbs_curve.hda")
    asset_node = hda_asset.instantiate(node_name="Curve").cook()

    #get node's all display geo, print curveinfo and P
    all_geos = asset_node.get_display_geos()
    for geo in all_geos:
        print(geo.get_attrib_data(ph.AttributeOwner.POINT, "P"))
        if isinstance(geo, ph.HGeoCurve):
            print(geo.curve_info)

    session.save_hip("modifiedScene.hip")
Exemplo n.º 20
0
def main():
    """Main
    """
    logging.basicConfig(level=logging.INFO)
    session = ph.HSessionManager.get_or_create_default_session()

    #load hda asset and instantiate
    hda_asset = ph.HAsset(session, "hda/dummy_params.hda")
    asset_node = hda_asset.instantiate(node_name="params")

    #Query node's parameters
    logging.info("Node has parameter count: {0}".format(
        len(asset_node.get_param_names())))

    print_all_params(asset_node)

    for parm in asset_node.get_visible_params():
        if isinstance(parm, ph.HParmChoice):
            parm.set_value(index=1)
        elif isinstance(parm, ph.HParmInt):
            parm.set_value(value=3)
        elif isinstance(parm, ph.HParmFloat):
            parm.set_value(value=4.0)
        elif isinstance(parm, ph.HParmString):
            #asset_node.set_param_value(parm.name, "hi")
            parm.set_value(value="hi")

    asset_node.set_param_value("intvec3", [1, 1, 1])
    asset_node.set_param_value("vec4", [0.5, 0.6, 0.7, 0.8])
    asset_node.set_param_value("color", [0.3, 0.4, 0.5])
    asset_node.set_param_value("toggle", True)
    asset_node.set_param_value("strings5",
                               ["str0", "str1", "str2", "str3", "str4"])
    asset_node.press_button("button")

    print_all_params(asset_node)

    session.save_hip("debug.hip")
Exemplo n.º 21
0
def test_init_hasset(init_session):
    """Test instantiate HDA asset
    """
    hda_asset = ph.HAsset(init_session, "hda/FourShapes.hda")
    asset_node = hda_asset.instantiate(node_name="Processor").cook()
    assert asset_node is not None
Exemplo n.º 22
0
async def test_press_button_async(init_session):
    """Test press button async
    """
    hda_asset = ph.HAsset(init_session, "hda/SideFX_spaceship.otl")
    asset_node = hda_asset.instantiate(node_name="Spaceship")
    await asset_node.press_button_async("rop_geometry1_execute")
Exemplo n.º 23
0
async def session_task(session: ph.HSession, index1, index2):
    print("execute {0} - {1}".format(index1, index2))
    hda_asset = ph.HAsset(session, "hda/save_cube.hda")
    asset_node = hda_asset.instantiate(node_name="cube")
    asset_node.set_param_value("filename", "{0}-{1}".format(index1, index2))
    await asset_node.press_button_async("execute", status_report_interval=0.1)
Exemplo n.º 24
0
def test_get_params_len(init_session):
    """Test get param
    """
    hda_asset = ph.HAsset(init_session, "hda/SideFX_spaceship.otl")
    asset_node = hda_asset.instantiate(node_name="Spaceship")
    assert len(asset_node.get_param_names()) == 96
Exemplo n.º 25
0
async def test_cook_async(init_session):
    """Test cook async
    """
    hda_asset = ph.HAsset(init_session, "hda/SideFX_spaceship.otl")
    asset_node = hda_asset.instantiate(node_name="Spaceship")
    await asset_node.cook_async()