namespace Yw.WpfUI.Hydro { /// /// 简单高亮管理器 /// internal class SimpleHighlightManager { /// /// /// public SimpleHighlightManager(HelixViewport3D viewport) { _viewport = viewport; } /// /// 状态改变事件 /// public event Action StateChangedEvent; private readonly HelixViewport3D _viewport; private Visual3D _visual; /// /// 高亮 /// public void Highlight(Point pt) { var visual = _viewport.FindNearestVisual(pt); if (visual == null) { Reset(); return; } if (_visual == visual) { return; } Reset(); _visual = visual; this.StateChangedEvent?.Invoke(_visual, eHighlightType.Load); } //重置 private void Reset() { if (_visual != null) { this.StateChangedEvent?.Invoke(_visual, eHighlightType.Unload); _visual = null; } } } }