Gobelijn API documentation
- generated for commit a0cbea7
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Friends
Macros
Pages
Motorcycle.h
Go to the documentation of this file.
1
#pragma once
2
8
#include "
objtracer/Body.h
"
9
#include "
objtracer/Engine.h
"
10
#include "
objtracer/Person.h
"
11
#include "
objtracer/Wheel.h
"
12
#include <array>
13
#include <memory>
14
15
namespace
ODemo {
16
20
class
Motorcycle
21
{
22
public
:
24
Motorcycle
();
25
27
explicit
Motorcycle
(std::shared_ptr<Engine>
const
& enginePtr);
28
30
Motorcycle
(std::shared_ptr<Engine>
const
& enginePtr,
Person
const
* ownerPtr);
31
33
Motorcycle
(
Motorcycle
const
& ori);
34
36
Motorcycle
(
Motorcycle
&& ori) noexcept;
37
39
Motorcycle
&
operator=
(
Motorcycle
const
& rhs);
40
42
Motorcycle
&
operator=
(
Motorcycle
&& rhs) noexcept;
43
45
~Motorcycle
();
46
48
void
startEngine
();
49
51
void
stopEngine
();
52
54
void
accelerate
(
double
speed);
55
57
void
brake
(
double
speed);
58
60
void
halt
();
61
62
// Turn with given number of degrees.
63
void
turn
(
double
degrees);
64
66
double
getSpeed
()
const
;
67
69
bool
is_running
()
const
;
70
72
std::shared_ptr<Engine>
get_engine
();
73
75
Person
const
*
get_owner
()
const
;
76
78
void
set_engine
(std::shared_ptr<Engine>
const
& newEnginePtr);
79
81
void
set_owner
(
Person
* newOwnerPtr);
82
83
private
:
84
std::shared_ptr<Engine>
m_engine
;
85
std::unique_ptr<Body>
m_body
;
86
const
Person
*
m_owner
;
87
std::array<Wheel, 2>
m_wheels
;
88
double
m_speed
;
89
double
m_direction
;
90
};
91
92
}
// namespace ODemo
ODemo::Motorcycle::~Motorcycle
~Motorcycle()
Destructor.
Definition:
Motorcycle.cpp:103
Engine.h
Header for the Engine class used to demo object aggregation features.
ODemo::Motorcycle::m_engine
std::shared_ptr< Engine > m_engine
Definition:
Motorcycle.h:84
ODemo::Motorcycle::getSpeed
double getSpeed() const
Return current speed.
Definition:
Motorcycle.cpp:167
ODemo::Motorcycle
Motorcycle with Engine and Owner.
Definition:
Motorcycle.h:20
Body.h
Header for Bicycle class.
ODemo::Motorcycle::m_body
std::unique_ptr< Body > m_body
Definition:
Motorcycle.h:85
ODemo::Motorcycle::stopEngine
void stopEngine()
Stop the motorcycle engine.
Definition:
Motorcycle.cpp:117
Person.h
Header for the class Person.
ODemo::Person
A fairly simple class for Person.
Definition:
Person.h:17
ODemo::Motorcycle::m_speed
double m_speed
Definition:
Motorcycle.h:88
ODemo::Motorcycle::brake
void brake(double speed)
Brake until given speed.
Definition:
Motorcycle.cpp:142
ODemo::Motorcycle::halt
void halt()
Brake to zero speed, keep engine running.
Definition:
Motorcycle.cpp:153
ODemo::Motorcycle::is_running
bool is_running() const
Indicates whether engine is running or not.
Definition:
Motorcycle.cpp:173
ODemo::Motorcycle::get_engine
std::shared_ptr< Engine > get_engine()
Returns pointer to the Engine (may be 0).
Definition:
Motorcycle.cpp:182
ODemo::Motorcycle::turn
void turn(double degrees)
Definition:
Motorcycle.cpp:159
ODemo::Motorcycle::get_owner
Person const * get_owner() const
Returns pointer to the owner (may be 0).
Definition:
Motorcycle.cpp:188
ODemo::Motorcycle::operator=
Motorcycle & operator=(Motorcycle const &rhs)
Copy assignment.
Definition:
Motorcycle.cpp:64
ODemo::Motorcycle::set_engine
void set_engine(std::shared_ptr< Engine > const &newEnginePtr)
Resets engine.
Definition:
Motorcycle.cpp:194
ODemo::Motorcycle::m_wheels
std::array< Wheel, 2 > m_wheels
Definition:
Motorcycle.h:87
ODemo::Motorcycle::set_owner
void set_owner(Person *newOwnerPtr)
Resets owner.
Definition:
Motorcycle.cpp:200
ODemo::Motorcycle::m_direction
double m_direction
Definition:
Motorcycle.h:89
ODemo::Motorcycle::startEngine
void startEngine()
Start the motorcycle engine.
Definition:
Motorcycle.cpp:105
ODemo::Motorcycle::accelerate
void accelerate(double speed)
Accelerate up to given speed.
Definition:
Motorcycle.cpp:131
ODemo::Motorcycle::m_owner
const Person * m_owner
Definition:
Motorcycle.h:86
Wheel.h
Header for the Wheel class used to demo object aggregation features.
ODemo::Motorcycle::Motorcycle
Motorcycle()
Default constructor does not initialize association with engine and owner.
Definition:
Motorcycle.cpp:18
main
cpp
objtracer
Motorcycle.h
Generated on Fri Feb 1 2019 09:33:32 for Gobelijn API documentation by
1.8.6