git.lucas.co / hou-control
git clone https://git.lucas.co/hou-control.git

commit7dc65f3f9099ffffefeb891e7b7e128bbbaeec08
parent06d931fff1
authorLucas Galante <lsgalante12@gmail.com>
date2026-04-16 22:51
hc: rename all '_enabled' settings to short versions for cleaner UI and code

 hc_settings.json                |  18 +++----
 python3.11libs/hc/hcguides.py   | 110 ++++++++++++++++++++--------------------
 python3.11libs/hc/hcsettings.py |   6 +--
 viewer_states/keycam.py         |  19 +++----
 4 files changed, 76 insertions(+), 77 deletions(-)

diff --git a/hc_settings.json b/hc_settings.json
index b816cc0..9bd7a20 100644
--- a/hc_settings.json
+++ b/hc_settings.json
@@ -3,15 +3,15 @@
     "keycam": {
         "guides": {
             "axis_size": 0.2,
-            "bbox_enabled": 0,
-            "cam_axis_enabled": 0,
-            "cam_geo_enabled": 1,
-            "perim_enabled": 0,
-            "pivot_2d_enabled": 0,
-            "pivot_3d_enabled": 0,
-            "pivot_axis_enabled": 1,
-            "ray_enabled": 0,
-            "tie_axis_to_radius_enabled": 0
+            "bbox": 0,
+            "cam_axis": 0,
+            "cam_geo": 1,
+            "perim": 0,
+            "pivot_2d": 0,
+            "pivot_3d": 0,
+            "pivot_axis": 1,
+            "ray": 0,
+            "tie_axis_to_radius": 0
         },
         "startup": {
             "center_on_geo": 1,
diff --git a/python3.11libs/hc/hcguides.py b/python3.11libs/hc/hcguides.py
index b179e1f..1c70e37 100644
--- a/python3.11libs/hc/hcguides.py
+++ b/python3.11libs/hc/hcguides.py
@@ -9,21 +9,21 @@ class HCGuides:
 
         self.axis_size = None
         self.tie_axis_to_radius = None
-        self.cam_axis_enabled = None
-        self.pivot_axis_enabled = None
-        self.bbox_enabled = None
-        self.perim_enabled = None
-        self.pivot_2d_enabled = None
-        self.pivot_3d_enabled = None
-        self.ray_enabled = None
-
-        self.cam_axis = hou.GeometryDrawable(
+        self.cam_axis = None
+        self.pivot_axis = None
+        self.bbox = None
+        self.perim = None
+        self.pivot_2d = None
+        self.pivot_3d = None
+        self.ray = None
+
+        self.cam_axis_drawable = hou.GeometryDrawable(
             scene_viewer=self.scene_viewer.hou_tab,
             geo_type=hou.drawableGeometryType.Line,
             name='cam_axis'
         )
 
-        self.pivot_axis = hou.GeometryDrawable(
+        self.pivot_axis_drawable = hou.GeometryDrawable(
             scene_viewer=self.scene_viewer.hou_tab,
             geo_type=hou.drawableGeometryType.Line,
             name='pivot_axis',
@@ -32,7 +32,7 @@ class HCGuides:
             }
         )
 
-        self.bbox = hou.GeometryDrawable(
+        self.bbox_drawable = hou.GeometryDrawable(
             scene_viewer=self.scene_viewer.hou_tab,
             geo_type=hou.drawableGeometryType.Line,
             name='bbox',
@@ -42,19 +42,19 @@ class HCGuides:
             }
         )
 
-        self.perim = hou.GeometryDrawable(
+        self.perim_drawable = hou.GeometryDrawable(
             scene_viewer=self.scene_viewer.hou_tab,
             geo_type=hou.drawableGeometryType.Line,
             name='perim'
         )
 
-        self.pivot_2d = hou.GeometryDrawable(
+        self.pivot_2d_drawable = hou.GeometryDrawable(
             scene_viewer=self.scene_viewer.hou_tab,
             geo_type=hou.drawableGeometryType.Line,
             name='pivot_2d'
         )
 
-        self.pivot_3d = hou.GeometryDrawable(
+        self.pivot_3d_drawable = hou.GeometryDrawable(
             scene_viewer=self.scene_viewer.hou_tab,
             geo_type=hou.drawableGeometryType.Face,
             name='pivot_3d',
@@ -64,7 +64,7 @@ class HCGuides:
             }
         )
 
-        self.ray = hou.GeometryDrawable(
+        self.ray_drawable = hou.GeometryDrawable(
             scene_viewer=self.scene_viewer.hou_tab,
             geo_type=hou.drawableGeometryType.Line,
             name='ray',
@@ -75,50 +75,48 @@ class HCGuides:
 
     def draw(self, kwargs):
         draw_handle = kwargs['draw_handle']
-        if self.bbox_enabled: self.bbox.draw(draw_handle, {})
-        if self.cam_axis_enabled: self.cam_axis.draw(draw_handle, {})
-        if self.pivot_axis_enabled: self.pivot_axis.draw(draw_handle, {})
-        if self.perim_enabled: self.perim.draw(draw_handle, {})
-        if self.pivot_2d_enabled: self.pivot_2d.draw(draw_handle, {})
-        if self.pivot_3d_enabled: self.pivot_3d.draw(draw_handle, {})
-        if self.ray_enabled: self.ray.draw(draw_handle, {})
+        if self.bbox: self.bbox_drawable.draw(draw_handle, {})
+        if self.cam_axis: self.cam_axis_drawable.draw(draw_handle, {})
+        if self.pivot_axis: self.pivot_axis_drawable.draw(draw_handle, {})
+        if self.perim: self.perim_drawable.draw(draw_handle, {})
+        if self.pivot_2d: self.pivot_2d_drawable.draw(draw_handle, {})
+        if self.pivot_3d: self.pivot_3d_drawable.draw(draw_handle, {})
+        if self.ray: self.ray_drawable.draw(draw_handle, {})
 
     def update(self):
         from hc import HCSettings
         prefs = HCSettings().prefs().get('keycam').get('guides')
         self.axis_size = prefs.get('axis_size')
         self.tie_axis_to_radius = prefs.get('tie_axis_to_radius')
-        self.bbox_enabled = prefs.get('bbox_enabled')
-        self.cam_axis_enabled = prefs.get('cam_axis_enabled')
-        self.cam_geo_enabled = prefs.get('cam_geo_enabled')
-        self.pivot_axis_enabled = prefs.get('pivot_axis_enabled')
-        self.pivot_2d_enabled = prefs.get('pivot_2d_enabled')
-        self.pivot_3d_enabled = prefs.get('pivot_3d_enabled')
-        self.perim_enabled = prefs.get('perim_enabled')
-        self.ray_enabled = prefs.get('ray_enabled')
+        self.bbox = prefs.get('bbox')
+        self.cam_axis = prefs.get('cam_axis')
+        self.cam_geo = prefs.get('cam_geo')
+        self.pivot_axis = prefs.get('pivot_axis')
+        self.pivot_2d = prefs.get('pivot_2d')
+        self.pivot_3d = prefs.get('pivot_3d')
+        self.perim = prefs.get('perim')
+        self.ray = prefs.get('ray')
 
-        if self.bbox_enabled: self.makeBbox()
-        self.bbox.show(self.bbox_enabled)
+        if self.bbox: self.makeBbox()
+        self.bbox_drawable.show(self.bbox)
 
-        if self.cam_axis_enabled: self.makeCamAxis()
-        self.cam_axis.show(self.cam_axis_enabled)
+        if self.cam_axis: self.makeCamAxis()
+        self.cam_axis_drawable.show(self.cam_axis)
 
-        # if self.cam_geo_enabled: break
+        if self.pivot_axis: self.makePivotAxis()
+        self.pivot_axis_drawable.show(self.pivot_axis)
 
-        if self.pivot_axis_enabled: self.makePivotAxis()
-        self.pivot_axis.show(self.pivot_axis_enabled)
+        if self.perim: self.makePerim()
+        self.perim_drawable.show(self.perim)
 
-        if self.perim_enabled: self.makePerim()
-        self.perim.show(self.perim_enabled)
+        if self.pivot_2d: self.makePivot2d()
+        self.pivot_2d_drawable.show(self.pivot_2d)
 
-        if self.pivot_2d_enabled: self.makePivot2d()
-        self.pivot_2d.show(self.pivot_2d_enabled)
+        if self.pivot_3d: self.makePivot3d()
+        self.pivot_3d_drawable.show(self.pivot_3d)
 
-        if self.pivot_3d_enabled: self.makePivot3d()
-        self.pivot_3d.show(self.pivot_3d_enabled)
-
-        if self.ray_enabled: self.makeRay()
-        self.ray.show(self.ray_enabled)
+        if self.ray: self.makeRay()
+        self.ray_drawable.show(self.ray)
 
 
     """ Construction """
@@ -137,7 +135,7 @@ class HCGuides:
             poly = geo.createPolygon(is_closed=False)
             poly.addVertex(pts[0])
             poly.addVertex(pts[1])
-        self.cam_axis.setGeometry(geo)
+        self.cam_axis_drawable.setGeometry(geo)
 
     def makePivotAxis(self):
         scale = self.axis_size
@@ -162,8 +160,8 @@ class HCGuides:
             poly = geo.createPolygon(is_closed=False)
             poly.addVertex(pts[0])
             poly.addVertex(pts[1])
-        self.pivot_axis.setGeometry(geo)
-        self.pivot_axis.setParams(
+        self.pivot_axis_drawable.setGeometry(geo)
+        self.pivot_axis_drawable.setParams(
             {'fade_factor': 0.0}
         )
 
@@ -179,7 +177,7 @@ class HCGuides:
             }
         )
         box.execute(guide_geo, [])
-        self.bbox.setGeometry(guide_geo)
+        self.bbox_drawable.setGeometry(guide_geo)
 
     def makePerim(self):
         guide_geo = hou.Geometry()
@@ -194,13 +192,13 @@ class HCGuides:
             }
         )
         circle.execute(guide_geo, [])
-        self.perim.setParams(
+        self.perim_drawable.setParams(
             {
                 'color1': hou.Vector4(1.0, 1.0, 1.0, 0.25),
                 'fade_factor': 1.0
             }
         )
-        self.perim.setGeometry(guide_geo)
+        self.perim_drawable.setGeometry(guide_geo)
 
     def makePivot2d(self):
         guide_geo = hou.Geometry()
@@ -214,13 +212,13 @@ class HCGuides:
             }
         )
         circle.execute(guide_geo, [])
-        self.pivot_2d.setParams(
+        self.pivot_2d_drawable.setParams(
             {
                 'color1': hou.Vector4(0.0, 0.0, 1, 1),
                 'fade_factor': 1.0
             }
         )
-        self.pivot_2d.setGeometry(guide_geo)
+        self.pivot_2d_drawable.setGeometry(guide_geo)
 
     def makePivot3d(self):
         guide_geo = hou.Geometry()
@@ -235,7 +233,7 @@ class HCGuides:
             }
         )
         sphere.execute(guide_geo, [])
-        self.pivot_3d.setGeometry(guide_geo)
+        self.pivot_3d_drawable.setGeometry(guide_geo)
 
     def makeRay(self):
         guide_geo = hou.Geometry()
@@ -244,4 +242,4 @@ class HCGuides:
         poly = guide_geo.createPolygon()
         poly.addVertex(pts[0])
         poly.addVertex(pts[1])
-        self.ray.setGeometry(guide_geo)
+        self.ray_drawable.setGeometry(guide_geo)
diff --git a/python3.11libs/hc/hcsettings.py b/python3.11libs/hc/hcsettings.py
index a6263d9..ac2ac82 100644
--- a/python3.11libs/hc/hcsettings.py
+++ b/python3.11libs/hc/hcsettings.py
@@ -83,9 +83,9 @@ class HCSettings:
 class HCSettingsPanel(QDialog):
     OBJECT_NAME = "hc_settings_panel"
     BOOL_HINT_KEYS = {
-        "bbox_enabled", "cam_axis_enabled", "cam_geo_enabled", "perim_enabled",
-        "pivot_2d_enabled", "pivot_3d_enabled", "pivot_axis_enabled", "ray_enabled",
-        "tie_axis_to_radius_enabled", "center_on_geo", "lock_cam", "reset",
+        "bbox", "cam_axis", "cam_geo", "perim",
+        "pivot_2d", "pivot_3d", "pivot_axis", "ray",
+        "tie_axis_to_radius", "center_on_geo", "lock_cam", "reset",
     }
 
     def __init__(self):
diff --git a/viewer_states/keycam.py b/viewer_states/keycam.py
index 52b8bd4..d99db81 100644
--- a/viewer_states/keycam.py
+++ b/viewer_states/keycam.py
@@ -120,8 +120,9 @@ class State(object):
             return res
         
         # Handle Guide toggles
-        if menu_item in self.guides.states:
-            self.guides.states[menu_item] = kwargs[menu_item]
+        if hasattr(self.guides, menu_item):
+            # Update the local attribute
+            setattr(self.guides, menu_item, kwargs[menu_item])
             self.guides.update()
             return True
             
@@ -134,13 +135,13 @@ class State(object):
 
         # Set checkbox states when opening guide menu
         if menu_id == 'guide_menu':
-            menu_item_states['cam_axis']['value'] = guides.cam_axis.visible()
-            menu_item_states['pivot_axis']['value'] = guides.pivot_axis.visible()
-            menu_item_states['bbox']['value'] = guides.bbox.visible()
-            menu_item_states['perim']['value'] = guides.perim.visible()
-            menu_item_states['pivot_2d']['value'] = guides.pivot_2d.visible()
-            menu_item_states['pivot_3d']['value'] = guides.pivot_3d.visible()
-            menu_item_states['ray']['value'] = guides.ray.visible()
+            menu_item_states['cam_axis']['value'] = bool(guides.cam_axis)
+            menu_item_states['pivot_axis']['value'] = bool(guides.pivot_axis)
+            menu_item_states['bbox']['value'] = bool(guides.bbox)
+            menu_item_states['perim']['value'] = bool(guides.perim)
+            menu_item_states['pivot_2d']['value'] = bool(guides.pivot_2d)
+            menu_item_states['pivot_3d']['value'] = bool(guides.pivot_3d)
+            menu_item_states['ray']['value'] = bool(guides.ray)
 
     def onParmChangeEvent(self, kwargs):
         parm_map = {