CSCI3081W Drone Delivery System
Public Member Functions | Public Attributes | Protected Attributes | List of all members
Robot Class Reference

Represents a robot in a physical system. More...

#include <Robot.h>

Inheritance diagram for Robot:
Inheritance graph
[legend]
Collaboration diagram for Robot:
Collaboration graph
[legend]

Public Member Functions

 Robot (const JsonObject &obj)
 Constructor. More...
 
void update (double dt)
 Updates the Package. More...
 
void receive (Package *p)
 Receives the passed in package. More...
 
- Public Member Functions inherited from IEntity
 IEntity ()
 Constructor that assigns a unique ID to the entity.
 
 IEntity (const JsonObject &details)
 Constructor with JsonObject details to define the entity. More...
 
virtual ~IEntity ()
 Virtual destructor for IEntity.
 
virtual void linkModel (SimulationModel *model)
 Links this entity to a simulation model, giving it access to the model's public variables and functions. More...
 
virtual int getId () const
 Gets the ID of the entity. More...
 
virtual Vector3 getPosition () const
 Gets the position of the entity. More...
 
virtual Vector3 getDirection () const
 Gets the direction of the entity. More...
 
virtual const JsonObjectgetDetails () const
 Gets the details of the entity. More...
 
virtual std::string getColor () const
 Gets the color of the entity. More...
 
virtual std::string getName () const
 Gets the name of the entity. More...
 
virtual double getSpeed () const
 Gets the speed of the entity. More...
 
virtual void setPosition (Vector3 pos_)
 Sets the position of the entity. More...
 
virtual void setDirection (Vector3 dir_)
 Set the direction of the entity. More...
 
virtual void setColor (std::string col_)
 Sets the color of the entity. More...
 
virtual void rotate (double angle)
 Rotate the entity around y axis. More...
 
virtual SimulationModelgetModel () const
 
- Public Member Functions inherited from IPublisher
void addObserver (const IObserver *o)
 adds an observer to the simulation More...
 
void removeObserver (const IObserver *o)
 removes an observer in the simulation More...
 
void notifyObservers (const std::string &message) const
 notifies all observers with a specific message More...
 

Public Attributes

bool requestedDelivery = true
 

Protected Attributes

Packagepackage = nullptr
 
- Protected Attributes inherited from IEntity
SimulationModelmodel = nullptr
 
int id = -1
 
JsonObject details
 
Vector3 position
 
Vector3 direction
 
std::string color
 
std::string name
 
double speed = 0
 

Detailed Description

Represents a robot in a physical system.

Robots move using euler integration based on a specified velocity and direction.

Constructor & Destructor Documentation

◆ Robot()

Robot::Robot ( const JsonObject obj)

Constructor.

Parameters
objJSON object containing the robot's information

Member Function Documentation

◆ receive()

void Robot::receive ( Package p)

Receives the passed in package.

Parameters
Package*Package to be received by the robot

◆ update()

void Robot::update ( double  dt)
virtual

Updates the Package.

Parameters
dtdifference in time since last update

Implements IEntity.


The documentation for this class was generated from the following file: