private void ShowResultList() { lvResult.BeginUpdate(); lvResult.Items.Clear(); List <VIZCore3D.NET.Data.ClashTestResultItem> items = null; if (clash.TestKind != Data.ClashTest.ClashTestKind.GROUP_VS_MOVING_GROUP) { items = vizcore3d.Clash.GetResultItem(clash, ckResultAssembly.Checked == true ? Manager.ClashManager.ResultGroupingOptions.ASSEMBLY : Manager.ClashManager.ResultGroupingOptions.PART); } else { //items = vizcore3d.Clash.GetResultItem(clash, 0, ckResultAssembly.Checked == true ? Manager.ClashManager.ResultGroupingOptions.ASSEMBLY : Manager.ClashManager.ResultGroupingOptions.PART); items = vizcore3d.Clash.GetResultAllSubItem(clash, ckResultAssembly.Checked == true ? Manager.ClashManager.ResultGroupingOptions.ASSEMBLY : Manager.ClashManager.ResultGroupingOptions.PART); } for (int i = 0; i < items.Count; i++) { VIZCore3D.NET.Data.ClashTestResultItem item = items[i]; ListViewItem lvi = new ListViewItem( new string[] { Convert.ToString(i + 1) , item.ID.ToString() , item.SUBID.ToString() , item.Path != null ? item.Path.ToString() : String.Empty , item.GetResultKindString() , item.NodeIndexA.ToString() , item.NodeIndexB.ToString() , item.NodeNameA , item.NodeNameB , item.Distance.ToString() , item.HotPoint.ToString() , item.FrameStringX , item.FrameStringY , item.FrameStringZ , item.Flag.ToString() , item.NodeIdA.ToString() , item.NodeIdB.ToString() , item.Comment1 , item.Comment2 , item.ParentNodeNameA , item.ParentNodeNameB , item.NodePathA , item.NodePathB } ); lvi.Tag = item; lvResult.Items.Add(lvi); } lvResult.EndUpdate(); }
private void ShowResultList(List <VIZCore3D.NET.Data.ClashTestResultItem> items) { lvResult.BeginUpdate(); lvResult.Items.Clear(); for (int i = 0; i < items.Count; i++) { VIZCore3D.NET.Data.ClashTestResultItem item = items[i]; ListViewItem lvi = new ListViewItem( new string[] { Convert.ToString(i + 1) , item.ID.ToString() , item.SUBID.ToString() , item.Path != null ? item.Path.ToString() : String.Empty , item.GetResultKindString() , item.NodeIndexA.ToString() , item.NodeIndexB.ToString() , item.NodeNameA , item.NodeNameB , item.Distance.ToString() , item.HotPoint.ToString() , item.FrameStringX , item.FrameStringY , item.FrameStringZ , item.Flag.ToString() , item.NodeIdA.ToString() , item.NodeIdB.ToString() , item.Comment1 , item.Comment2 , item.ParentNodeNameA , item.ParentNodeNameB , item.NodePathA , item.NodePathB } ); lvi.Tag = item; lvResult.Items.Add(lvi); } gbResult.Text = string.Format("Result : {0:N0} EA", lvResult.Items.Count); lvResult.EndUpdate(); }
private void lvResult_DoubleClick(object sender, EventArgs e) { if (lvResult.SelectedItems.Count == 0) { return; } if (lvResult.SelectedItems[0].Tag == null) { return; } VIZCore3D.NET.Data.ClashTestResultItem item = (VIZCore3D.NET.Data.ClashTestResultItem)lvResult.SelectedItems[0].Tag; vizcore3d.BeginUpdate(); // Xray Mode if (vizcore3d.View.XRay.Enable == false) { vizcore3d.View.XRay.Enable = true; } // Xray Mode Option vizcore3d.View.XRay.ColorType = Data.XRayColorTypes.OBJECT_COLOR; vizcore3d.View.XRay.SelectionObject3DType = Data.SelectionObject3DTypes.OPAQUE_OBJECT3D; // Clear Selection vizcore3d.View.XRay.Clear(); // Select vizcore3d.View.XRay.Select(new List <int>() { item.NodeIndexA, item.NodeIndexB }, true); // Fly vizcore3d.View.FlyToObject3d(new List <int>() { item.NodeIndexA, item.NodeIndexB }, 2); // Add Vertex :: HOT POINT vizcore3d.ShapeDrawing.Clear(); vizcore3d.ShapeDrawing.AddVertex(new List <Data.Vertex3D>() { item.HotPoint }, 0, Color.Red, 10.0f, 10.0f, true); // Set Pivot :: Rotation vizcore3d.View.SetPivotPosition(item.HotPoint); // Add Note :: Result Item VIZCore3D.NET.Data.Vertex3D v1 = vizcore3d.Object3D.GetSurfaceVertexClosestToModelCenter(new List <int>() { item.NodeIndexA }); VIZCore3D.NET.Data.Vertex3D v2 = vizcore3d.Object3D.GetSurfaceVertexClosestToModelCenter(new List <int>() { item.NodeIndexB }); vizcore3d.Review.Note.Clear(); vizcore3d.Review.Note.AddNoteSurface(item.NodeNameA, v1.Clone().AddValue(Data.Axis.Y, 1000.0f), v1); vizcore3d.Review.Note.AddNoteSurface(item.NodeNameB, v2.Clone().AddValue(Data.Axis.Y, 1000.0f), v2); vizcore3d.EndUpdate(); }
private void ShowResultList() { // 침투만 조회 bool PenetrationOnly = ckPenetration.Checked; lvResult.BeginUpdate(); lvResult.Items.Clear(); List <VIZCore3D.NET.Data.ClashTestResultItem> items = null; if (clash.TestKind != VIZCore3D.NET.Data.ClashTest.ClashTestKind.GROUP_VS_MOVING_GROUP) { items = vizcore3d.Clash.GetResultItem( clash , ckResultAssembly.Checked == true ? VIZCore3D.NET.Manager.ClashManager.ResultGroupingOptions.ASSEMBLY : VIZCore3D.NET.Manager.ClashManager.ResultGroupingOptions.PART ); } else { //items = vizcore3d.Clash.GetResultItem(clash, 0, ckResultAssembly.Checked == true ? Manager.ClashManager.ResultGroupingOptions.ASSEMBLY : Manager.ClashManager.ResultGroupingOptions.PART); items = vizcore3d.Clash.GetResultAllSubItem( clash , ckResultAssembly.Checked == true ? VIZCore3D.NET.Manager.ClashManager.ResultGroupingOptions.ASSEMBLY : VIZCore3D.NET.Manager.ClashManager.ResultGroupingOptions.PART ); } // 인접면 법선벡터 구하기 bool checkConnectedSurfaceNormalVector = ckConnectedSurfaceNormalVector.Checked; for (int i = 0; i < items.Count; i++) { VIZCore3D.NET.Data.ClashTestResultItem item = items[i]; string normal = String.Empty; string projection1 = String.Empty; string projection2 = String.Empty; if (checkConnectedSurfaceNormalVector == true) { VIZCore3D.NET.Data.ConnectedSurfaceNormalVectorItem normalVector = vizcore3d.GeometryUtility.GetConnectedSurfaceNormalVector( item.NodeIndexA , item.NodeIndexB , item.HotPoint , 10.0f ); normal = normalVector.Normal.ToString(); projection1 = normalVector.Projection1.ToString(); projection2 = normalVector.Projection2.ToString(); } ListViewItem lvi = new ListViewItem( new string[] { Convert.ToString(i + 1) , item.ID.ToString() , item.SUBID.ToString() , item.Path != null ? item.Path.ToString() : String.Empty , item.GetResultKindString() , item.NodeIndexA.ToString() , item.NodeIndexB.ToString() , item.NodeNameA , item.NodeNameB , item.Distance.ToString() , item.HotPoint.ToString() , item.FrameStringX , item.FrameStringY , item.FrameStringZ , item.Flag.ToString() , item.NodeIdA.ToString() , item.NodeIdB.ToString() , item.Comment1 , item.Comment2 , item.ParentNodeNameA , item.ParentNodeNameB , item.NodePathA , item.NodePathB , normal , projection1 , projection2 } ); lvi.Tag = item; if (PenetrationOnly == true && item.ResultKind == Data.ClashTestResultItem.ClashResultKind.PENETRATION) { lvResult.Items.Add(lvi); } else if (PenetrationOnly == false) { lvResult.Items.Add(lvi); } } gbResult.Text = string.Format("Result : {0:N0} EA", lvResult.Items.Count); lvResult.EndUpdate(); }