-
Notifications
You must be signed in to change notification settings - Fork 123
Expand file tree
/
Copy pathWorldSimApi.h
More file actions
58 lines (47 loc) · 3.5 KB
/
Copy pathWorldSimApi.h
File metadata and controls
58 lines (47 loc) · 3.5 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
#pragma once
#include "CoreMinimal.h"
#include "common/CommonStructs.hpp"
#include "api/WorldSimApiBase.hpp"
#include "SimMode/SimModeBase.h"
#include "vehicles/car/api/CarApiBase.hpp"
#include <string>
class WorldSimApi : public msr::airlib::WorldSimApiBase {
public:
typedef msr::airlib::Pose Pose;
typedef msr::airlib::Vector3r Vector3r;
typedef msr::airlib::MeshPositionVertexBuffersResponse MeshPositionVertexBuffersResponse;
WorldSimApi(ASimModeBase* simmode);
virtual ~WorldSimApi() = default;
virtual bool isPaused() const override;
virtual void reset() override;
virtual void restart();
virtual void pause(bool is_paused) override;
virtual void continueForTime(double seconds) override;
virtual void setTimeOfDay(bool is_enabled, const std::string& start_datetime, bool is_start_datetime_dst,
float celestial_clock_speed, float update_interval_secs, bool move_sun);
virtual void enableWeather(bool enable);
virtual void setWeatherParameter(WeatherParameter param, float val);
virtual bool setSegmentationObjectID(const std::string& mesh_name, int object_id, bool is_name_regex = false) override;
virtual int getSegmentationObjectID(const std::string& mesh_name) const override;
virtual void printLogMessage(const std::string& message,
const std::string& message_param = "", unsigned char severity = 0) override;
virtual std::unique_ptr<std::vector<std::string>> swapTextures(const std::string& tag, int tex_id = 0, int component_id = 0, int material_id = 0) override;
virtual std::vector<std::string> listSceneObjects(const std::string& name_regex) const override;
virtual Pose getObjectPose(const std::string& object_name) const override;
virtual bool setObjectPose(const std::string& object_name, const Pose& pose, bool teleport) override;
virtual msr::airlib::CarApiBase::RefereeState getRefereeState() const override;
//----------- Plotting APIs ----------/
virtual void simFlushPersistentMarkers() override;
virtual void simPlotPoints(const std::vector<Vector3r>& points, const std::vector<float>& color_rgba, float size, float duration, bool is_persistent) override;
virtual void simPlotLineStrip(const std::vector<Vector3r>& points, const std::vector<float>& color_rgba, float thickness, float duration, bool is_persistent) override;
virtual void simPlotLineList(const std::vector<Vector3r>& points, const std::vector<float>& color_rgba, float thickness, float duration, bool is_persistent) override;
virtual void simPlotArrows(const std::vector<Vector3r>& points_start, const std::vector<Vector3r>& points_end, const std::vector<float>& color_rgba, float thickness, float arrow_size, float duration, bool is_persistent) override;
virtual void simPlotStrings(const std::vector<std::string>& strings, const std::vector<Vector3r>& positions, float scale, const std::vector<float>& color_rgba, float duration) override;
virtual void simPlotTransforms(const std::vector<Pose>& poses, float scale, float thickness, float duration, bool is_persistent) override;
virtual void simPlotTransformsWithNames(const std::vector<Pose>& poses, const std::vector<std::string>& names, float tf_scale, float tf_thickness, float text_scale, const std::vector<float>& text_color_rgba, float duration) override;
virtual std::vector<MeshPositionVertexBuffersResponse> getMeshPositionVertexBuffers() const override;
virtual std::string getSettingsString() const override;
private:
ASimModeBase* simmode_;
UClass* refereeBPClass_;
};