24 : Super(ObjectInitializer)
26 PrimaryActorTick.bCanEverTick =
true;
27 RandomEngine = CreateDefaultSubobject<URandomEngine>(TEXT(
"RandomEngine"));
43 UWorld *world = GetWorld();
49 Super::SetOwner(NewOwner);
63 Super::EndPlay(EndPlayReason);
74 Super::Set(ActorDescription);
81 CaServiceObj->SetParams(GenCamMin, GenCamMax, FixedRate);
85 const float ReceiverSensitivity,
86 const float Frequency,
87 const float combined_antenna_gain,
88 const float path_loss_exponent,
89 const float reference_distance_fspl,
90 const float filter_distance,
91 const bool use_etsi_fading,
92 const float custom_fading_stddev)
95 PathLossModelObj->SetParams(TransmitPower, ReceiverSensitivity, Frequency, combined_antenna_gain, path_loss_exponent, reference_distance_fspl, filter_distance, use_etsi_fading, custom_fading_stddev);
120 Super::PrePhysTick(DeltaSeconds);
145 const float noise_lon_stddev,
146 const float noise_alt_stddev,
147 const float noise_head_stddev,
148 const float noise_lat_bias,
149 const float noise_lon_bias,
150 const float noise_alt_bias,
151 const float noise_head_bias)
170 CaServiceObj->SetYawrateDeviation(noise_yawrate_stddev, noise_yawrate_bias);
182 std::vector<ActorPowerPair> ActorPowerList;
185 if (pair.first !=
this)
188 actor_power_pair.first = pair.first;
190 actor_power_pair.second = pair.second.Power;
191 ActorPowerList.push_back(actor_power_pair);
197 if (!ActorPowerList.empty())
208 for (
const auto &pair : actor_receivepower_map)
223 received_msg_and_pw.
Power = pair.second;
225 msg_received_power_list.
WriteMessage(received_msg_and_pw);
233 DataStream.SerializeAndSend(*
this, msg_received_power_list, DataStream.PopBufferFromPool());
std::pair< AActor *, float > ActorPowerPair
std::map< AActor *, float > ActorPowerMap
FAsyncDataStream GetDataStream(SensorType &&Self)
Return the FDataStream associated with this sensor.
URandomEngine * RandomEngine
Random Engine used to provide noise for sensor output.
void Set(const FActorDescription &ActorDescription) override
virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override
void SetPropagationParams(const float TransmitPower, const float ReceiverSensitivity, const float Frequency, const float combined_antenna_gain, const float path_loss_exponent, const float reference_distance_fspl, const float filter_distance, const bool use_etsi_fading, const float custom_fading_stddev)
virtual void PrePhysTick(float DeltaSeconds) override
static ActorV2XDataMap mActorV2XDataMap
std::unique_ptr< CaService > CaServiceObj
void SetGNSSDeviation(const float noise_lat_stddev, const float noise_lon_stddev, const float noise_alt_stddev, const float noise_head_stddev, const float noise_lat_bias, const float noise_lon_bias, const float noise_alt_bias, const float noise_head_bias)
void InitModel(AActor *Owner)
void SetAccelerationStandardDeviation(const FVector &Vec)
void SetPathLossModel(const EPathLossModel path_loss_model)
static FActorDefinition GetSensorDefinition()
std::map< AActor *, carla::sensor::data::CAMData > ActorV2XDataMap
std::unique_ptr< PathLossModel > PathLossModelObj
virtual void PostPhysTick(UWorld *World, ELevelTick TickType, float DeltaTime) override
AV2XSensor(const FObjectInitializer &ObjectInitializer)
void SetScenario(EScenario scenario)
void SetOwner(AActor *Owner) override
void SetYawrateDeviation(const float noise_yawrate_stddev, const float noise_yawrate_bias)
void SetCaServiceParams(const float GenCamMin, const float GenCamMax, const bool FixedRate)
void SetVelDeviation(const float noise_vel_stddev)
A registry of all the Carla actors.
static void SetV2X(const FActorDescription &Description, AV2XSensor *V2X)
static FActorDefinition MakeV2XDefinition()
const FActorRegistry & GetActorRegistry() const
static UCarlaEpisode * GetCurrentEpisode(const UObject *WorldContextObject)
void WriteMessage(const CAMData &message)
Adds a new message.
size_t GetMessageCount() const
Returns the number of currently received messages.
A definition of a Carla Actor with all the variation and attributes.
A description of a Carla Actor with all its variation.