diff options
Diffstat (limited to 'mesh_tissue/tessellate_numpy.py')
-rw-r--r-- | mesh_tissue/tessellate_numpy.py | 41 |
1 files changed, 18 insertions, 23 deletions
diff --git a/mesh_tissue/tessellate_numpy.py b/mesh_tissue/tessellate_numpy.py index 8803966d..07c4fc87 100644 --- a/mesh_tissue/tessellate_numpy.py +++ b/mesh_tissue/tessellate_numpy.py @@ -72,9 +72,13 @@ def tassellate(ob0, ob1, offset, zscale, gen_modifiers, com_modifiers, mode, random.seed(rand_seed) old_me0 = ob0.data # Store generator mesh + if gen_modifiers or com_modifiers: + depsgraph = context.evaluated_depsgraph_get() + else: + depsgraph = None + if gen_modifiers: # Apply generator modifiers - me0 = ob0.to_mesh(bpy.context.scene, apply_modifiers=True, - settings='PREVIEW') + me0 = ob0.evaluated_get(depsgraph).to_mesh() else: me0 = ob0.data ob0.data = me0 @@ -92,8 +96,7 @@ def tassellate(ob0, ob1, offset, zscale, gen_modifiers, com_modifiers, mode, # Apply component modifiers if com_modifiers: - me1 = ob1.to_mesh(bpy.context.scene, apply_modifiers=True, - settings='PREVIEW') + me1 = ob1.evaluated_get(depsgraph).to_mesh() else: me1 = ob1.data @@ -666,13 +669,14 @@ class tessellate(Operator): col.prop(self, "object_name") # Count number of faces + if self.gen_modifiers or self.com_modifiers: + depsgraph = context.evaluated_depsgraph_get() + else: + depsgraph = None try: polygons = 0 if self.gen_modifiers: - me_temp = ob0.to_mesh( - bpy.context.scene, - apply_modifiers=True, settings='PREVIEW' - ) + me_temp = ob0.evaluated_get(depsgraph).to_mesh() else: me_temp = ob0.data @@ -684,11 +688,7 @@ class tessellate(Operator): polygons += 1 if self.com_modifiers: - me_temp = bpy.data.objects[self.component].to_mesh( - bpy.context.scene, - apply_modifiers=True, - settings='PREVIEW' - ) + me_temp = bpy.data.objects[self.component].evaluated_get(depsgraph).to_mesh() else: me_temp = bpy.data.objects[self.component].data polygons *= len(me_temp.polygons) @@ -1233,15 +1233,14 @@ class settings_tessellate(Operator): row.prop(self, "bool_selection", text="On selected Faces") col.separator() + if self.gen_modifiers or self.com_modifiers: + depsgraph = context.evaluated_depsgraph_get() + # Count number of faces try: polygons = 0 if self.gen_modifiers: - me_temp = bpy.data.objects[self.generator].to_mesh( - bpy.context.scene, - apply_modifiers=True, - settings='PREVIEW' - ) + me_temp = bpy.data.objects[self.generator].evaluated_get(depsgraph).to_mesh() else: me_temp = bpy.data.objects[self.generator].data @@ -1253,11 +1252,7 @@ class settings_tessellate(Operator): polygons += 1 if self.com_modifiers: - me_temp = bpy.data.objects[self.component].to_mesh( - bpy.context.scene, - apply_modifiers=True, - settings='PREVIEW' - ) + me_temp = bpy.data.objects[self.component].evaluated_get(depsgraph).to_mesh() else: me_temp = bpy.data.objects[self.component].data polygons *= len(me_temp.polygons) |