public void InitializeElements() { _animationBloodPumpEnabled = (Storyboard)Resources["BloodPumpEnabled"]; _animationHeparinPumpEnabled = (Storyboard)Resources["HeparinPumpEnabled"]; _animationEnableWaterPreparation = (Storyboard)Resources["EnableWaterPreparation"]; _animationDisableWaterPreparation = (Storyboard)Resources["DisableWaterPreparation"]; _animationDialyzingFluidPreparationEnabled = (Storyboard)Resources["DialyzingFluidPreparationEnabled"]; _animationUltraFiltrationEnabled = (Storyboard)Resources["UltraFiltrationEnabled"]; _animationPumpToBalanceChamberEnabled = (Storyboard)Resources["PumpToBalanceChamberEnabled"]; _animationCloseVenousTubingValve = (Storyboard)Resources["CloseVenousTubingValve"]; _animationOpenVenousTubingValve = (Storyboard)Resources["OpenVenousTubingValve"]; _animationArterialChamberDripping = (Storyboard)Resources["ArterialChamberDripping"]; _animationVenousChamberDripping = (Storyboard)Resources["VenousChamberDripping"]; _animationArterialChamberNotDripping = (Storyboard)Resources["ArterialChamberNotDripping"]; _animationVenousChamberNotDripping = (Storyboard)Resources["VenousChamberNotDripping"]; VisualFlows = new VisualFlow[] { new VisualFlow("FlowPatientToBloodPump",(Storyboard)Resources["FlowPatientToBloodPump"],selectFlowPatientToBloodPump,() => Patient.ArteryFlow.Outgoing), new VisualFlow("FlowBloodPumpToMerge1",(Storyboard)Resources["FlowBloodPumpToMerge1"],selectFlowBloodPumpToMerge1,() => Machine.ExtracorporealBloodCircuit.ArterialBloodPump.MainFlow.Outgoing), new VisualFlow("FlowMerge1ToArterialChamber",(Storyboard)Resources["FlowMerge1ToArterialChamber"],selectFlowMerge1ToArterialChamber,() => Machine.ExtracorporealBloodCircuit.ArterialChamber.MainFlow.Incoming), new VisualFlow("FlowArterialChamberToDialyzer",(Storyboard)Resources["FlowArterialChamberToDialyzer"],selectFlowArterialChamberToDialyzer,() => Machine.ExtracorporealBloodCircuit.ArterialChamber.MainFlow.Outgoing), new VisualFlow("FlowDialyzerBloodSideToSplit2",(Storyboard)Resources["FlowDialyzerBloodSideToSplit2"],selectFlowDialyzerBloodSideToSplit2,() => Machine.Dialyzer.BloodFlow.Outgoing), new VisualFlow("FlowSplit2ToVenousChamber",(Storyboard)Resources["FlowSplit2ToVenousChamber"],selectFlowSplit2ToVenousChamber,() => Machine.ExtracorporealBloodCircuit.VenousChamber.MainFlow.Incoming), new VisualFlow("FlowVenousChamberToSafetyDetector",(Storyboard)Resources["FlowVenousChamberToSafetyDetector"],selectFlowVenousChamberToSafetyDetector,() => Machine.ExtracorporealBloodCircuit.VenousChamber.MainFlow.Outgoing), new VisualFlow("FlowSafetySensorToVenousValve",(Storyboard)Resources["FlowSafetySensorToVenousValve"],selectFlowSafetySensorToVenousValve,() => Machine.ExtracorporealBloodCircuit.VenousSafetyDetector.MainFlow.Outgoing), new VisualFlow("FlowVenousValveToPatient",(Storyboard)Resources["FlowVenousValveToPatient"],selectFlowVenousValveToPatient,() => Machine.ExtracorporealBloodCircuit.VenousTubingValve.MainFlow.Outgoing), new VisualFlow("FlowWaterSupplyToWaterPreparation",(Storyboard)Resources["FlowWaterSupplyToWaterPreparation"],selectFlowWaterSupplyToWaterPreparation,() => Machine.DialyzingFluidDeliverySystem.WaterSupply.MainFlow.Outgoing), new VisualFlow("FlowWaterPreparationToDialyzingFluidPreparation",(Storyboard)Resources["FlowWaterPreparationToDialyzingFluidPreparation"],selectFlowWaterPreparationToDialyzingFluidPreparation,() => Machine.DialyzingFluidDeliverySystem.WaterPreparation.MainFlow.Outgoing), new VisualFlow("FlowDialyzingFluidPreparationToBalanceChamber",(Storyboard)Resources["FlowDialyzingFluidPreparationToBalanceChamber"],selectFlowDialyzingFluidPreparationToBalanceChamber,() => Machine.DialyzingFluidDeliverySystem.DialyzingFluidPreparation.DialyzingFluidFlow.Outgoing), new VisualFlow("FlowBalanceChamberToDrain",(Storyboard)Resources["FlowBalanceChamberToDrain"],selectFlowBalanceChamberToDrain,() => Machine.DialyzingFluidDeliverySystem.BalanceChamber.ForwardUsedFlowSegment.Outgoing), new VisualFlow("FlowBalanceChamberToSafetyBypass",(Storyboard)Resources["FlowBalanceChamberToSafetyBypass"],selectFlowBalanceChamberToSafetyBypass,() => Machine.DialyzingFluidDeliverySystem.BalanceChamber.ForwardProducedFlowSegment.Outgoing), new VisualFlow("FlowSafetyBypassToDialyzer",(Storyboard)Resources["FlowSafetyBypassToDialyzer"],selectFlowSafetyBypassToDialyzer,() => Machine.DialyzingFluidDeliverySystem.SafetyBypass.MainFlow.Outgoing), new VisualFlow("FlowSafetyBypassToDrain",(Storyboard)Resources["FlowSafetyBypassToDrain"],selectFlowSafetyBypassToDrain,() => Machine.DialyzingFluidDeliverySystem.SafetyBypass.DrainFlow.Outgoing), new VisualFlow("FlowDialyzerDialyzingFluidSideToSplit3",(Storyboard)Resources["FlowDialyzerDialyzingFluidSideToSplit3"],selectFlowDialyzerDialyzingFluidSideToSplit3,() => Machine.Dialyzer.DialyzingFluidFlow.Outgoing), new VisualFlow("FlowSplit3ToPumpToBalanceChamber",(Storyboard)Resources["FlowSplit3ToPumpToBalanceChamber"],selectFlowSplit3ToPumpToBalanceChamber,() => Machine.DialyzingFluidDeliverySystem.PumpToBalanceChamber.MainFlow.Incoming), new VisualFlow("FlowSplit3ToUltraFiltrationPump",(Storyboard)Resources["FlowSplit3ToUltraFiltrationPump"],selectFlowSplit3ToUltraFiltrationPump,() => Machine.DialyzingFluidDeliverySystem.DialyzingUltraFiltrationPump.MainFlow.Incoming), new VisualFlow("FlowPumpToBalanceChamberToBalanceChamber",(Storyboard)Resources["FlowPumpToBalanceChamberToBalanceChamber"],selectFlowPumpToBalanceChamberToBalanceChamber,() => Machine.DialyzingFluidDeliverySystem.PumpToBalanceChamber.MainFlow.Outgoing), new VisualFlow("FlowUltraFiltrationPumpToDrain",(Storyboard)Resources["FlowUltraFiltrationPumpToDrain"],selectFlowUltraFiltrationPumpToDrain,() => Machine.DialyzingFluidDeliverySystem.DialyzingUltraFiltrationPump.MainFlow.Outgoing), }; // Add custom buttons foreach (var visualFlow in VisualFlows) { var rectangle = visualFlow.SelectionRectangle; rectangle.MouseLeftButtonDown += SelectModelElement; SelectedModelElementToVisualFlow.Add(visualFlow.SelectionRectangle,visualFlow); } VisualFaults = new VisualFault[] { new VisualFault(() => Machine.Dialyzer.DialyzerMembraneRupturesFault,buttonFaultDialyzer), new VisualFault(() => Machine.ExtracorporealBloodCircuit.VenousTubingValve.ValveDoesNotClose,buttonFaultVenousValve), new VisualFault(() => Machine.ExtracorporealBloodCircuit.VenousSafetyDetector.SafetyDetectorDefect,buttonFaultSafetyDetector), new VisualFault(() => Machine.DialyzingFluidDeliverySystem.WaterPreparation.WaterHeaterDefect,buttonFaultWaterPreparation), new VisualFault(() => Machine.ExtracorporealBloodCircuit.ArterialBloodPump.BloodPumpDefect,buttonFaultBloodPump), new VisualFault(() => Machine.DialyzingFluidDeliverySystem.DialyzingFluidPreparation.DialyzingFluidPreparationPumpDefect,buttonFaultDialyzingFluidPreparation), new VisualFault(() => Machine.DialyzingFluidDeliverySystem.SafetyBypass.SafetyBypassFault,buttonFaultSafetyBypass), new VisualFault(() => Machine.DialyzingFluidDeliverySystem.PumpToBalanceChamber.PumpDefect,buttonFaultPumpToBalanceChamber), }; }
public void InitializeElements() { _animationBloodPumpEnabled = (Storyboard)Resources["BloodPumpEnabled"]; _animationHeparinPumpEnabled = (Storyboard)Resources["HeparinPumpEnabled"]; _animationEnableWaterPreparation = (Storyboard)Resources["EnableWaterPreparation"]; _animationDisableWaterPreparation = (Storyboard)Resources["DisableWaterPreparation"]; _animationDialyzingFluidPreparationEnabled = (Storyboard)Resources["DialyzingFluidPreparationEnabled"]; _animationUltraFiltrationEnabled = (Storyboard)Resources["UltraFiltrationEnabled"]; _animationPumpToBalanceChamberEnabled = (Storyboard)Resources["PumpToBalanceChamberEnabled"]; _animationCloseVenousTubingValve = (Storyboard)Resources["CloseVenousTubingValve"]; _animationOpenVenousTubingValve = (Storyboard)Resources["OpenVenousTubingValve"]; _animationArterialChamberDripping = (Storyboard)Resources["ArterialChamberDripping"]; _animationVenousChamberDripping = (Storyboard)Resources["VenousChamberDripping"]; _animationArterialChamberNotDripping = (Storyboard)Resources["ArterialChamberNotDripping"]; _animationVenousChamberNotDripping = (Storyboard)Resources["VenousChamberNotDripping"]; VisualFlows = new VisualFlow[] { new VisualFlow("FlowPatientToBloodPump", (Storyboard)Resources["FlowPatientToBloodPump"], selectFlowPatientToBloodPump, () => Patient.ArteryFlow.Outgoing), new VisualFlow("FlowBloodPumpToMerge1", (Storyboard)Resources["FlowBloodPumpToMerge1"], selectFlowBloodPumpToMerge1, () => Machine.ExtracorporealBloodCircuit.ArterialBloodPump.MainFlow.Outgoing), new VisualFlow("FlowMerge1ToArterialChamber", (Storyboard)Resources["FlowMerge1ToArterialChamber"], selectFlowMerge1ToArterialChamber, () => Machine.ExtracorporealBloodCircuit.ArterialChamber.MainFlow.Incoming), new VisualFlow("FlowArterialChamberToDialyzer", (Storyboard)Resources["FlowArterialChamberToDialyzer"], selectFlowArterialChamberToDialyzer, () => Machine.ExtracorporealBloodCircuit.ArterialChamber.MainFlow.Outgoing), new VisualFlow("FlowDialyzerBloodSideToSplit2", (Storyboard)Resources["FlowDialyzerBloodSideToSplit2"], selectFlowDialyzerBloodSideToSplit2, () => Machine.Dialyzer.BloodFlow.Outgoing), new VisualFlow("FlowSplit2ToVenousChamber", (Storyboard)Resources["FlowSplit2ToVenousChamber"], selectFlowSplit2ToVenousChamber, () => Machine.ExtracorporealBloodCircuit.VenousChamber.MainFlow.Incoming), new VisualFlow("FlowVenousChamberToSafetyDetector", (Storyboard)Resources["FlowVenousChamberToSafetyDetector"], selectFlowVenousChamberToSafetyDetector, () => Machine.ExtracorporealBloodCircuit.VenousChamber.MainFlow.Outgoing), new VisualFlow("FlowSafetySensorToVenousValve", (Storyboard)Resources["FlowSafetySensorToVenousValve"], selectFlowSafetySensorToVenousValve, () => Machine.ExtracorporealBloodCircuit.VenousSafetyDetector.MainFlow.Outgoing), new VisualFlow("FlowVenousValveToPatient", (Storyboard)Resources["FlowVenousValveToPatient"], selectFlowVenousValveToPatient, () => Machine.ExtracorporealBloodCircuit.VenousTubingValve.MainFlow.Outgoing), new VisualFlow("FlowWaterSupplyToWaterPreparation", (Storyboard)Resources["FlowWaterSupplyToWaterPreparation"], selectFlowWaterSupplyToWaterPreparation, () => Machine.DialyzingFluidDeliverySystem.WaterSupply.MainFlow.Outgoing), new VisualFlow("FlowWaterPreparationToDialyzingFluidPreparation", (Storyboard)Resources["FlowWaterPreparationToDialyzingFluidPreparation"], selectFlowWaterPreparationToDialyzingFluidPreparation, () => Machine.DialyzingFluidDeliverySystem.WaterPreparation.MainFlow.Outgoing), new VisualFlow("FlowDialyzingFluidPreparationToBalanceChamber", (Storyboard)Resources["FlowDialyzingFluidPreparationToBalanceChamber"], selectFlowDialyzingFluidPreparationToBalanceChamber, () => Machine.DialyzingFluidDeliverySystem.DialyzingFluidPreparation.DialyzingFluidFlow.Outgoing), new VisualFlow("FlowBalanceChamberToDrain", (Storyboard)Resources["FlowBalanceChamberToDrain"], selectFlowBalanceChamberToDrain, () => Machine.DialyzingFluidDeliverySystem.BalanceChamber.ForwardUsedFlowSegment.Outgoing), new VisualFlow("FlowBalanceChamberToSafetyBypass", (Storyboard)Resources["FlowBalanceChamberToSafetyBypass"], selectFlowBalanceChamberToSafetyBypass, () => Machine.DialyzingFluidDeliverySystem.BalanceChamber.ForwardProducedFlowSegment.Outgoing), new VisualFlow("FlowSafetyBypassToDialyzer", (Storyboard)Resources["FlowSafetyBypassToDialyzer"], selectFlowSafetyBypassToDialyzer, () => Machine.DialyzingFluidDeliverySystem.SafetyBypass.MainFlow.Outgoing), new VisualFlow("FlowSafetyBypassToDrain", (Storyboard)Resources["FlowSafetyBypassToDrain"], selectFlowSafetyBypassToDrain, () => Machine.DialyzingFluidDeliverySystem.SafetyBypass.DrainFlow.Outgoing), new VisualFlow("FlowDialyzerDialyzingFluidSideToSplit3", (Storyboard)Resources["FlowDialyzerDialyzingFluidSideToSplit3"], selectFlowDialyzerDialyzingFluidSideToSplit3, () => Machine.Dialyzer.DialyzingFluidFlow.Outgoing), new VisualFlow("FlowSplit3ToPumpToBalanceChamber", (Storyboard)Resources["FlowSplit3ToPumpToBalanceChamber"], selectFlowSplit3ToPumpToBalanceChamber, () => Machine.DialyzingFluidDeliverySystem.PumpToBalanceChamber.MainFlow.Incoming), new VisualFlow("FlowSplit3ToUltraFiltrationPump", (Storyboard)Resources["FlowSplit3ToUltraFiltrationPump"], selectFlowSplit3ToUltraFiltrationPump, () => Machine.DialyzingFluidDeliverySystem.DialyzingUltraFiltrationPump.MainFlow.Incoming), new VisualFlow("FlowPumpToBalanceChamberToBalanceChamber", (Storyboard)Resources["FlowPumpToBalanceChamberToBalanceChamber"], selectFlowPumpToBalanceChamberToBalanceChamber, () => Machine.DialyzingFluidDeliverySystem.PumpToBalanceChamber.MainFlow.Outgoing), new VisualFlow("FlowUltraFiltrationPumpToDrain", (Storyboard)Resources["FlowUltraFiltrationPumpToDrain"], selectFlowUltraFiltrationPumpToDrain, () => Machine.DialyzingFluidDeliverySystem.DialyzingUltraFiltrationPump.MainFlow.Outgoing), }; // Add custom buttons foreach (var visualFlow in VisualFlows) { var rectangle = visualFlow.SelectionRectangle; rectangle.MouseLeftButtonDown += SelectModelElement; SelectedModelElementToVisualFlow.Add(visualFlow.SelectionRectangle, visualFlow); } VisualFaults = new VisualFault[] { new VisualFault(() => Machine.Dialyzer.DialyzerMembraneRupturesFault, buttonFaultDialyzer), new VisualFault(() => Machine.ExtracorporealBloodCircuit.VenousTubingValve.ValveDoesNotClose, buttonFaultVenousValve), new VisualFault(() => Machine.ExtracorporealBloodCircuit.VenousSafetyDetector.SafetyDetectorDefect, buttonFaultSafetyDetector), new VisualFault(() => Machine.DialyzingFluidDeliverySystem.WaterPreparation.WaterHeaterDefect, buttonFaultWaterPreparation), new VisualFault(() => Machine.ExtracorporealBloodCircuit.ArterialBloodPump.BloodPumpDefect, buttonFaultBloodPump), new VisualFault(() => Machine.DialyzingFluidDeliverySystem.DialyzingFluidPreparation.DialyzingFluidPreparationPumpDefect, buttonFaultDialyzingFluidPreparation), new VisualFault(() => Machine.DialyzingFluidDeliverySystem.SafetyBypass.SafetyBypassFault, buttonFaultSafetyBypass), new VisualFault(() => Machine.DialyzingFluidDeliverySystem.PumpToBalanceChamber.PumpDefect, buttonFaultPumpToBalanceChamber), }; }