namespace Yw.WpfUI.Hydro
|
{
|
/// <summary>
|
/// 抽象创建辅助类
|
/// </summary>
|
internal class LogicalCreateHelper
|
{
|
/// <summary>
|
/// 创建
|
/// </summary>
|
/// <param name="visuall3d"></param>
|
/// <param name="stateHelper"></param>
|
/// <param name="materialHelper"></param>
|
/// <param name="overrideColorHelper"></param>
|
/// <param name="overrideOpacityHelper"></param>
|
/// <param name="overrideVisibleHelper"></param>
|
/// <returns></returns>
|
public static LogicalVisual3D Create
|
(
|
VisualL3d visuall3d,
|
LogicalStateHelper stateHelper,
|
LogicalMaterialHelper materialHelper,
|
LogicalOverrideColorHelper overrideColorHelper,
|
LogicalOverrideOpacityHelper overrideOpacityHelper,
|
LogicalOverrideVisibleHelper overrideVisibleHelper
|
)
|
{
|
if (visuall3d == null)
|
{
|
return default;
|
}
|
if (visuall3d is JunctionL3d junctionl3d)
|
{
|
return new LogicalJunction3D(junctionl3d, stateHelper, materialHelper, overrideColorHelper, overrideOpacityHelper, overrideVisibleHelper);
|
}
|
if (visuall3d is SourceL3d sourcel3d)
|
{
|
return new LogicalSource3D(sourcel3d, stateHelper, materialHelper, overrideColorHelper, overrideOpacityHelper, overrideVisibleHelper);
|
}
|
if (visuall3d is PipeL3d pipel3d)
|
{
|
return new LogicalPipe3D(pipel3d, stateHelper, materialHelper, overrideColorHelper, overrideOpacityHelper, overrideVisibleHelper);
|
}
|
if (visuall3d is PumpL3d pumpl3d)
|
{
|
return new LogicalPump3D(pumpl3d, stateHelper, materialHelper, overrideColorHelper, overrideOpacityHelper, overrideVisibleHelper);
|
}
|
if (visuall3d is ValveL3d valvel3d)
|
{
|
return new LogicalValve3D(valvel3d, stateHelper, materialHelper, overrideColorHelper, overrideOpacityHelper, overrideVisibleHelper);
|
}
|
return default;
|
}
|
|
}
|
}
|