namespace Yw.WpfUI.Hydro
{
///
/// 抽象创建辅助类
///
internal class LogicalCreateHelper
{
///
/// 创建
///
///
///
///
///
///
///
///
public static LogicalVisual3D Create
(
VisualL3d visual,
LogicalStateHelper stateHelper,
LogicalMaterialHelper materialHelper,
LogicalOverrideColorHelper overrideColorHelper,
LogicalOverrideOpacityHelper overrideOpacityHelper,
LogicalOverrideVisibleHelper overrideVisibleHelper
)
{
if (visual == null)
{
return default;
}
if (visual is JunctionL3d junction)
{
return new LogicalJunction3D(junction, stateHelper, materialHelper, overrideColorHelper, overrideOpacityHelper, overrideVisibleHelper);
}
if (visual is ReservoirL3d reservoir)
{
return new LogicalReservoir3D(reservoir, stateHelper, materialHelper, overrideColorHelper, overrideOpacityHelper, overrideVisibleHelper);
}
if (visual is TankL3d tank)
{
return new LogicalTank3D(tank, stateHelper, materialHelper, overrideColorHelper, overrideOpacityHelper, overrideVisibleHelper);
}
if (visual is PipeL3d pipel3d)
{
return new LogicalPipe3D(pipel3d, stateHelper, materialHelper, overrideColorHelper, overrideOpacityHelper, overrideVisibleHelper);
}
if (visual is PumpL3d pumpl3d)
{
return new LogicalPump3D(pumpl3d, stateHelper, materialHelper, overrideColorHelper, overrideOpacityHelper, overrideVisibleHelper);
}
if (visual is ValveL3d valvel3d)
{
return new LogicalValve3D(valvel3d, stateHelper, materialHelper, overrideColorHelper, overrideOpacityHelper, overrideVisibleHelper);
}
return default;
}
}
}