tangxu
2024-12-29 f7ec23b2fe6e8e48bbb32b8c9321b64529622406
WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_Occ.cs
@@ -58,41 +58,28 @@
            this._occDesign3dCtrl.RefreshSingleSectShape18(para);
            this._occDesign2dCtrl.RefreshSingleSectShape18(para);
            this._sectAreaDockPanel.SetBindingData(para);
        }
        //double m_dTopValue = 1.0;
        //double m_dBtmValue = 1.0;
        private WaterBodyOuterParam m_theWaterBodyOuterParam;
        private bool CreateWaterBody(DPumpHydr.WinFrmUI.Volute.ViewModel.OtuflowParas outflowParas)
        private bool CreateWaterBody3D(DPumpHydr.WinFrmUI.Volute.ViewModel.OtuflowParas outflowParas)
        {
            this._outflowParas = outflowParas;
            if (_ctrlSetOutflowStyle == null || outflowParas == null)
            {
                return false ;
            }
            if (outflowParas.Tangent_Top_Right <= 0 || outflowParas.Tangent_Btm_Right <= 0 ||
         outflowParas.Tangent_Top_Left <= 0 || outflowParas.Tangent_Btm_Left <= 0)
                return false;
            
            //double dOuterOffset = 0.0;
            //double dOuterHigh = 420.0;
            //double dOuterRad = 80.0;
            //double dOuterTopValue = m_dTopValue;
            //double dOuterBtmValue = m_dBtmValue;
            //double dH1 = 10;
            //double dH2 = 10;
            //double m_dRadConner = 8;
            if(m_theWaterBodyOuterParam != null)
            {
                return EditWaterBody(outflowParas);
                return EditWaterBody3D(outflowParas);
            }
            m_theWaterBodyOuterParam = new WaterBodyOuterParam();
            //m_theWaterBodyOuterParam.SetOuterOffset(dOuterOffset);
            //m_theWaterBodyOuterParam.SetOuterHigh(dOuterHigh);
            //m_theWaterBodyOuterParam.SetOuterRad(dOuterRad);
            //m_theWaterBodyOuterParam.SetTopValue1(dOuterTopValue);
            //m_theWaterBodyOuterParam.SetBtmValue1(dOuterBtmValue);
            //m_theWaterBodyOuterParam.SetTopValue2(dOuterTopValue);
            //m_theWaterBodyOuterParam.SetBtmValue2(dOuterBtmValue);
            //m_theWaterBodyOuterParam.SetH1(dH1);
            //m_theWaterBodyOuterParam.SetH2(dH2);
            //m_theWaterBodyOuterParam.SetRadConner(m_dRadConner);
            m_theWaterBodyOuterParam.SetOuterOffset(outflowParas.Offset);
            m_theWaterBodyOuterParam.SetOuterHigh(outflowParas.Heigh);
@@ -106,16 +93,52 @@
            m_theWaterBodyOuterParam.SetRadConner(outflowParas.Septalradius);
            var   m_theHydrGeomSplineParam = this._occDesign2dCtrl.Create2DWaterBody(m_theWaterBodyOuterParam);
            if (!m_theHydrGeomSplineParam.IsEmpty())
            if (m_theHydrGeomSplineParam != null && !m_theHydrGeomSplineParam.IsEmpty())
            {
                this._occDesign3dCtrl.Create3DWaterBody(m_theWaterBodyOuterParam, m_theHydrGeomSplineParam);
            }
 
            return true;
        }
        private bool EditWaterBody(DPumpHydr.WinFrmUI.Volute.ViewModel.OtuflowParas outflowParas)
        private bool CreateWaterBody2D(DPumpHydr.WinFrmUI.Volute.ViewModel.OtuflowParas outflowParas)
        {
            if (_ctrlSetOutflowStyle == null || outflowParas == null)
            {
                return false;
            }
            if (  outflowParas.Tangent_Top_Right <= 0 || outflowParas.Tangent_Btm_Right <= 0 ||
                outflowParas.Tangent_Top_Left <= 0 || outflowParas.Tangent_Btm_Left <= 0)
                return false;
            if (m_theWaterBodyOuterParam != null)
            {
                return EditWaterBody2D(outflowParas);
            }
            m_theWaterBodyOuterParam = new WaterBodyOuterParam();
            m_theWaterBodyOuterParam.SetOuterOffset(outflowParas.Offset);
            m_theWaterBodyOuterParam.SetOuterHigh(outflowParas.Heigh);
            m_theWaterBodyOuterParam.SetOuterRad(outflowParas.Dia / 2);
            m_theWaterBodyOuterParam.SetTopValue1(outflowParas.Tangent_Top_Right);
            m_theWaterBodyOuterParam.SetBtmValue1(outflowParas.Tangent_Btm_Right);
            m_theWaterBodyOuterParam.SetTopValue2(outflowParas.Tangent_Top_Left);
            m_theWaterBodyOuterParam.SetBtmValue2(outflowParas.Tangent_Btm_Left);
            m_theWaterBodyOuterParam.SetH1(outflowParas.H1);
            m_theWaterBodyOuterParam.SetH2(outflowParas.H2);
            m_theWaterBodyOuterParam.SetRadConner(outflowParas.Septalradius);
              this._occDesign2dCtrl.Create2DWaterBody(m_theWaterBodyOuterParam);
            return true;
        }
        private bool EditWaterBody3D(DPumpHydr.WinFrmUI.Volute.ViewModel.OtuflowParas outflowParas)
        {
            if (outflowParas.Tangent_Top_Right <= 0 || outflowParas.Tangent_Btm_Right <= 0 ||
                outflowParas.Tangent_Top_Left <= 0 || outflowParas.Tangent_Btm_Left <= 0)
                return false ;
            m_theWaterBodyOuterParam.SetOuterOffset(outflowParas.Offset);
            m_theWaterBodyOuterParam.SetOuterHigh(outflowParas.Heigh);
            m_theWaterBodyOuterParam.SetOuterRad(outflowParas.Dia / 2);
@@ -131,5 +154,24 @@
            return true;
        }
        private bool EditWaterBody2D(DPumpHydr.WinFrmUI.Volute.ViewModel.OtuflowParas outflowParas)
        {
            if (outflowParas ==null || outflowParas.Tangent_Top_Right <= 0 || outflowParas.Tangent_Btm_Right <= 0 ||
                outflowParas.Tangent_Top_Left <= 0 || outflowParas.Tangent_Btm_Left <= 0)
                return false;
            m_theWaterBodyOuterParam.SetOuterOffset(outflowParas.Offset);
            m_theWaterBodyOuterParam.SetOuterHigh(outflowParas.Heigh);
            m_theWaterBodyOuterParam.SetOuterRad(outflowParas.Dia / 2);
            m_theWaterBodyOuterParam.SetTopValue1(outflowParas.Tangent_Top_Right);
            m_theWaterBodyOuterParam.SetBtmValue1(outflowParas.Tangent_Btm_Right);
            m_theWaterBodyOuterParam.SetTopValue2(outflowParas.Tangent_Top_Left);
            m_theWaterBodyOuterParam.SetBtmValue2(outflowParas.Tangent_Btm_Left);
            m_theWaterBodyOuterParam.SetH1(outflowParas.H1);
            m_theWaterBodyOuterParam.SetH2(outflowParas.H2);
            m_theWaterBodyOuterParam.SetRadConner(outflowParas.Septalradius);
              this._occDesign2dCtrl.Create2DWaterBody(m_theWaterBodyOuterParam);
            return true;
        }
    }
}