Shuxia Ning
2024-12-23 a97513ccbb97b2c471e90b032fabdd2e709b7f32
WinFrmUI/Yw.WinFrmUI.Hydro.L3d.Core/02-panel/NetworkPanel.cs
@@ -1,4 +1,6 @@
namespace Yw.WinFrmUI.HydroL3d
using Yw.Untity;
namespace Yw.WinFrmUI.HydroL3d
{
    public partial class NetworkPanel : DevExpress.XtraEditors.XtraUserControl
    {
@@ -116,40 +118,40 @@
            _network.Draw(gl);
            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 };
            //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(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_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.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], 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.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();   //强制刷新
@@ -320,8 +322,8 @@
        private void openGLControl1_MouseMove(object sender, MouseEventArgs e)
        {
            //var list = this.openGLControl1.OpenGL.UnProject(e.X, e.Y, 0);
            //this.labelControl1.Text = DoubleListHelper.ToString(list);
            var list = this.openGLControl1.OpenGL.UnProject(e.X, e.Y, 0);
            this.labelControl1.Text = DoubleListHelper.ToString(list);
            var hasMouseLeftDownRotate = MouseLeftDownRotate(e);
            var hasMouseRightDownMove = MouseRightDownMove(e);
            if (hasMouseLeftDownRotate || hasMouseRightDownMove)