3D-Print: make sure all UI panels have poll method

This commit is contained in:
Mikhail Rachinskiy 2019-10-09 19:58:36 +04:00
parent 6306134a0d
commit 5c0205e95e
2 changed files with 8 additions and 8 deletions

View File

@ -344,7 +344,7 @@ class MESH_OT_print3d_clean_distorted(Operator):
bl_description = "Tessellate distorted faces"
bl_options = {'REGISTER', 'UNDO'}
angle_distort: FloatProperty(
angle: FloatProperty(
name="Angle",
description="Limit for checking distorted faces",
subtype='ANGLE',
@ -357,7 +357,7 @@ class MESH_OT_print3d_clean_distorted(Operator):
obj = context.active_object
bm = mesh_helpers.bmesh_from_object(obj)
bm.normal_update()
elems_triangulate = [ele for ele in bm.faces if mesh_helpers.face_is_distorted(ele, self.angle_distort)]
elems_triangulate = [ele for ele in bm.faces if mesh_helpers.face_is_distorted(ele, self.angle)]
if elems_triangulate:
bmesh.ops.triangulate(bm, faces=elems_triangulate)
@ -369,7 +369,7 @@ class MESH_OT_print3d_clean_distorted(Operator):
def invoke(self, context, event):
print_3d = context.scene.print_3d
self.angle_distort = print_3d.angle_distort
self.angle = print_3d.angle_distort
return self.execute(context)

View File

@ -31,6 +31,11 @@ class Setup:
bl_space_type = 'VIEW_3D'
bl_region_type = 'UI'
@classmethod
def poll(cls, context):
obj = context.active_object
return obj is not None and obj.type == 'MESH' and obj.mode in {'OBJECT', 'EDIT'}
class VIEW3D_PT_print3d_analyze(Panel, Setup):
bl_label = "Analyze"
@ -41,11 +46,6 @@ class VIEW3D_PT_print3d_analyze(Panel, Setup):
bmesh.types.BMFace: 'FACESEL',
}
@classmethod
def poll(cls, context):
obj = context.active_object
return obj is not None and obj.type == 'MESH' and obj.mode in {'OBJECT', 'EDIT'}
def draw_report(self, context):
layout = self.layout
info = report.info()