fix(studio): 统一 Box/Mini 箭头网格与强度着色

This commit is contained in:
ykcheungab
2026-10-10 16:07:26 +08:00
parent 48de5b74e6
commit f94b51e2de
4 changed files with 47 additions and 12 deletions
+7 -8
View File
@@ -1734,16 +1734,15 @@ class StudioMainWindow(QMainWindow):
return wanted
def _arrow_policy(self):
"""The one flow-arrow policy the 2D canvas and the 3D surface both sample with.
"""Use the box recording grid or the finger's shared 2D/3D display policy.
The thresholds and the sample grid are display settings (the pane's), so the
policy is built from them here and handed to the 2D renderer; the 3D composer
builds the same value from the same settings object
(``scene3d.composer`` via ``visual_policy.policy_for_settings``). That is what
makes the two figures trigger at the same strength: previously each path built
its own policy *and* the 3D one applied a hysteresis the canvas did not, so the
same frame could carry arrows in one figure and none in the other.
Box and mini analysis store samples on the SDK box grid; live rendering must
use that same grid. Finger keeps one policy for its 2D and 3D views.
"""
if self._draw_style() != "finger":
from orisys_app_shared.acquisition.arrows import sdk_box_policy
return sdk_box_policy()
from orisys_app_shared.scene3d.visual_policy import policy_for_settings
return policy_for_settings(self.mesh3d_panel.display_settings())