//-------------------------------------------------------------------------------------------------- // Constructor //-------------------------------------------------------------------------------------------------- #region Constructor /// <summary> /// Basic constructor, assigns visualization methods to dictionaries for event and activity types /// </summary> /// <param name="drawingSystem">Drawing system used for visualization</param> /// <param name="position">Position of control unit visualization on drawing system</param> /// <param name="size">Size of control unit visualization on drawing system</param> /// <param name="personSize">Size in which persons are visualized</param> public WPFVisualizationEngineHealthCareDepartmentControlUnit(DrawingOnCoordinateSystem drawingSystem, Point position, Size size, double personSize) : base(drawingSystem) { _personSize = personSize; EntityVisualizationObjectCreatingMethodsPerType.Add(typeof(EntityPatient), CreatePatient); EntityVisualizationObjectCreatingMethodsPerType.Add(typeof(EntityDoctor), CreateDoctor); EntityVisualizationObjectCreatingMethodsPerType.Add(typeof(EntityNurse), CreateNurse); EntityVisualizationObjectCreatingMethodsPerType.Add(typeof(EntityTreatmentFacility), CreateTreatmentFacility); EntityVisualizationObjectCreatingMethodsPerType.Add(typeof(EntityMultiplePatientTreatmentFacility), CreateMultiplePatientTreatmentFacility); EntityVisualizationObjectCreatingMethodsPerType.Add(typeof(EntityWaitingArea), CreateWaitingRoom); HoldingEntitiesVisualizationMethods.Add(typeof(EntityWaitingArea), DrawHoldingEntity); HoldingEntitiesVisualizationMethods.Add(typeof(EntityMultiplePatientTreatmentFacility), DrawHoldingEntity); ActivityEndEventVisualizationMethods.Add(typeof(ActivityHealthCareAction <T>), HealthCareActionEnd); ActivityStartEventVisualizationMethods.Add(typeof(ActivityHealthCareAction <T>), HealthCareActionStart); ActivityEndEventVisualizationMethods.Add(typeof(ActivityWaitInFacility), WaitInFacilityEnd); ActivityStartEventVisualizationMethods.Add(typeof(ActivityWaitInFacility), WaitInFacilityStart); EventStandaloneDrawingMethods.Add(typeof(EventEmergencyPatientLeave), EventPatientLeave); EventStandaloneDrawingMethods.Add(typeof(EventOutpatientPatientLeave), EventPatientLeave); EventStandaloneDrawingMethods.Add(typeof(EventStaffLeave), EventLeavingStaff); _position = position; _size = size; } // end of BaseWPFControlUnitVisualizationEngine
//-------------------------------------------------------------------------------------------------- // Constructor //-------------------------------------------------------------------------------------------------- #region Constructor /// <summary> /// Basic constructor, sets entity drawing object methods and event and activity visualization methods /// </summary> /// <param name="drawingSystem"></param> public QueueControlVisualizationEngine(DrawingOnCoordinateSystem drawingSystem) : base(drawingSystem) { EntityVisualizationObjectCreatingMethodsPerType.Add(typeof(EntityClient), CreateClient); EntityVisualizationObjectCreatingMethodsPerType.Add(typeof(EntityQueue), CreateQueue); EntityVisualizationObjectCreatingMethodsPerType.Add(typeof(EntityServer), CreateServer); ActivityEndEventVisualizationMethods.Add(typeof(ActivityGetServed), GetServedEnd); ActivityStartEventVisualizationMethods.Add(typeof(ActivityGetServed), GetServedStart); HoldingEntitiesVisualizationMethods.Add(typeof(EntityQueue), DrawHoldingEntity); } // end of BaseWPFControlUnitVisualizationEngine
//-------------------------------------------------------------------------------------------------- // Constructor //-------------------------------------------------------------------------------------------------- #region Constructor /// <summary> /// Basic constructor, assigns visualization methods to dictionaries for event and activity types /// </summary> /// <param name="drawingSystem">Drawing system used for visualization</param> /// <param name="position">Position of control unit visualization on drawing system</param> /// <param name="size">Size of control unit visualization on drawing system</param> /// <param name="personSize">Size in which persons are visualized</param> public WPFVisualizationHealthCareOrganizationalUnit(DrawingOnCoordinateSystem drawingSystem, double personSize, WPFVisualizationEngineHealthCareDepartmentControlUnit <T> parentDepartmentVisualization) : base(drawingSystem) { _personSize = personSize; EntityVisualizationObjectCreatingMethodsPerType.Add(typeof(EntityPatient), CreatePatient); EntityVisualizationObjectCreatingMethodsPerType.Add(typeof(EntityDoctor), CreateDoctor); EntityVisualizationObjectCreatingMethodsPerType.Add(typeof(EntityNurse), CreateNurse); HoldingEntitiesVisualizationMethods.Add(typeof(EntityMultiplePatientTreatmentFacility), DrawHoldingEntity); ActivityEndEventVisualizationMethods.Add(typeof(ActivityHealthCareAction <T>), HealthCareActionEnd); ActivityStartEventVisualizationMethods.Add(typeof(ActivityHealthCareAction <T>), HealthCareActionStart); ActivityEndEventVisualizationMethods.Add(typeof(ActivityWaitInFacility), WaitInFacilityEnd); ActivityStartEventVisualizationMethods.Add(typeof(ActivityWaitInFacility), WaitInFacilityStart); EventStandaloneDrawingMethods.Add(typeof(EventStaffLeave), EventLeavingStaff); _parentDepartmentVisaulization = parentDepartmentVisualization; } // end of BaseWPFControlUnitVisualizationEngine