CARLA
Loading...
Searching...
No Matches
Unreal
CarlaUnreal
Plugins
Carla
Source
Carla
Sensor
SensorManager.cpp
Go to the documentation of this file.
1
// Copyright (c) 2026 Computer Vision Center (CVC) at the Universitat Autonoma
2
// de Barcelona (UAB).
3
//
4
// This work is licensed under the terms of the MIT license.
5
// For a copy, see <https://opensource.org/licenses/MIT>.
6
7
#include "
SensorManager.h
"
8
#include "
Carla/Sensor/CarlaLidarSubsystem.h
"
9
#include "Engine/World.h"
10
#include "
Sensor.h
"
11
#include "
Carla/Sensor/ImageUtil.h
"
12
13
void
FSensorManager::RegisterSensor
(
ASensor
* Sensor)
14
{
15
SensorList
.Emplace(Sensor);
16
}
17
18
void
FSensorManager::DeRegisterSensor
(
ASensor
* Sensor)
19
{
20
SensorList
.Remove(Sensor);
21
}
22
23
void
FSensorManager::PostPhysTick
(UWorld *World, ELevelTick TickType,
float
DeltaSeconds)
24
{
25
TRACE_CPUPROFILER_EVENT_SCOPE(
FSensorManager::PostPhysTick
);
26
27
UCarlaLidarSubsystem
* LidarSubsystem = World ? World->GetSubsystem<
UCarlaLidarSubsystem
>() :
nullptr
;
28
if
(LidarSubsystem !=
nullptr
)
29
{
30
LidarSubsystem->
StartLidarSimulations
(World, DeltaSeconds);
31
}
32
33
for
(
ASensor
* Sensor :
SensorList
)
34
{
35
Sensor->PostPhysTickInternal(World, TickType, DeltaSeconds);
36
}
37
// Every camera above only recorded its GPU copy; synchronize the GPU once
38
// and deliver the whole batch (one pipeline drain per tick instead of one
39
// per camera).
40
ImageUtil::FlushBatchedReadbacks
();
41
42
if
(LidarSubsystem !=
nullptr
)
43
{
44
LidarSubsystem->
FinishLidarSimulations
(World, DeltaSeconds);
45
}
46
}
CarlaLidarSubsystem.h
ImageUtil.h
SensorManager.h
Sensor.h
ASensor
Base class for sensors.
Definition
Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Sensor/Sensor.h:82
FSensorManager::SensorList
TArray< ASensor * > SensorList
Definition
SensorManager.h:24
FSensorManager::PostPhysTick
void PostPhysTick(UWorld *World, ELevelTick TickType, float DeltaSeconds)
Definition
SensorManager.cpp:23
FSensorManager::DeRegisterSensor
void DeRegisterSensor(ASensor *Sensor)
Definition
SensorManager.cpp:18
FSensorManager::RegisterSensor
void RegisterSensor(ASensor *Sensor)
Definition
SensorManager.cpp:13
UCarlaLidarSubsystem
Subsystem responsible for simulating all ray-cast LiDARs of a world.
Definition
CarlaLidarSubsystem.h:27
UCarlaLidarSubsystem::FinishLidarSimulations
void FinishLidarSimulations(UWorld *World, float DeltaSeconds)
Definition
CarlaLidarSubsystem.cpp:115
UCarlaLidarSubsystem::StartLidarSimulations
void StartLidarSimulations(UWorld *World, float DeltaSeconds)
Definition
CarlaLidarSubsystem.cpp:56
ImageUtil::FlushBatchedReadbacks
void FlushBatchedReadbacks()
Definition
ImageUtil.cpp:351
Generated by
1.9.8