|
CARLA
|
Subsystem responsible for simulating all ray-cast LiDARs of a world. More...
#include <CarlaLidarSubsystem.h>
Inheritance diagram for UCarlaLidarSubsystem:Public Member Functions | |
| virtual void | Deinitialize () override |
| void | FinishLidarSimulations (UWorld *World, float DeltaSeconds) |
| int32 | GetActiveLidarCount () const |
| bool | HasActiveLidars () const |
| void | RegisterLidar (ARayCastSemanticLidar *Lidar) |
| void | StartLidarSimulations (UWorld *World, float DeltaSeconds) |
| void | UnregisterLidar (ARayCastSemanticLidar *Lidar) |
Private Attributes | |
| TArray< TWeakObjectPtr< ARayCastSemanticLidar > > | ActiveLidars |
| FGraphEventRef | LidarSimulationTask |
| TArray< TObjectPtr< ARayCastSemanticLidar > > | LidarsToSimulate |
| LiDARs due this frame, snapshotted on the game thread for the simulation task. | |
Subsystem responsible for simulating all ray-cast LiDARs of a world.
Registered LiDARs are simulated asynchronously via TaskGraph high-priority worker tasks while the Game Thread processes remaining sensors (cameras, etc.). FSensorManager::PostPhysTick calls StartLidarSimulations() at the beginning of the post-physics tick, and FinishLidarSimulations() after other sensors finish.
Definition at line 26 of file CarlaLidarSubsystem.h.
|
overridevirtual |
Definition at line 23 of file CarlaLidarSubsystem.cpp.
References ActiveLidars, LidarSimulationTask, and LidarsToSimulate.
| void UCarlaLidarSubsystem::FinishLidarSimulations | ( | UWorld * | World, |
| float | DeltaSeconds | ||
| ) |
Definition at line 115 of file CarlaLidarSubsystem.cpp.
References FinishLidarSimulations(), IsValid(), LidarSimulationTask, and LidarsToSimulate.
Referenced by FinishLidarSimulations(), and FSensorManager::PostPhysTick().
|
inline |
Definition at line 43 of file CarlaLidarSubsystem.h.
|
inline |
Definition at line 38 of file CarlaLidarSubsystem.h.
Referenced by StartLidarSimulations().
| void UCarlaLidarSubsystem::RegisterLidar | ( | ARayCastSemanticLidar * | Lidar | ) |
Definition at line 35 of file CarlaLidarSubsystem.cpp.
References ActiveLidars, FSensorManager::DeRegisterSensor(), UCarlaStatics::GetCurrentEpisode(), and UCarlaEpisode::GetSensorManager().
| void UCarlaLidarSubsystem::StartLidarSimulations | ( | UWorld * | World, |
| float | DeltaSeconds | ||
| ) |
Definition at line 56 of file CarlaLidarSubsystem.cpp.
References ActiveLidars, CVarLidarBatch(), HasActiveLidars(), ASensor::IsReadyToTick(), LidarSimulationTask, LidarsToSimulate, and StartLidarSimulations().
Referenced by FSensorManager::PostPhysTick(), and StartLidarSimulations().
| void UCarlaLidarSubsystem::UnregisterLidar | ( | ARayCastSemanticLidar * | Lidar | ) |
Definition at line 50 of file CarlaLidarSubsystem.cpp.
References ActiveLidars.
|
private |
Definition at line 54 of file CarlaLidarSubsystem.h.
Referenced by Deinitialize(), RegisterLidar(), StartLidarSimulations(), and UnregisterLidar().
|
private |
Definition at line 59 of file CarlaLidarSubsystem.h.
Referenced by Deinitialize(), FinishLidarSimulations(), and StartLidarSimulations().
|
private |
LiDARs due this frame, snapshotted on the game thread for the simulation task.
Definition at line 57 of file CarlaLidarSubsystem.h.
Referenced by Deinitialize(), FinishLidarSimulations(), and StartLidarSimulations().