From a897a1cb95028e3dbfa370ddafcc9a27110f96a7 Mon Sep 17 00:00:00 2001 From: "Ira W. Snyder" Date: Sat, 6 Oct 2007 21:14:00 -0700 Subject: [PATCH] Add Elevator Number to Elevators All of the Elevators need a unique number so that they can call into the GUI and update their positions, etc. Signed-off-by: Ira W. Snyder --- elevator.cpp | 6 ++++-- elevator.hpp | 7 +++++-- elevatorcontroller.cpp | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/elevator.cpp b/elevator.cpp index d4e7cfb..4a5eb37 100644 --- a/elevator.cpp +++ b/elevator.cpp @@ -1,21 +1,23 @@ #include "elevator.hpp" -Elevator::Elevator () +Elevator::Elevator (int elevator_number) : state_(STATE_IDLE) , wait_(0) , direction_(IDLE) , position_() , stops_() + , number_(elevator_number) { // Intentionally Left Empty } -Elevator::Elevator (int starting_floor) +Elevator::Elevator (int starting_floor, int elevator_number) : state_(STATE_IDLE) , wait_(0) , direction_(IDLE) , position_(starting_floor) , stops_() + , number_(elevator_number) { // Intentionally Left Empty } diff --git a/elevator.hpp b/elevator.hpp index de8d71b..a5b5500 100644 --- a/elevator.hpp +++ b/elevator.hpp @@ -21,8 +21,8 @@ enum Event { EVT_IDLE, EVT_UP, EVT_DOWN, EVT_WAIT, EVT_OPEN_DOOR, EVT_CLOSE_DOOR class Elevator { public: - Elevator (); - Elevator (int starting_floor); + Elevator (int elevator_number); + Elevator (int starting_floor, int elevator_number); void stop_at (Stop &stop); float distance_from (Position& pos) const; @@ -56,6 +56,9 @@ class Elevator State state_; int wait_; + /* Elevator Number: Used to make calls into the GUI */ + int number_; + static const float ELEVATOR_STEP = 0.1; }; diff --git a/elevatorcontroller.cpp b/elevatorcontroller.cpp index 2baea64..d5f760c 100644 --- a/elevatorcontroller.cpp +++ b/elevatorcontroller.cpp @@ -10,7 +10,7 @@ ElevatorController::ElevatorController (int floors, int elevators) /* Create and add all of the elevators */ for (int i=0; i