Exemplo n.º 1
0
def test_with_alternate_material():
    material_string = """
    void glass glass_alt_mat
    0
    0
    3 0.96 0.96 0.96

    void brightfunc glass_angular_effect
    3 A1+(1-A1) (exp(-5.85 Rdot)-0.00287989916) .
    0
    1 0.08

    glass_angular_effect mirror glass_mat
    1 glass_alt_mat
    0
    3 1 1 1
    """
    mm = Mirror.from_string(material_string)
    assert mm.to_radiance(
        minimal=True, include_modifier=False, include_dependencies=False) == \
        'glass_angular_effect mirror glass_mat 1 glass_alt_mat 0 3 1.0 1.0 1.0'
    assert mm.modifier.to_radiance(minimal=True) == \
        'void brightfunc glass_angular_effect 3 A1+(1-A1)' \
        ' (exp(-5.85 Rdot)-0.00287989916) . 0 1 0.08'
    assert mm.alternate_material.to_radiance(minimal=True) == \
        'void glass glass_alt_mat 0 0 3 0.96 0.96 0.96'

    # alternate material should show up in dependencies for to_radiance to work correctly
    assert mm.dependencies[0] == mm.alternate_material
    # but it should not be part of the private dependencies
    assert mm._dependencies == []
Exemplo n.º 2
0
def test_from_to_dict_with_void_alternate_material():
    material_string = """
    void mirror mirror_mat
    1 void
    0
    3 1 1 1
    """
    mm = Mirror.from_string(material_string)
    mmc = Mirror.from_dict(mm.to_dict())
    assert mm == mmc
Exemplo n.º 3
0
def test_from_string():
    mirror_str = """void mirror mirror_alt_mat
        0
        0
        3
            0.91 0.92 0.93
    """
    mir = Mirror.from_string(mirror_str)
    assert mir.identifier == 'mirror_alt_mat'
    assert mir.r_reflectance == 0.91
    assert mir.g_reflectance == 0.92
    assert mir.b_reflectance == 0.93
    assert mir.to_radiance(minimal=True) == ' '.join(mirror_str.split())
Exemplo n.º 4
0
def test_from_string_w_modifier():

    material_string = """
    void brightfunc glass_angular_effect
    3 A1+(1-A1) (exp(-5.85 Rdot)-0.00287989916) .
    0
    1 0.08

    glass_angular_effect mirror glass_mat
    0
    0
    3 1 1 1
    """
    gg = Mirror.from_string(material_string)
    assert gg.to_radiance(minimal=True, include_modifier=False) == \
        'glass_angular_effect mirror glass_mat 0 0 3 1.0 1.0 1.0'
    assert gg.modifier.to_radiance(minimal=True) == \
        'void brightfunc glass_angular_effect 3 A1+(1-A1)' \
        ' (exp(-5.85 Rdot)-0.00287989916) . 0 1 0.08'
Exemplo n.º 5
0
def test_from_to_dict_with_alternate_material():
    material_string = """
    void glass glass_alt_mat
    0
    0
    3 0.96 0.96 0.96

    void brightfunc glass_angular_effect
    3 A1+(1-A1) (exp(-5.85 Rdot)-0.00287989916) .
    0
    1 0.08

    glass_angular_effect mirror glass_mat
    1 glass_alt_mat
    0
    3 1 1 1
    """
    mm = Mirror.from_string(material_string)
    mmc = Mirror.from_dict(mm.to_dict())
    assert mm == mmc