8#include "CoreMinimal.h"
14#include "ROSCommands.generated.h"
17class UROSIntegrationGameInstance;
57 UFUNCTION(BlueprintCallable)
58 void TryExecuteCommand(
const FString& Command);
75 UWorld* GetGameWorld();
84 void SetupROSCommandTopic();
86 void DestroyROSTopic();
88 void ParseIncomingMessage(
const FString Message);
91 void ROSBridgeStateChanged(
EROSState state);
99 bool TryParseBoolean(const FString& String,
bool& OutBool);
102 UTopic* CommandTopic =
nullptr;
105 UROSIntegrationGameInstance* RosInstance =
nullptr;
107 void HandlePrintAvailableCommands(const FString& Variable);
109 void HandleQuit(const FString& Variable);
111 void HandlePauseSimulator(const FString& Variable);
113 void HandleUnPauseSimulator(const FString& Variable);
115 void HandleAdvanceOneFrame(const FString& Variable);
117 void HandleAdvanceFrames(const FString& Variable);
119 void HandleAdvanceTime(const FString& Variable);
121 void HandleChangeMap(const FString& Variable);
123 void HandleUnrealCommand(const FString& Variable);
125 void HandleTeleportSpectator(const FString& Variable);
127 void HandleTeleportActorByID(const FString& Variable);
129 void HandleTryDestroyObjectByID(const FString& Variable);
131 void HandleDestroyAllSensors(const FString& Variable);
133 void HandleDestroyAllWalkers(const FString& Variable);
135 void HandleDestroyAllVehicles(const FString& Variable);
137 void HandlePrintMaps(const FString& Variable);
139 void HandlePrintAllSensors(const FString& Variable);
141 void HandlePrintAllVehicles(const FString& Variable);
143 void HandlePrintAllWalkers(const FString& Variable);
145 void PrintActorInformation(const FString& Variable, UClass* ActorClass, const FString& ActorTypeName);
147 void HandlePrintIds(const FString& Variable);
149 void HandleSetGlobalTargetFrameRate(const FString& Variable);
151 void HandleSetGlobalTimeDilation(const FString& Variable);
153 void HandleSetQualityLevel(const FString& Variable);
155 void HandleSetWorldRendering(const FString& Variable);
157 void HandleSetSaveCombinedPointcloudToDisk(const FString& Variable);
159 void HandleSpawnObjects(const FString& Variable);
161 void HandleExportAll(const FString& Variable);
163 void HandleExportWeather(const FString& Variable);
165 void HandleExportWalkers(const FString& Variable);
167 void HandleExportVehicles(const FString& Variable);
169 void HandleExportSensors(const FString& Variable);
171 void HandleExportFoliage(const FString& Variable);
173 void HandleExportProps(const FString& Variable);
175 void HandleVisualizeOverlapSensorsBounds(const FString& Variable);
177 void HandleChangeOverlapSensorBounds(const FString& Variable);
179 void HandleChangeOverlapSensorPosition(const FString& Variable);
181 void HandleMoveWalkerToAndDestroy(const FString& Variable);
183 void HandleMoveWalkerToAndStop(const FString& Variable);
185 void HandleMoveWalkerTo(const FString& Variable,
EWalkerEndAction EndAction);
187 void HandleStopWalker(const FString& Variable);
189 void HandleResumeWalker(const FString& Variable);
191 void HandleSetWalkerMovement(const FString& Variable,
bool IsPaused);
193 void HandleMoveDroneTo(const FString& Variable,
EDroneEndAction EndAction);
195 void HandleMoveDroneToAndStop(const FString& Variable);
197 void HandleSetAllSensorsEnabled(const FString& Variable);
199 void HandleEnableAllSensors(const FString& Variable);
201 void HandleDisableAllSensors(const FString& Variable);
203 void HandleSetSensorEnabled(const FString& Variable);
205 void HandleSetWPO(const FString& Variable);
207 void HandleSetNaniteMaxPixelsPerEdge(const FString& Variable);
209 void HandleDestroyTreesArea(const FString& Variable);
211 void HandleDestroyActorsArea(const FString& Variable);
213 void HandleDestroyActors(const FString& Variable,
bool OnlyTrees);
void(UROSCommands::* CommandHandler)(const FString &)
static TMap< FString, FCommand > CommandHandlers
FCommand(CommandHandler InHandler, float InCooldownTime, const FString &InDefaultValue="")