using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using HydrEngineCSharp;
namespace DPumpHydr.WinFrmUI.Volute
{
public partial class OccDesign3DCtrl: OccDesignBaseCtrl
{
public OccDesign3DCtrl()
{
this._is3D = true ;
}
public override void Initial()
{
// 创建时的代码
pDisplayView = new HydrEngineCSharp.CDisplayView();
pDisplayView.InitOCCDraw();
IntPtr hwnd = this.Handle;
// 初始化更新代码
pDisplayView.InitialUpdateOCC((uint)hwnd, this._is3D);
bool bSucc = pDisplayView.BeginTurbopumpTopoShape(DPumpHydr.WinFrmUI.Volute.GlobalParas.RootTopoShapeName);
}
#region 加厚
///
/// 加厚
///
///
public void BuildThicknessBody(double dThickness)
{
HydrProperties theHydrProperties = new HydrProperties();
theHydrProperties.SetShapeGuid(DPumpHydr.WinFrmUI.Volute.GlobalParas.ThicknessBodyShapeName);
theHydrProperties.SetShapeColor(
DPumpHydr.WinFrmUI.Volute.GlobalParas.ThicknessBodyColor.R,
DPumpHydr.WinFrmUI.Volute.GlobalParas.ThicknessBodyColor.G,
DPumpHydr.WinFrmUI.Volute.GlobalParas.ThicknessBodyColor.B, 256);
ToolTips theToolTips = pDisplayView.buildThicknessBody(theHydrProperties, dThickness);
if (theToolTips != null)
{
//string str = theToolTips.GetToolTips();
Invalidate(true);
pDisplayView.FitAll3DViews(true);
}
if(theToolTips.GetTipsId() != 1)
{
MessageBox.Show(theToolTips.GetToolTips(), "加厚提示");
}
}
public void SetThicknessBodyVisible(bool isVisible)
{
if (isVisible)
pDisplayView.ShowTopoShape(TopoTypeDisplay.EThicknessBody);
else
pDisplayView.HideTopoShape(TopoTypeDisplay.EThicknessBody);
}
public bool IsThicknessBodyVisible
{
get
{
return pDisplayView.IsShowTopoShape(TopoTypeDisplay.EThicknessBody);
}
set
{
if (value)
pDisplayView.ShowTopoShape(TopoTypeDisplay.EThicknessBody);
else
pDisplayView.HideTopoShape(TopoTypeDisplay.EThicknessBody);
}
}
#endregion
public void SetWaterBodyVisible(bool isVisible)
{
if (isVisible)
pDisplayView.ShowTopoShape(TopoTypeDisplay.EWaterBody);
else
pDisplayView.HideTopoShape(TopoTypeDisplay.EWaterBody);
}
public bool IsWaterBodyVisible
{
get
{
return pDisplayView.IsShowTopoShape(TopoTypeDisplay.EWaterBody);
}
set
{
if (value)
pDisplayView.ShowTopoShape(TopoTypeDisplay.EWaterBody);
else
pDisplayView.HideTopoShape(TopoTypeDisplay.EWaterBody);
}
}
//设置透明度
public void setWaterBodyOpacity(int nRad, int nGreen, int nBlue, int nAlpha)
{
pDisplayView.setWaterBodyClr(nRad, nGreen, nBlue, nAlpha);
}
public bool ExportWaterBodyFile(string aFileName, HydrEngineCSharp.FileType nFileType)
{
return pDisplayView.SaveWaterBody(aFileName, nFileType);
}
public bool ExportThicknessBody(string aFileName, HydrEngineCSharp.FileType nFileType)
{
return pDisplayView.SaveThicknessBody(aFileName, nFileType);
}
public bool ExportWaterAndThicknessBodyFile(string aFileName, HydrEngineCSharp.FileType nFileType)
{
return pDisplayView.SaveWaterAndThicknessBody(aFileName, nFileType);
}
public double GetSectArea9(double ratio)
{
return pDisplayView.getAreabySepOuter(9, ratio);
}
public double GetSectArea10(double ratio)
{
return pDisplayView.getAreabySepOuter(10, ratio);
}
}
}