#include <ServerSideSensor.h>
Public 成员函数 | |
bool | Destroy () override |
void | DisableForROS () |
禁用此传感器以进行 ROS2 发布 | |
void | EnableForROS () |
启用此传感器以进行 ROS2 发布 | |
bool | IsEnabledForROS () |
如果传感器正在为 ROS2 发布,则返回 | |
bool | IsListening () const override |
返回此传感器实例当前是否正在监听模拟器中的相关传感器。 | |
bool | IsListeningGBuffer (uint32_t id) const |
void | Listen (CallbackFunctionType callback) override |
注册一个 回调,每次收到新的测量值时执行。 | |
void | ListenToGBuffer (uint32_t GBufferId, CallbackFunctionType callback) |
监听 fr | |
void | Send (std::string message) |
通过该传感器发送数据 | |
void | Stop () override |
停止监听新的测量结果。 | |
void | StopGBuffer (uint32_t GBufferId) |
停止监听特定的 gbuffer 流。 | |
~ServerSideSensor () | |
![]() | |
Actor (ActorInitializer init) | |
使用Actor的构造函数初始化Sensor对象。 | |
![]() | |
Actor (ActorInitializer init) | |
void | AddAngularImpulse (const geom::Vector3D &vector) |
对行为体施加角冲量。 | |
void | AddForce (const geom::Vector3D &force) |
在行为体的质心施加力。 | |
void | AddForce (const geom::Vector3D &force, const geom::Vector3D &location) |
在某个位置对行为体施加力。 | |
void | AddImpulse (const geom::Vector3D &impulse, const geom::Vector3D &location) |
在某个位置对行为体施加冲量。 | |
void | AddImpulse (const geom::Vector3D &vector) |
在行为体的质心施加冲量。 | |
void | AddTorque (const geom::Vector3D &vector) |
对行为体施加扭矩。 | |
void | DisableConstantVelocity () |
禁用恒定速度模式。 | |
void | EnableConstantVelocity (const geom::Vector3D &vector) |
启用恒定速度模式。 | |
geom::Vector3D | GetAcceleration () const |
返回行为体的当前3D加速度。 | |
rpc::ActorState | GetActorState () const |
geom::Vector3D | GetAngularVelocity () const |
返回行为体的当前3D角速度。 | |
std::vector< std::string > | GetBoneNames () const |
std::vector< geom::Transform > | GetBoneRelativeTransforms () const |
std::vector< geom::Transform > | GetBoneWorldTransforms () const |
std::vector< std::string > | GetComponentNames () const |
geom::Transform | GetComponentRelativeTransform (const std::string componentName) const |
获取指定组件相对于Actor的相对坐标变换。 这个函数返回一个包含位置、旋转和平移信息的Transform对象, 表示指定组件相对于Actor原点的位置和方向。 | |
geom::Transform | GetComponentWorldTransform (const std::string componentName) const |
获取指定组件的世界坐标变换。 这个函数返回一个包含位置、旋转和平移信息的Transform对象, 表示指定组件在世界坐标系中的位置和方向。 | |
geom::Location | GetLocation () const |
返回行为体的当前位置。 | |
std::vector< std::string > | GetSocketNames () const |
std::vector< geom::Transform > | GetSocketRelativeTransforms () const |
std::vector< geom::Transform > | GetSocketWorldTransforms () const |
geom::Transform | GetTransform () const |
返回行为体的当前变换(位置和方向)。 | |
geom::Vector3D | GetVelocity () const |
返回行为体的当前3D速度。 | |
bool | IsActive () const |
bool | IsAlive () const |
bool | IsDormant () const |
const auto & | Serialize () const |
void | SetActorDead () |
将行为体标记为已死亡并开始其生命周期。 | |
void | SetCollisions (bool enabled=true) |
启用或禁用该行为体的碰撞。 | |
void | SetEnableGravity (bool enabled=true) |
启用或禁用该行为体的重力。 | |
void | SetLocation (const geom::Location &location) |
将行为体传送到 location。 | |
void | SetSimulatePhysics (bool enabled=true) |
启用或禁用该行为体的物理模拟。 | |
void | SetTargetAngularVelocity (const geom::Vector3D &vector) |
在应用物理之前设置行为体的角速度。 | |
void | SetTargetVelocity (const geom::Vector3D &vector) |
在应用物理之前设置行为体的速度。 | |
void | SetTransform (const geom::Transform &transform) |
将行为体传送并旋转到 transform。 | |
virtual | ~Actor ()=default |
![]() | |
const std::vector< ActorAttributeValue > & | GetAttributes () const |
const std::string & | GetDisplayId () const |
ActorId | GetId () const |
SharedPtr< Actor > | GetParent () const |
ActorId | GetParentId () const |
const std::vector< uint8_t > & | GetSemanticTags () const |
const std::string & | GetTypeId () const |
World | GetWorld () const |
Private 属性 | |
std::bitset< 16 > | listening_mask |
额外继承的成员函数 | |
![]() | |
using | CallbackFunctionType = std::function<void(SharedPtr<sensor::SensorData>)> |
回调函数的类型别名,用于接收传感器数据。 | |
![]() | |
ActorState (rpc::Actor description, EpisodeProxy episode) | |
const rpc::Actor & | GetActorDescription () const |
const geom::BoundingBox & | GetBoundingBox () const |
EpisodeProxy & | GetEpisode () |
const EpisodeProxy & | GetEpisode () const |
在文件 ServerSideSensor.h 第 15 行定义.
carla::client::ServerSideSensor::~ServerSideSensor | ( | ) |
在文件 ServerSideSensor.cpp 第 21 行定义.
引用了 GBufferTextureCount, carla::client::detail::ActorState::GetDisplayId(), carla::client::detail::ActorState::GetEpisode(), carla::client::Actor::IsAlive(), IsListening(), IsValid(), listening_mask, carla::log_error(), carla::log_warning(), Stop() , 以及 StopGBuffer().
|
overridevirtual |
另外停止监听。
重载 carla::client::Actor .
在文件 ServerSideSensor.cpp 第 139 行定义.
引用了 GBufferTextureCount, carla::client::detail::ActorState::GetDisplayId(), IsListening(), listening_mask, carla::log_debug(), Stop() , 以及 StopGBuffer().
void carla::client::ServerSideSensor::DisableForROS | ( | ) |
禁用此传感器以进行 ROS2 发布
在文件 ServerSideSensor.cpp 第 127 行定义.
引用了 carla::client::detail::ActorState::GetEpisode() , 以及 carla::client::detail::EpisodeProxyImpl< PointerT >::Lock().
void carla::client::ServerSideSensor::EnableForROS | ( | ) |
启用此传感器以进行 ROS2 发布
在文件 ServerSideSensor.cpp 第 121 行定义.
引用了 carla::client::detail::ActorState::GetEpisode() , 以及 carla::client::detail::EpisodeProxyImpl< PointerT >::Lock().
bool carla::client::ServerSideSensor::IsEnabledForROS | ( | ) |
如果传感器正在为 ROS2 发布,则返回
在文件 ServerSideSensor.cpp 第 133 行定义.
引用了 carla::client::detail::ActorState::GetEpisode() , 以及 carla::client::detail::EpisodeProxyImpl< PointerT >::Lock().
|
inlineoverridevirtual |
返回此传感器实例当前是否正在监听模拟器中的相关传感器。
在文件 ServerSideSensor.h 第 32 行定义.
引用了 listening_mask.
被这些函数引用 Destroy(), Stop() , 以及 ~ServerSideSensor().
|
inline |
在文件 ServerSideSensor.h 第 42 行定义.
引用了 listening_mask.
|
overridevirtual |
注册一个 回调,每次收到新的测量值时执行。
在文件 ServerSideSensor.cpp 第 46 行定义.
引用了 carla::client::detail::ActorState::GetDisplayId(), carla::client::detail::ActorState::GetEpisode(), listening_mask, carla::client::detail::EpisodeProxyImpl< PointerT >::Lock() , 以及 carla::log_debug().
void carla::client::ServerSideSensor::ListenToGBuffer | ( | uint32_t | GBufferId, |
CallbackFunctionType | callback ) |
监听 fr
在文件 ServerSideSensor.cpp 第 84 行定义.
引用了 GBufferTextureCount, carla::client::detail::ActorState::GetActorDescription(), carla::client::detail::ActorState::GetDisplayId(), carla::client::detail::ActorState::GetEpisode(), carla::rpc::Actor::id, listening_mask, carla::client::detail::EpisodeProxyImpl< PointerT >::Lock(), carla::log_debug(), carla::log_warning() , 以及 RELEASE_ASSERT.
void carla::client::ServerSideSensor::Send | ( | std::string | message | ) |
通过该传感器发送数据
在文件 ServerSideSensor.cpp 第 70 行定义.
引用了 carla::client::detail::ActorState::GetActorDescription(), carla::client::detail::ActorState::GetDisplayId(), carla::client::detail::ActorState::GetEpisode(), carla::rpc::Actor::id, carla::client::detail::EpisodeProxyImpl< PointerT >::Lock(), carla::log_debug() , 以及 carla::log_warning().
|
overridevirtual |
停止监听新的测量结果。
在文件 ServerSideSensor.cpp 第 55 行定义.
引用了 carla::client::detail::ActorState::GetDisplayId(), carla::client::detail::ActorState::GetEpisode(), IsListening(), listening_mask, carla::client::detail::EpisodeProxyImpl< PointerT >::Lock(), carla::log_debug() , 以及 carla::log_warning().
被这些函数引用 Destroy() , 以及 ~ServerSideSensor().
void carla::client::ServerSideSensor::StopGBuffer | ( | uint32_t | GBufferId | ) |
停止监听特定的 gbuffer 流。
在文件 ServerSideSensor.cpp 第 104 行定义.
引用了 GBufferTextureCount, carla::client::detail::ActorState::GetActorDescription(), carla::client::detail::ActorState::GetDisplayId(), carla::client::detail::ActorState::GetEpisode(), carla::rpc::Actor::id, listening_mask, carla::client::detail::EpisodeProxyImpl< PointerT >::Lock(), carla::log_debug(), carla::log_warning() , 以及 RELEASE_ASSERT.
被这些函数引用 Destroy() , 以及 ~ServerSideSensor().
|
private |
在文件 ServerSideSensor.h 第 65 行定义.
被这些函数引用 Destroy(), IsListening(), IsListeningGBuffer(), Listen(), ListenToGBuffer(), Stop(), StopGBuffer() , 以及 ~ServerSideSensor().