Gobelijn API documentation  - generated for commit a0cbea7
 All Classes Namespaces Files Functions Variables Typedefs Friends Macros Pages
WaterVehicle.h
Go to the documentation of this file.
1 #pragma once
2 
8 #include "objtracer/Vehicle.h"
9 
10 namespace ODemo {
11 
15 class WaterVehicle : public Vehicle
16 {
17 public:
19  WaterVehicle();
20 
22  WaterVehicle(const WaterVehicle& ori);
23 
25  WaterVehicle(WaterVehicle&& ori) noexcept;
26 
28  WaterVehicle& operator=(const WaterVehicle& rhs);
29 
31  WaterVehicle& operator=(WaterVehicle&& rhs) noexcept;
32 
34  ~WaterVehicle() override;
35 
37  void info() const override;
38 
40  void move(double speed, std::vector<double> direction) override = 0;
41 
43  void start_sinking();
44 
46  void stop_sinking();
47 
48 private:
49  bool m_sinking;
50 };
51 
52 } // namespace ODemo
void info() const override
Return identification info.
WaterVehicle & operator=(const WaterVehicle &rhs)
Copy assignment.
Header for the Vehicle class.
Abstract WaterVehicle class.
Definition: WaterVehicle.h:15
~WaterVehicle() override
Destructor.
This Vehicle interface class.
Definition: Vehicle.h:16
void move(double speed, std::vector< double > direction) override=0
Pure virtual method for motion.
WaterVehicle()
Default constructor.
void stop_sinking()
Stop sinking, even if you were not sinking in the first place.
void start_sinking()
Start sinking, even if you are already sinking.