mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-11 22:31:55 +00:00
Blender 5.0 - avoid using deprecated use_nodes
This commit is contained in:
@@ -37,7 +37,7 @@ class TestImplementsTool(NewFile):
|
||||
class TestCopyNodeGraph(NewFile):
|
||||
def test_run(self):
|
||||
material_to = bpy.data.materials.new("material_to")
|
||||
material_to.use_nodes = True
|
||||
tool.Style.set_use_nodes(material_to, True)
|
||||
assert material_to.node_tree
|
||||
material_to_nodes = material_to.node_tree.nodes
|
||||
assert len(material_to_nodes) == 2
|
||||
@@ -46,7 +46,7 @@ class TestCopyNodeGraph(NewFile):
|
||||
assert len(material_to_nodes) == 0
|
||||
|
||||
material_from = bpy.data.materials.new("material_from")
|
||||
material_from.use_nodes = True
|
||||
tool.Style.set_use_nodes(material_from, True)
|
||||
|
||||
subject.copy_node_graph(material_to, material_from)
|
||||
assert len(material_to_nodes) == 2
|
||||
|
||||
@@ -488,7 +488,7 @@ class TestShouldGenerateUVs(NewFile):
|
||||
obj = bpy.data.objects.new("Object", bpy.data.meshes.new("Mesh"))
|
||||
material = bpy.data.materials.new("Material")
|
||||
obj.data.materials.append(material)
|
||||
material.use_nodes = False
|
||||
tool.Style.set_use_nodes(material, False)
|
||||
assert subject.should_generate_uvs(obj) is False
|
||||
|
||||
def test_needs_texture_coordinates_with_a_uv_output(self):
|
||||
@@ -497,7 +497,7 @@ class TestShouldGenerateUVs(NewFile):
|
||||
obj = bpy.data.objects.new("Object", bpy.data.meshes.new("Mesh"))
|
||||
material = bpy.data.materials.new("Material")
|
||||
obj.data.materials.append(material)
|
||||
material.use_nodes = True
|
||||
tool.Style.set_use_nodes(material, True)
|
||||
|
||||
bsdf = tool.Blender.get_material_node(material, "BSDF_PRINCIPLED")
|
||||
node = material.node_tree.nodes.new(type="ShaderNodeTexImage")
|
||||
@@ -513,7 +513,7 @@ class TestShouldGenerateUVs(NewFile):
|
||||
obj = bpy.data.objects.new("Object", bpy.data.meshes.new("Mesh"))
|
||||
material = bpy.data.materials.new("Material")
|
||||
obj.data.materials.append(material)
|
||||
material.use_nodes = True
|
||||
tool.Style.set_use_nodes(material, True)
|
||||
|
||||
bsdf = tool.Blender.get_material_node(material, "BSDF_PRINCIPLED")
|
||||
node = material.node_tree.nodes.new(type="ShaderNodeTexImage")
|
||||
|
||||
@@ -22,6 +22,7 @@ import ifcopenshell
|
||||
import ifcopenshell.api
|
||||
import ifcopenshell.api.root
|
||||
import ifcopenshell.util.representation
|
||||
import pytest
|
||||
import bonsai.core.tool
|
||||
import bonsai.tool as tool
|
||||
from test.bim.bootstrap import NewFile
|
||||
@@ -37,12 +38,16 @@ class TestImplementsTool(NewFile):
|
||||
class TestCanSupportRenderingStyle(NewFile):
|
||||
def test_anything_with_nodes_can_support_a_rendering_style(self):
|
||||
obj = bpy.data.materials.new("Material")
|
||||
obj.use_nodes = True
|
||||
tool.Style.set_use_nodes(obj, True)
|
||||
assert subject.can_support_rendering_style(obj) is True
|
||||
|
||||
@pytest.mark.skipif(
|
||||
tool.Blender.BLENDER_5,
|
||||
reason="Since Blender 5.0 `use_nodes` are always `True` and deprecated.",
|
||||
)
|
||||
def test_without_nodes_we_do_not_support_rendering(self):
|
||||
obj = bpy.data.materials.new("Material")
|
||||
obj.use_nodes = False
|
||||
tool.Style.set_use_nodes(obj, False)
|
||||
assert subject.can_support_rendering_style(obj) is False
|
||||
|
||||
|
||||
@@ -125,7 +130,7 @@ class TestGetSurfaceRenderingAttributes(NewFile):
|
||||
def test_get_different_surface_and_diffuse_colours_from_a_principled_bsdf(self):
|
||||
obj = bpy.data.materials.new("Material")
|
||||
obj.diffuse_color = [1, 1, 1, 1]
|
||||
obj.use_nodes = True
|
||||
tool.Style.set_use_nodes(obj, True)
|
||||
node = tool.Blender.get_material_node(obj, "BSDF_PRINCIPLED")
|
||||
assert node
|
||||
node.inputs["Alpha"].default_value = 0.8
|
||||
@@ -153,7 +158,7 @@ class TestGetSurfaceRenderingAttributes(NewFile):
|
||||
def test_get_rendering_styles_from_a_glossy_bsdf(self):
|
||||
obj = bpy.data.materials.new("Material")
|
||||
obj.diffuse_color = [1, 1, 1, 1]
|
||||
obj.use_nodes = True
|
||||
tool.Style.set_use_nodes(obj, True)
|
||||
output = tool.Blender.get_material_node(obj, "OUTPUT_MATERIAL")
|
||||
node = tool.Blender.get_material_node(obj, "BSDF_PRINCIPLED")
|
||||
assert obj.node_tree and node
|
||||
@@ -185,7 +190,7 @@ class TestGetSurfaceRenderingAttributes(NewFile):
|
||||
def test_get_rendering_styles_from_a_diffuse_bsdf(self):
|
||||
obj = bpy.data.materials.new("Material")
|
||||
obj.diffuse_color = [1, 1, 1, 1]
|
||||
obj.use_nodes = True
|
||||
tool.Style.set_use_nodes(obj, True)
|
||||
output = tool.Blender.get_material_node(obj, "OUTPUT_MATERIAL")
|
||||
node = tool.Blender.get_material_node(obj, "BSDF_PRINCIPLED")
|
||||
assert obj.node_tree and node and output
|
||||
@@ -217,7 +222,7 @@ class TestGetSurfaceRenderingAttributes(NewFile):
|
||||
def test_get_rendering_styles_from_a_glass_bsdf(self):
|
||||
obj = bpy.data.materials.new("Material")
|
||||
obj.diffuse_color = [1, 1, 1, 1]
|
||||
obj.use_nodes = True
|
||||
tool.Style.set_use_nodes(obj, True)
|
||||
output = tool.Blender.get_material_node(obj, "OUTPUT_MATERIAL")
|
||||
node = tool.Blender.get_material_node(obj, "BSDF_PRINCIPLED")
|
||||
assert obj.node_tree and node and output
|
||||
@@ -249,7 +254,7 @@ class TestGetSurfaceRenderingAttributes(NewFile):
|
||||
def test_get_rendering_styles_from_a_emission_bsdf(self):
|
||||
obj = bpy.data.materials.new("Material")
|
||||
obj.diffuse_color = [1, 1, 1, 1]
|
||||
obj.use_nodes = True
|
||||
tool.Style.set_use_nodes(obj, True)
|
||||
output = tool.Blender.get_material_node(obj, "OUTPUT_MATERIAL")
|
||||
node = tool.Blender.get_material_node(obj, "BSDF_PRINCIPLED")
|
||||
assert obj.node_tree and node and output
|
||||
@@ -280,7 +285,7 @@ class TestGetSurfaceRenderingAttributes(NewFile):
|
||||
def test_other_unsupported_bsdfs_copy_the_rendering_style_from_the_shading_colours_as_a_fallback(self):
|
||||
obj = bpy.data.materials.new("Material")
|
||||
obj.diffuse_color = [1, 1, 1, 1]
|
||||
obj.use_nodes = True
|
||||
tool.Style.set_use_nodes(obj, True)
|
||||
output = tool.Blender.get_material_node(obj, "OUTPUT_MATERIAL")
|
||||
node = tool.Blender.get_material_node(obj, "BSDF_PRINCIPLED")
|
||||
assert obj.node_tree and node and output
|
||||
|
||||
Reference in New Issue
Block a user