From f589894c84d47b9671eef6d3a8337b6b51b32edb Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期二, 21 一月 2025 12:15:39 +0800 Subject: [PATCH] 阀门视图修改 --- WinFrmUI/Yw.WinFrmUI.Hydro.L3d.Core/02-panel/NetworkPanel.cs | 64 ++++++++++++++++++++++++++----- 1 files changed, 53 insertions(+), 11 deletions(-) diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.L3d.Core/02-panel/NetworkPanel.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.L3d.Core/02-panel/NetworkPanel.cs index 13b48da..e4317df 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.L3d.Core/02-panel/NetworkPanel.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.L3d.Core/02-panel/NetworkPanel.cs @@ -1,6 +1,4 @@ -锘縰sing DevExpress.CodeParser; -using DevExpress.XtraCharts.Native; -using Yw.Untity; +锘縰sing Yw.Untity; namespace Yw.WinFrmUI.HydroL3d { @@ -88,12 +86,22 @@ // 鍒涘缓閫忚鎶曞奖鍙樻崲 gl.Perspective(_paras.Perspective.Fovy, _paras.Perspective.Aspect, _paras.Perspective.Near, _paras.Perspective.Far); + //gl.LoadIdentity(); + //gl.Ortho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0); + + gl.LookAt(_paras.LookAt.Eye.X, _paras.LookAt.Eye.Y, _paras.LookAt.Eye.Z, + _paras.LookAt.Center.X, _paras.LookAt.Center.Y, _paras.LookAt.Center.Z, + _paras.LookAt.Up.X, _paras.LookAt.Up.Y, _paras.LookAt.Up.Z); // 璁剧疆褰撳墠鐭╅樀涓烘ā鍨嬭鍥剧煩闃� gl.MatrixMode(OpenGL.GL_MODELVIEW); //閲嶇疆褰撳墠鎸囧畾鐨勭煩闃典负鍗曚綅鐭╅樀,灏嗗綋鍓嶇殑鐢ㄦ埛鍧愭爣绯荤殑鍘熺偣绉诲埌浜嗗睆骞曚腑蹇� gl.LoadIdentity(); + + + + //骞崇Щ gl.Translate(_paras.Translation.X, _paras.Translation.Y, _paras.Translation.Z); @@ -110,9 +118,40 @@ _network.Draw(gl); - gl.LookAt(_paras.LookAt.Eye.X, _paras.LookAt.Eye.Y, _paras.LookAt.Eye.Z, - _paras.LookAt.Center.X, _paras.LookAt.Center.Y, _paras.LookAt.Center.Z, - _paras.LookAt.Up.X, _paras.LookAt.Up.Y, _paras.LookAt.Up.Z); + //float[] minCorner = { _paras.BoundingBox.Min.X, _paras.BoundingBox.Min.Y, _paras.BoundingBox.Min.Z }; + //float[] maxCorner = { _paras.BoundingBox.Max.X, _paras.BoundingBox.Max.Y, _paras.BoundingBox.Max.Z }; + + //gl.Begin(OpenGL.GL_POINT); + //gl.Vertex(minCorner[0], minCorner[1], minCorner[2]); + //gl.End(); + + //gl.Begin(OpenGL.GL_POINT); + //gl.Vertex(maxCorner[0], maxCorner[1], maxCorner[2]); + //gl.End(); + + //gl.Begin(OpenGL.GL_LINE_LOOP); + //// 缁樺埗搴曢潰 + //gl.Vertex(minCorner[0], minCorner[1], minCorner[2]); + //gl.Vertex(maxCorner[0], minCorner[1], minCorner[2]); + //gl.Vertex(maxCorner[0], maxCorner[1], minCorner[2]); + //gl.Vertex(minCorner[0], maxCorner[1], minCorner[2]); + + //// 缁樺埗椤堕潰 + //gl.Vertex(minCorner[0], minCorner[1], maxCorner[2]); + //gl.Vertex(maxCorner[0], minCorner[1], maxCorner[2]); + //gl.Vertex(maxCorner[0], maxCorner[1], maxCorner[2]); + //gl.Vertex(minCorner[0], maxCorner[1], maxCorner[2]); + + //// 杩炴帴搴曢潰鍜岄《闈㈢殑杈� + //gl.Vertex(minCorner[0], minCorner[1], minCorner[2]); + //gl.Vertex(minCorner[0], minCorner[1], maxCorner[2]); + //gl.Vertex(maxCorner[0], minCorner[1], minCorner[2]); + //gl.Vertex(maxCorner[0], minCorner[1], maxCorner[2]); + //gl.Vertex(maxCorner[0], maxCorner[1], minCorner[2]); + //gl.Vertex(maxCorner[0], maxCorner[1], maxCorner[2]); + //gl.Vertex(minCorner[0], maxCorner[1], minCorner[2]); + //gl.Vertex(minCorner[0], maxCorner[1], maxCorner[2]); + //gl.End(); gl.Flush(); //寮哄埗鍒锋柊 @@ -176,8 +215,8 @@ int deltaX = e.X - _mouseLeftDownRotatePoint.X; int deltaY = e.Y - _mouseLeftDownRotatePoint.Y; - _rotationX += deltaY * 0.05f; - _rotationY += deltaX * 0.05f; + _rotationX += deltaY * 0.1f; + _rotationY += deltaX * 0.1f; _mouseLeftDownRotatePoint = e.Location; return true; @@ -291,7 +330,6 @@ { this.openGLControl1.Invalidate(); } - } private void openGLControl1_MouseUp(object sender, MouseEventArgs e) @@ -311,9 +349,13 @@ return; } var pt = this.openGLControl1.PointToClient(MousePosition); - var list = this.openGLControl1.OpenGL.UnProject(pt.X, pt.Y, 0); + var list = this.openGLControl1.OpenGL.UnProject(pt.X, this.openGLControl1.Height - pt.Y, 0); var wpt = new Point3d(list[0], list[1], list[2]); - _network.Hover(wpt); + var list1 = _network.Hover(wpt); + if (list1 != null && list1.Count > 0) + { + + } } private void openGLControl1_MouseDoubleClick(object sender, MouseEventArgs e) -- Gitblit v1.9.3