CSCI 3081 - Drone Delivery System
All Classes Files Functions Variables Friends Pages
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123]
 Ccsci3081::ASubjectThis is the Abstract Subject class from which our subjects will inherit Implements the Observer/subject pattern
 Ccsci3081::CarrierA representation of a carrier An abstract base class for delivery transportation clases like Drone or Robot. Robot and Drone inherited from Carrier
 Ccsci3081::DroneA representation of a drone It stores the drone's name, ID, version, position, direction, speed, and dynamic mode
 Ccsci3081::RobotA representation of a robot It stores the robot's name, ID, version, position, direction, speed, and dynamic mode
 Ccsci3081::PackageA representation of a Package, inherited from EntityBase It stores the Package's name, ID, version, position, direction, and dynamic mode
 Ccsci3081::RechargeDroneA representation of a drone It stores the drone's name, ID, version, position, direction, speed, and dynamic mode
 Ccsci3081::Battery
 Ccsci3081::GenerateIdGenerateId class generates a static unique identifier to the customer, drone, robot, package, and battery objects. Each time GenerateNewId() is called, the id variable gets incremented
 Centity_project::IEntityA movable object in a scene. Entities have position, direction and size
 Ccsci3081::EntityBaseThe base class for creating entities
 Ccsci3081::CarrierA representation of a carrier An abstract base class for delivery transportation clases like Drone or Robot. Robot and Drone inherited from Carrier
 Ccsci3081::ChargingStationA representation of a ChargingStation, inherited from EntityBase It stores the ChargingStation's name, ID, version, position, direction, and dynamic mode
 Ccsci3081::CustomerA representation of a Customer, inherited from EntityBase It stores the Customer's name, ID, version, position, direction, and dynamic mode
 Ccsci3081::PackageA representation of a Package, inherited from EntityBase It stores the Package's name, ID, version, position, direction, and dynamic mode
 Ccsci3081::RechargeDroneA representation of a drone It stores the drone's name, ID, version, position, direction, speed, and dynamic mode
 Centity_project::IEntityFactory
 Ccsci3081::CarrierFactoryThis is a derived class from IEntityFactory to manage all other factories (e.g. DroneFactory, PackageFactory, CustomerFactory...)
 Ccsci3081::ChargingStationFactoryThis is the ChargingStationFactory, responsible for making charging station object
 Ccsci3081::CompositeFactoryThis is a derived class from IEntityFactory to manage all other factories (e.g. DroneFactory, PackageFactory, CustomerFactory...)
 Ccsci3081::CustomerFactoryThis is the CustomerFactory, responsible for making Customer object
 Ccsci3081::DroneFactoryThis is the DroneFactory, responsible for making Drone object
 Ccsci3081::PackageFactoryThis is the PackageFactory, responsible for making Drone object
 Ccsci3081::RechargeDroneFactoryThis is the RECHARGE_DRONE_FACTORY, responsible for making Recharge Drones
 Ccsci3081::RobotFactoryThis is the RobotFactory, responsible for making a robot object
 Centity_project::IEntityObserverObservers entity events when they occur
 Centity_project::EntityConsoleLoggerThe Entity Console Logger outputs entity events to the command line
 Centity_project::WebSceneViewerA web viewer for the entity system that uses web sockets
 Centity_project::IEntitySystemAn abstract class that represents an entity system that contains entities and updates over time
 Ccsci3081::IDeliverySystemThe abstract facade of a drone delivery subsystem
 Ccsci3081::DeliverySimulationThis is the facade for the delivery system
 Centity_project::IGraphRepresents a read only graph object
 Centity_project::IGraphNodeRepresents a node in a graph object
 Centity_project::ISceneViewerAbstact class for viewing a scene representing an entity system
 Centity_project::WebSceneViewerA web viewer for the entity system that uses web sockets
 Ccsci3081::JsonHelper
 Centity_project::OSMGraphParserParses an Open Street Map xml file along with a normalized height map
 Ccsci3081::RouteStrategyThis is the Route Strategy class where we can use the interface to decide which type of route behaviour to implement using a strategy pattern
 Ccsci3081::BeelineRouteThis is the Beeline Route class where we can use the strategy pattern to implement a Beeline route for carriers
 Ccsci3081::ParabolicRouteThis is the Parabolic Route class where we can use the strategy pattern to implement a parabolic route
 Ccsci3081::SmartRouteThis is the Smart Route class where we can use the strategy pattern to implement a A* shortest path route
 Ccsci3081::VectorThis is the interface class for the Vector3D and Vector2D classes
 Ccsci3081::Vector2DThis is the Vector2D class
 Ccsci3081::Vector3DThis is the Vector3D class