namespace Yw.WpfUI.Hydro
{
///
/// 抽象创建辅助类
///
internal class LogicalCreateHelper
{
///
/// 创建
///
///
///
///
///
///
///
///
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;
}
}
}