CARLA
 
载入中...
搜索中...
未找到
Public 类型 | Public 成员函数 | Private 成员函数 | Private 属性 | 友元 | 所有成员列表
FAsyncDataStreamTmpl类 参考

异步数据。“发送”功能发送的数据被传递给 序列化程序在carla::sensor:SensorRegistry上注册了传感器 被顺流而下。 更多...

#include <AsyncDataStream.h>

+ FAsyncDataStreamTmpl 的协作图:

Public 类型

using StreamType = T
 

Public 成员函数

 FAsyncDataStreamTmpl (FAsyncDataStreamTmpl &&)=default
 
double GetSensorTimestamp ()
 返回传感器的时间戳
 
FTransform GetSensorTransform ()
 返回传感器的变换
 
uint64_t GetSensorType ()
 返回此流的传感器类型
 
auto GetToken () const
 返回允许订阅此流的令牌。
 
carla::Buffer PopBufferFromPool ()
 从池中弹出缓冲区。池中的缓冲区可以重用以前消息分配的内存,从而显著提高大消息的性能。
 
template<typename SensorT , typename... ArgsT>
void Send (SensorT &Sensor, ArgsT &&... Args)
 向下游发送一些数据。
 
template<typename SensorT , typename... ArgsT>
void SerializeAndSend (SensorT &Sensor, ArgsT &&... Args)
 
void SetFrameNumber (uint64_t FrameNumber)
 允许更改标头的帧号
 

Private 成员函数

template<typename SensorT >
 FAsyncDataStreamTmpl (const SensorT &InSensor, double Timestamp, StreamType InStream)
 @这个函数需要在游戏线程中调用。
 

Private 属性

carla::Buffer Header
 
StreamType Stream
 

友元

class FDataStreamTmpl< T >
 

详细描述

异步数据。“发送”功能发送的数据被传递给 序列化程序在carla::sensor:SensorRegistry上注册了传感器 被顺流而下。

警告
这是一个一次性对象,需要为每个对象创建一个新对象 新消息。

FAsyncDataStream还有一个carla::Buffer池,允许重用 分配内存,尽可能使用它。

在文件 AsyncDataStream.h34 行定义.

成员类型定义说明

◆ StreamType

在文件 AsyncDataStream.h38 行定义.

构造及析构函数说明

◆ FAsyncDataStreamTmpl() [1/2]

FAsyncDataStreamTmpl::FAsyncDataStreamTmpl ( FAsyncDataStreamTmpl && )
default

◆ FAsyncDataStreamTmpl() [2/2]

template<typename SensorT >
FAsyncDataStreamTmpl::FAsyncDataStreamTmpl ( const SensorT & InSensor,
double Timestamp,
StreamType InStream )
inlineexplicitprivate

@这个函数需要在游戏线程中调用。

在文件 AsyncDataStreamImpl.h18 行定义.

引用了 FCarlaEngine::GetFrameCounter().

+ 函数调用图:

成员函数说明

◆ GetSensorTimestamp()

double FAsyncDataStreamTmpl::GetSensorTimestamp ( )
inline

返回传感器的时间戳

在文件 AsyncDataStream.h101 行定义.

◆ GetSensorTransform()

FTransform FAsyncDataStreamTmpl::GetSensorTransform ( )
inline

返回传感器的变换

在文件 AsyncDataStream.h89 行定义.

引用了 carla::sensor::s11n::SensorHeaderSerializer::Header::sensor_transform.

◆ GetSensorType()

uint64_t FAsyncDataStreamTmpl::GetSensorType ( )
inline

返回此流的传感器类型

在文件 AsyncDataStream.h77 行定义.

引用了 carla::sensor::s11n::SensorHeaderSerializer::Header::sensor_type.

◆ GetToken()

auto FAsyncDataStreamTmpl::GetToken ( ) const
inline

返回允许订阅此流的令牌。

在文件 AsyncDataStream.h43 行定义.

引用了 Stream.

◆ PopBufferFromPool()

carla::Buffer FAsyncDataStreamTmpl::PopBufferFromPool ( )
inline

从池中弹出缓冲区。池中的缓冲区可以重用以前消息分配的内存,从而显著提高大消息的性能。

在文件 AsyncDataStream.h49 行定义.

引用了 Stream.

◆ Send()

template<typename SensorT , typename... ArgsT>
void FAsyncDataStreamTmpl::Send ( SensorT & Sensor,
ArgsT &&... Args )
inline

向下游发送一些数据。

在文件 AsyncDataStream.h157 行定义.

引用了 carla::BufferView::CreateFrom() , 以及 FDataStreamTmpl< T >::Stream.

+ 函数调用图:

◆ SerializeAndSend()

template<typename SensorT , typename... ArgsT>
void FAsyncDataStreamTmpl::SerializeAndSend ( SensorT & Sensor,
ArgsT &&... Args )
inline

在文件 AsyncDataStream.h142 行定义.

引用了 carla::BufferView::CreateFrom(), carla::sensor::CompositeSerializer< Items >::Serialize() , 以及 FDataStreamTmpl< T >::Stream.

被这些函数引用 ACollisionSensor::OnCollisionEvent().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ SetFrameNumber()

void FAsyncDataStreamTmpl::SetFrameNumber ( uint64_t FrameNumber)
inline

允许更改标头的帧号

在文件 AsyncDataStream.h62 行定义.

引用了 carla::sensor::s11n::SensorHeaderSerializer::Header::frame, carla::log_info() , 以及 carla::sensor::s11n::SensorHeaderSerializer::Header::sensor_type.

+ 函数调用图:

友元及相关函数文档

◆ FDataStreamTmpl< T >

friend class FDataStreamTmpl< T >
friend

在文件 AsyncDataStream.h101 行定义.

类成员变量说明

◆ Header

carla::Buffer FAsyncDataStreamTmpl::Header
private

在文件 AsyncDataStream.h125 行定义.

◆ Stream

StreamType FAsyncDataStreamTmpl::Stream
private

在文件 AsyncDataStream.h123 行定义.

被这些函数引用 GetToken() , 以及 PopBufferFromPool().


该类的文档由以下文件生成: