Example #1
0
        private void SearchNode_OnQuickSearchViewEvent(object sender, Dialogs.QuickSearchViewEventArgs e)
        {
            // 검색 결과 목록에서 항목 선택 시, 화면에 하이라이트
            if (e.Xray == true)
            {
                if (vizcore3d.View.XRay.Enable == false)
                {
                    vizcore3d.View.XRay.Enable = true;
                }

                vizcore3d.View.XRay.Clear();

                vizcore3d.View.XRay.Select(new List <int> {
                    e.ResultNode.Index
                }, true);

                vizcore3d.Object3D.Select(Data.Object3dSelectionModes.DESELECT_ALL);
                vizcore3d.Object3D.Select(new List <int> {
                    e.ResultNode.Index
                }, true);
            }
            else
            {
                if (vizcore3d.View.XRay.Enable == true)
                {
                    vizcore3d.View.XRay.Enable = false;
                }

                vizcore3d.Object3D.Select(Data.Object3dSelectionModes.DESELECT_ALL);
                vizcore3d.Object3D.Select(new List <int> {
                    e.ResultNode.Index
                }, true);
            }

            if (e.FlyToObject == true)
            {
                vizcore3d.View.FlyToObject3d(new List <int> {
                    e.ResultNode.Index
                }, 1.0f);
            }
            else
            {
                vizcore3d.View.MoveCenterToObject3d();
            }
        }
Example #2
0
        private void lvResult_SelectedIndexChanged(object sender, EventArgs e)
        {
            // 검색 결과 선택
            if (lvResult.SelectedItems.Count == 0)
            {
                return;
            }

            ListViewItem lvi = lvResult.SelectedItems[0];

            if (lvi == null)
            {
                return;
            }
            if (lvi.Tag == null)
            {
                return;
            }

            Data.Node node = (Data.Node)lvi.Tag;
            if (node == null)
            {
                return;
            }

            if (OnQuickSearchViewEvent == null)
            {
                return;
            }

            // 검색 결과 항목에 대한 파라미터 생성
            QuickSearchViewEventArgs args = new QuickSearchViewEventArgs();

            args.ResultNode  = node;
            args.FlyToObject = ckFlyToObject.Checked;
            args.Xray        = ckXray.Checked;

            // 이벤트 발생해서, 결과 조회 요청
            OnQuickSearchViewEvent(this, args);
        }