Fix bug where grid decorator only considered hide states, not hide viewport state or local isolation, etc

This commit is contained in:
Dion Moult
2025-10-07 14:44:57 +11:00
parent 2e4b0e83a2
commit bd0cfa5366
@@ -70,7 +70,7 @@ class GridDecorator:
grid_props = tool.Spatial.get_grid_props() grid_props = tool.Spatial.get_grid_props()
for axis in grid_props.grid_axes: for axis in grid_props.grid_axes:
if not (obj := axis.obj) or obj.hide_get() == True: if not (obj := axis.obj) or obj.visible_get() is False:
continue continue
if obj.select_get() and context.mode != "OBJECT": if obj.select_get() and context.mode != "OBJECT":
continue continue
@@ -125,21 +125,22 @@ class GridDecorator:
unselected_edges = [] unselected_edges = []
grid_props = tool.Spatial.get_grid_props() grid_props = tool.Spatial.get_grid_props()
for axis in grid_props.grid_axes: for axis in grid_props.grid_axes:
if (obj := axis.obj) and obj.hide_get() == False: if not (obj := axis.obj) or obj.visible_get() is False:
if obj.select_get(): continue
if context.mode != "OBJECT": if obj.select_get():
continue if context.mode != "OBJECT":
edges = selected_edges continue
verts = selected_verts edges = selected_edges
else: verts = selected_verts
edges = unselected_edges else:
verts = unselected_verts edges = unselected_edges
i = len(verts) verts = unselected_verts
edges.append([i, i + 1]) i = len(verts)
matrix_world = obj.matrix_world edges.append([i, i + 1])
v1 = matrix_world @ obj.data.vertices[0].co matrix_world = obj.matrix_world
v2 = matrix_world @ obj.data.vertices[1].co v1 = matrix_world @ obj.data.vertices[0].co
verts.extend([v1, v2]) v2 = matrix_world @ obj.data.vertices[1].co
verts.extend([v1, v2])
if unselected_verts: if unselected_verts:
self.draw_batch("LINES", unselected_verts, decorator_color_background, unselected_edges) self.draw_batch("LINES", unselected_verts, decorator_color_background, unselected_edges)