forked from microsoft/AirSim
-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathCarPawnSimApi.h
More file actions
67 lines (52 loc) · 1.86 KB
/
Copy pathCarPawnSimApi.h
File metadata and controls
67 lines (52 loc) · 1.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#pragma once
#include "CoreMinimal.h"
#include "ChaosWheeledVehicleMovementComponent.h"
#include "CarPawn.h"
#include "CarPawnApi.h"
#include "PawnEvents.h"
#include "PawnSimApi.h"
#include "vehicles/car/api/CarApiBase.hpp"
#include "physics/Kinematics.hpp"
#include "common/Common.hpp"
#include "common/CommonStructs.hpp"
#include "vehicles/car/CarApiFactory.hpp"
class CarPawnSimApi : public PawnSimApi
{
public:
typedef msr::airlib::Utils Utils;
typedef msr::airlib::StateReporter StateReporter;
typedef msr::airlib::UpdatableObject UpdatableObject;
typedef msr::airlib::Pose Pose;
public:
virtual void initialize() override;
virtual ~CarPawnSimApi() = default;
//VehicleSimApiBase interface
//implements game interface to update pawn
CarPawnSimApi(const Params& params,
const msr::airlib::CarApiBase::CarControls& keyboard_controls);
virtual void update() override;
virtual void reportState(StateReporter& reporter) override;
virtual std::string getRecordFileLine(bool is_header_line) const override;
virtual void updateRenderedState(float dt) override;
virtual void updateRendering(float dt) override;
msr::airlib::CarApiBase* getVehicleApi() const
{
return vehicle_api_.get();
}
virtual msr::airlib::VehicleApiBase* getVehicleApiBase() const override
{
return vehicle_api_.get();
}
protected:
virtual void resetImplementation() override;
private:
void updateCarControls();
private:
std::unique_ptr<msr::airlib::CarApiBase> vehicle_api_;
std::unique_ptr<CarPawnApi> pawn_api_;
std::vector<std::string> vehicle_api_messages_;
//storing reference from pawn
const msr::airlib::CarApiBase::CarControls& keyboard_controls_;
msr::airlib::CarApiBase::CarControls joystick_controls_;
msr::airlib::CarApiBase::CarControls current_controls_;
};