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