[Bf-extensions-cvs] [e5c3ae31] master: Addons: Adopt for Dependency Graph API changes

Sergey Sharybin noreply at git.blender.org
Thu May 16 11:49:57 CEST 2019


Commit: e5c3ae31189b3acb54d33061da2bd27c3d0abad5
Author: Sergey Sharybin
Date:   Wed May 15 14:11:13 2019 +0200
Branches: master
https://developer.blender.org/rBAe5c3ae31189b3acb54d33061da2bd27c3d0abad5

Addons: Adopt for Dependency Graph API changes

Mainly search-and-replace approach.

Tested the enabled-by-default export/import addons. Seems to work with
an exception of X3D which is still referencing Blender Internal material
properties.

Reviewers: brecht

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D4866

===================================================================

M	add_curve_ivygen.py
M	animation_add_corrective_shape_key.py
M	blenderkit/asset_inspector.py
M	blenderkit/ui.py
M	blenderkit/utils.py
M	io_export_dxf/primitive_exporters/mesh_exporter.py
M	io_export_pc2.py
M	io_export_unreal_psk_psa.py
M	io_mesh_ply/export_ply.py
M	io_mesh_raw/export_raw.py
M	io_mesh_stl/blender_utils.py
M	io_mesh_uv_layout/__init__.py
M	io_scene_3ds/export_3ds.py
M	io_scene_fbx/export_fbx_bin.py
M	io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py
M	io_scene_ms3d/ms3d_export.py
M	io_scene_obj/export_obj.py
M	io_scene_obj/import_obj.py
M	io_scene_vrml2/export_vrml2.py
M	io_scene_x/export_x.py
M	io_scene_x3d/export_x3d.py
M	io_shape_mdd/export_mdd.py
M	mesh_looptools.py
M	mesh_snap_utilities_line/common_classes.py
M	mesh_snap_utilities_line/widgets.py
M	mesh_tissue/lattice.py
M	mesh_tissue/tessellate_numpy.py
M	mesh_tissue/uv_to_mesh.py
M	object_carver/carver_utils.py
M	object_fracture_cell/fracture_cell_setup.py
M	object_print3d_utils/mesh_helpers.py
M	object_scatter/operator.py
M	oscurart_tools/mesh/shapes_to_objects.py
M	render_povray/render.py

===================================================================

diff --git a/add_curve_ivygen.py b/add_curve_ivygen.py
index 8e1965f5..60f6ec59 100644
--- a/add_curve_ivygen.py
+++ b/add_curve_ivygen.py
@@ -438,7 +438,8 @@ def bvhtree_from_object(ob):
     import bmesh
     bm = bmesh.new()
 
-    mesh = ob.to_mesh(bpy.context.depsgraph, True)
+    depsgraph = context.evaluated_depsgraph_get()
+    mesh = ob.evaluated_get(depsgraph).to_mesh()
     bm.from_mesh(mesh)
     bm.transform(ob.matrix_world)
 
diff --git a/animation_add_corrective_shape_key.py b/animation_add_corrective_shape_key.py
index ed72fcae..e40a7919 100644
--- a/animation_add_corrective_shape_key.py
+++ b/animation_add_corrective_shape_key.py
@@ -70,7 +70,8 @@ def extract_vert_coords(ob, verts):
 def extract_mapped_coords(ob, shape_verts):
     totvert = len(shape_verts)
 
-    mesh = ob.to_mesh(bpy.context.scene, True, 'PREVIEW')
+    depsgraph = context.evaluated_depsgraph_get()
+    mesh = ob.evaluated_get(depsgraph).to_mesh()
 
     # cheating, the original mapped verts happen
     # to be at the end of the vertex array
@@ -201,7 +202,8 @@ class add_corrective_pose_shape(bpy.types.Operator):
 
 
 def func_object_duplicate_flatten_modifiers(context, obj):
-    mesh = obj.to_mesh(context.scene, True, 'PREVIEW')
+    depsgraph = context.evaluated_depsgraph_get()
+    mesh = obj.evaluated_get(depsgraph).to_mesh()
     name = obj.name + "_clean"
     new_object = bpy.data.objects.new(name, mesh)
     new_object.data = mesh
diff --git a/blenderkit/asset_inspector.py b/blenderkit/asset_inspector.py
index 1db9f6b4..93a39d59 100644
--- a/blenderkit/asset_inspector.py
+++ b/blenderkit/asset_inspector.py
@@ -205,7 +205,8 @@ def check_meshprops(props, obs):
     for ob in obs:
         if ob.type == 'MESH' or ob.type == 'CURVE':
             if ob.type == 'CURVE':
-                mesh = ob.to_mesh(depsgraph=bpy.context.depsgraph, apply_modifiers=True, calc_undeformed=False)
+                depsgraph = bpy.context.evaluated_depsgraph_get()
+                mesh = ob.evaluated_get(depsgraph).to_mesh()
             else:
                 mesh = ob.data
             fco = len(mesh.polygons)
diff --git a/blenderkit/ui.py b/blenderkit/ui.py
index 63890950..fd475af9 100644
--- a/blenderkit/ui.py
+++ b/blenderkit/ui.py
@@ -1241,8 +1241,8 @@ class AssetBarOperator(bpy.types.Operator):
                             if object is not None and not object.is_library_indirect:
                                 target_object = object.name
                                 # create final mesh to extract correct material slot
-                                temp_mesh = object.to_mesh(depsgraph=bpy.context.depsgraph, apply_modifiers=True,
-                                                           calc_undeformed=False)
+                                depsgraph = bpy.context.evaluated_depsgraph_get()
+                                temp_mesh = object.evaluated_get(depsgraph).to_mesh()
                                 target_slot = temp_mesh.polygons[face_index].material_index
                             else:
                                 self.report({'WARNING'}, "Invalid or library object as input:")
diff --git a/blenderkit/utils.py b/blenderkit/utils.py
index 56e9a0ef..c6e97fa9 100644
--- a/blenderkit/utils.py
+++ b/blenderkit/utils.py
@@ -300,9 +300,13 @@ def get_bounds_snappable(obs, use_modifiers=False):
         if ob.type == 'MESH' or ob.type == 'CURVE':
             # If to_mesh() works we can use it on curves and any other ob type almost.
             # disabled to_mesh for 2.8 by now, not wanting to use dependency graph yet.
-            mesh = ob.to_mesh(depsgraph=bpy.context.depsgraph, apply_modifiers=True, calc_undeformed=False)
+            depsgraph = bpy.context.evaluated_depsgraph_get()
+            mesh = ob.evaluated_get(depsgraph).to_mesh()
 
-            # to_mesh(context.depsgraph, apply_modifiers=self.applyModifiers, calc_undeformed=False)
+            # if self.applyModifiers:
+            #     evaluated_get(depsgraph).to_mesh()
+            # else:
+            #     to_mesh()
             obcount += 1
             for c in mesh.vertices:
                 coord = c.co
@@ -339,7 +343,8 @@ def get_bounds_worldspace(obs, use_modifiers=False):
         # bb=ob.bound_box
         mw = ob.matrix_world
         if ob.type == 'MESH' or ob.type == 'CURVE':
-            mesh = ob.to_mesh(depsgraph=bpy.context.depsgraph, apply_modifiers=True, calc_undeformed=False)
+            depsgraph = bpy.context.evaluated_depsgraph_get()
+            mesh = ob.evaluated_get(depsgraph).to_mesh()
             obcount += 1
             for c in mesh.vertices:
                 coord = c.co
diff --git a/io_export_dxf/primitive_exporters/mesh_exporter.py b/io_export_dxf/primitive_exporters/mesh_exporter.py
index 5d29e2cc..358bc2e3 100644
--- a/io_export_dxf/primitive_exporters/mesh_exporter.py
+++ b/io_export_dxf/primitive_exporters/mesh_exporter.py
@@ -52,7 +52,8 @@ class MeshDXFExporter(BasePrimitiveDXFExporter):
     def _getMeshData(self, ctx, obj, settings):
         if obj.modifiers and settings['apply_modifiers']:
             #this gets mesh with applied modifiers
-            data = obj.to_mesh(ctx.scene, True, 'PREVIEW')
+            depsgraph = ctx.evaluated_depsgraph_get()
+            data = obj.evaluated_get(depsgraph).to_mesh()
         else:
     #        me = ob.getData(mesh=1) # is a Mesh if mesh>0 (otherwise it is a NMesh)
             data = obj.data
diff --git a/io_export_pc2.py b/io_export_pc2.py
index 7384e21e..5e69d14f 100644
--- a/io_export_pc2.py
+++ b/io_export_pc2.py
@@ -63,7 +63,12 @@ def do_export(context, props, filepath):
     end = props.range_end
     sampling = float(props.sampling)
     apply_modifiers = props.apply_modifiers
-    me = ob.to_mesh(context.depsgraph, apply_modifiers)
+    depsgraph = None
+    if apply_modifiers:
+        depsgraph = context.evaluated_depsgraph_get()
+        me = ob.evaluated_get(depsgraph).to_mesh()
+    else:
+        me = ob.to_mesh()
     vertCount = len(me.vertices)
     sampletimes = get_sampled_frames(start, end, sampling)
     sampleCount = len(sampletimes)
@@ -79,7 +84,10 @@ def do_export(context, props, filepath):
     for frame in sampletimes:
         # stupid modf() gives decimal part first!
         sc.frame_set(int(frame[1]), subframe=frame[0])
-        me = ob.to_mesh(context.depsgraph, apply_modifiers)
+        if apply_modifiers:
+            me = ob.evaluated_get(depsgraph).to_mesh()
+        else:
+            me = ob.to_mesh()
 
         if len(me.vertices) != vertCount:
             bpy.data.meshes.remove(me, do_unlink=True)
diff --git a/io_export_unreal_psk_psa.py b/io_export_unreal_psk_psa.py
index c4fb410e..4851586b 100644
--- a/io_export_unreal_psk_psa.py
+++ b/io_export_unreal_psk_psa.py
@@ -981,7 +981,8 @@ def triangulate_mesh(object):
     view_layer = bpy.context.view_layer
 
     me_ob = object.copy()
-    me_ob.data = object.to_mesh(bpy.context.scene, True, 'PREVIEW')  # write data object
+    depsgraph = bpy.context.evaluated_depsgraph_get()
+    me_ob.data = object.evaluated_get(depsgraph).to_mesh()  # write data object
     bpy.context.collection.objects.link(me_ob)
     bpy.context.scene.update()
     bpy.ops.object.mode_set(mode='OBJECT')
@@ -1006,7 +1007,7 @@ def triangulate_mesh(object):
 
     verbose("Triangulated mesh")
 
-    me_ob.data = me_ob.to_mesh(bpy.context.scene, True, 'PREVIEW')  # write data object
+    me_ob.data = me_ob.evaluated_get(depsgraph).to_mesh()  # write data object
     bpy.context.scene.update()
     return me_ob
 
@@ -2100,7 +2101,8 @@ def rebuildmesh(obj):
     smoothings = []
     uvfaces = []
     # print("creating array build mesh...")
-    mmesh = obj.to_mesh(bpy.context.scene, True, 'PREVIEW')
+    depsgraph = bpy.context.evaluated_depsgraph_get()
+    mmesh = obj.evaluated_get(depsgraph).to_mesh()
     uv_layer = mmesh.tessface_uv_textures.active
 
     for face in mmesh.tessfaces:
diff --git a/io_mesh_ply/export_ply.py b/io_mesh_ply/export_ply.py
index 3a5ef0ae..f465ed91 100644
--- a/io_mesh_ply/export_ply.py
+++ b/io_mesh_ply/export_ply.py
@@ -202,7 +202,8 @@ def save(
         bpy.ops.object.mode_set(mode='OBJECT')
 
     if use_mesh_modifiers and obj.modifiers:
-        mesh = obj.to_mesh(context.depsgraph, True)
+        depsgraph = context.evaluated_depsgraph_get()
+        mesh = obj.evaluated_get(depsgraph).to_mesh()
 
     else:
         mesh = obj.data.copy()
diff --git a/io_mesh_raw/export_raw.py b/io_mesh_raw/export_raw.py
index b5c5ef36..8672134a 100644
--- a/io_mesh_raw/export_raw.py
+++ b/io_mesh_raw/export_raw.py
@@ -64,12 +64,13 @@ def write(filepath,
           ):
 
     scene = bpy.context.scene
+    depsgraph = bpy.context.evaluated_depsgraph_get()
 
     faces = []
     for obj in bpy.context.selected_objects:
         if applyMods or obj.type != 'MESH':
             try:
-                me = obj.to_mesh(scene, True, "PREVIEW")
+                me = obj.evaluated_get(depsgraph).to_mesh()
             except:
                 me = None
             is_tmp_mesh = True
diff --git a/io_mesh_stl/blender_utils.py b/io_mesh_stl/blender_utils.py
index fcc4889a..088caa8e 100644
--- a/io_mesh_stl/blender_utils.py
+++ b/io_mesh_stl/blender_utils.py
@@ -82,7 +82,11 @@ def faces_from_mesh(ob, global_matrix, use_mesh_modifiers=False):
 
     # get the modifiers
     try:
-        mesh = ob.to_mesh(bpy.context.depsgraph, use_mesh_modifiers)
+        if use_mesh_modifiers:
+            depsgraph = bpy.context.evaluated_depsgraph_get()
+            mesh = ob.evaluated_get(depsgraph).to_mesh()
+        else:
+            mesh = ob.to_mesh()
     except RuntimeError:
         return
 
diff --git a/io_mesh_uv_layout/__init__.py b/io_mesh_uv_layout/__init__.py
index 85d55b28..d068a008 100644
--- a/io_mesh_uv_layout/__init__.py
+++ b/io_mesh_uv_layout/__init__.py
@@ -152,9 +152,10 @@ class ExportUVLayout(bpy.types.Operator):
         return {'FINISHED'}
 
     def iter_meshes_to_export(self, context):
+        depsgraph = context.evaluated_depsgraph_get()
         for obj in self.iter_objects_to_export(context):
             if self.modified:
-                yield obj.to_mesh(context.depsgraph, apply_modifiers=True)
+    

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-extensions-cvs mailing list