#include <ROS2.h>
Public 成员函数 | |
void | AddActorCallback (void *actor, std::string ros_name, ActorCallback callback) |
void | AddActorParentRosName (void *actor, void *parent) |
void | AddActorRosName (void *actor, std::string ros_name) |
void | Enable (bool enable) |
void | EnableStream (carla::streaming::detail::stream_id_type id) |
std::string | GetActorParentRosName (void *actor) |
std::string | GetActorRosName (void *actor) |
bool | IsEnabled () |
bool | IsStreamEnabled (carla::streaming::detail::stream_id_type id) |
void | ProcessDataFromCamera (uint64_t sensor_type, carla::streaming::detail::stream_id_type stream_id, const carla::geom::Transform sensor_transform, int W, int H, float Fov, const carla::SharedBufferView buffer, void *actor=nullptr) |
void | ProcessDataFromCollisionSensor (uint64_t sensor_type, carla::streaming::detail::stream_id_type stream_id, const carla::geom::Transform sensor_transform, uint32_t other_actor, carla::geom::Vector3D impulse, void *actor) |
void | ProcessDataFromDVS (uint64_t sensor_type, carla::streaming::detail::stream_id_type stream_id, const carla::geom::Transform sensor_transform, const carla::SharedBufferView buffer, int W, int H, float Fov, void *actor=nullptr) |
void | ProcessDataFromGNSS (uint64_t sensor_type, carla::streaming::detail::stream_id_type stream_id, const carla::geom::Transform sensor_transform, const carla::geom::GeoLocation &data, void *actor=nullptr) |
void | ProcessDataFromIMU (uint64_t sensor_type, carla::streaming::detail::stream_id_type stream_id, const carla::geom::Transform sensor_transform, carla::geom::Vector3D accelerometer, carla::geom::Vector3D gyroscope, float compass, void *actor=nullptr) |
void | ProcessDataFromLidar (uint64_t sensor_type, carla::streaming::detail::stream_id_type stream_id, const carla::geom::Transform sensor_transform, carla::sensor::data::LidarData &data, void *actor=nullptr) |
void | ProcessDataFromObstacleDetection (uint64_t sensor_type, carla::streaming::detail::stream_id_type stream_id, const carla::geom::Transform sensor_transform, AActor *first_actor, AActor *second_actor, float distance, void *actor=nullptr) |
void | ProcessDataFromRadar (uint64_t sensor_type, carla::streaming::detail::stream_id_type stream_id, const carla::geom::Transform sensor_transform, const carla::sensor::data::RadarData &data, void *actor=nullptr) |
void | ProcessDataFromSemanticLidar (uint64_t sensor_type, carla::streaming::detail::stream_id_type stream_id, const carla::geom::Transform sensor_transform, carla::sensor::data::SemanticLidarData &data, void *actor=nullptr) |
void | RemoveActorCallback (void *actor) |
void | RemoveActorRosName (void *actor) |
void | ResetStreams () |
ROS2 (const ROS2 &obj)=delete | |
void | SetFrame (uint64_t frame) |
void | SetTimestamp (double timestamp) |
void | Shutdown () |
void | UpdateActorRosName (void *actor, std::string ros_name) |
静态 Public 成员函数 | |
static std::shared_ptr< ROS2 > | GetInstance () |
Private 成员函数 | |
std::pair< std::shared_ptr< CarlaPublisher >, std::shared_ptr< CarlaTransformPublisher > > | GetOrCreateSensor (int type, carla::streaming::detail::stream_id_type id, void *actor) |
ROS2 () | |
Private 属性 | |
std::unordered_map< void *, ActorCallback > | _actor_callbacks |
std::unordered_map< void *, std::vector< void * > > | _actor_parent_ros_name |
std::unordered_map< void *, std::string > | _actor_ros_name |
std::shared_ptr< CarlaClockPublisher > | _clock_publisher |
std::shared_ptr< CarlaEgoVehicleControlSubscriber > | _controller |
bool | _enabled { false } |
uint64_t | _frame { 0 } |
uint32_t | _nanoseconds { 0 } |
std::unordered_set< carla::streaming::detail::stream_id_type > | _publish_stream |
std::unordered_map< void *, std::shared_ptr< CarlaPublisher > > | _publishers |
int32_t | _seconds { 0 } |
std::unordered_map< void *, std::shared_ptr< CarlaTransformPublisher > > | _transforms |
静态 Private 属性 | |
static std::shared_ptr< ROS2 > | _instance |
|
delete |
void carla::ros2::ROS2::AddActorCallback | ( | void * | actor, |
std::string | ros_name, | ||
ActorCallback | callback ) |
引用了 _actor_callbacks , 以及 _controller.
void carla::ros2::ROS2::AddActorParentRosName | ( | void * | actor, |
void * | parent ) |
void carla::ros2::ROS2::AddActorRosName | ( | void * | actor, |
std::string | ros_name ) |
引用了 _actor_ros_name.
void carla::ros2::ROS2::Enable | ( | bool | enable | ) |
|
inline |
引用了 _publish_stream.
std::string carla::ros2::ROS2::GetActorParentRosName | ( | void * | actor | ) |
引用了 _actor_parent_ros_name , 以及 GetActorRosName().
被这些函数引用 GetOrCreateSensor().
std::string carla::ros2::ROS2::GetActorRosName | ( | void * | actor | ) |
|
inlinestatic |
引用了 _instance.
被这些函数引用 FCarlaServer::FPimpl::BindActions(), FCarlaEngine::NotifyInitGame(), UActorDispatcher::OnActorDestroyed(), ACollisionSensor::OnCollisionEvent(), AObstacleDetectionSensor::OnObstacleDetectionEvent(), AGnssSensor::PostPhysTick(), ARayCastLidar::PostPhysTick(), ADVSCamera::PostPhysTick(), AInertialMeasurementUnit::PostPhysTick(), ARadar::PostPhysTick(), ARayCastSemanticLidar::PostPhysTick(), UActorDispatcher::RegisterActor(), FCarlaEngine::ResetFrameCounter(), FPixelReader::SendPixelsInRenderThread(), UCarlaEpisode::TickTimers(), FCarlaEngine::UpdateFrameCounter() , 以及 FCarlaEngine::~FCarlaEngine().
|
private |
引用了 _publishers, _transforms, carla::ros2::CameraGBufferFloat, carla::ros2::CameraGBufferUint8, carla::ros2::CollisionSensor, carla::ros2::DepthCamera, carla::ros2::DVSCamera, GetActorParentRosName(), GetActorRosName(), carla::ros2::GnssSensor, carla::ros2::InertialMeasurementUnit, carla::ros2::InstanceSegmentationCamera, carla::ros2::LaneInvasionSensor, carla::ros2::NormalsCamera, carla::ros2::ObstacleDetectionSensor, carla::ros2::OpticalFlowCamera, carla::ros2::Radar, carla::ros2::RayCastLidar, carla::ros2::RayCastSemanticLidar, carla::ros2::RssSensor, carla::ros2::SceneCaptureCamera, carla::ros2::SemanticSegmentationCamera, UpdateActorRosName() , 以及 carla::ros2::WorldObserver.
被这些函数引用 ProcessDataFromCamera(), ProcessDataFromCollisionSensor(), ProcessDataFromDVS(), ProcessDataFromGNSS(), ProcessDataFromIMU(), ProcessDataFromLidar(), ProcessDataFromRadar() , 以及 ProcessDataFromSemanticLidar().
|
inline |
引用了 _publish_stream.
void carla::ros2::ROS2::ProcessDataFromCamera | ( | uint64_t | sensor_type, |
carla::streaming::detail::stream_id_type | stream_id, | ||
const carla::geom::Transform | sensor_transform, | ||
int | W, | ||
int | H, | ||
float | Fov, | ||
const carla::SharedBufferView | buffer, | ||
void * | actor = nullptr ) |
引用了 _frame, _nanoseconds, _seconds, carla::ros2::CameraGBufferFloat, carla::ros2::CameraGBufferUint8, carla::ros2::CollisionSensor, carla::ros2::DepthCamera, GetOrCreateSensor(), carla::sensor::s11n::ImageSerializer::header_offset, carla::sensor::s11n::OpticalFlowImageSerializer::header_offset, carla::sensor::s11n::ImageSerializer::ImageHeader::height, carla::sensor::s11n::OpticalFlowImageSerializer::ImageHeader::height, carla::ros2::InstanceSegmentationCamera, carla::ros2::LaneInvasionSensor, carla::geom::Transform::location, carla::log_info(), carla::ros2::NormalsCamera, carla::ros2::OpticalFlowCamera, carla::geom::Transform::rotation, carla::ros2::RssSensor, carla::ros2::SceneCaptureCamera, carla::ros2::SemanticSegmentationCamera, carla::sensor::s11n::ImageSerializer::ImageHeader::width, carla::sensor::s11n::OpticalFlowImageSerializer::ImageHeader::width , 以及 carla::ros2::WorldObserver.
void carla::ros2::ROS2::ProcessDataFromCollisionSensor | ( | uint64_t | sensor_type, |
carla::streaming::detail::stream_id_type | stream_id, | ||
const carla::geom::Transform | sensor_transform, | ||
uint32_t | other_actor, | ||
carla::geom::Vector3D | impulse, | ||
void * | actor ) |
void carla::ros2::ROS2::ProcessDataFromDVS | ( | uint64_t | sensor_type, |
carla::streaming::detail::stream_id_type | stream_id, | ||
const carla::geom::Transform | sensor_transform, | ||
const carla::SharedBufferView | buffer, | ||
int | W, | ||
int | H, | ||
float | Fov, | ||
void * | actor = nullptr ) |
引用了 _frame, _nanoseconds, _seconds, carla::ros2::DVSCamera, GetOrCreateSensor(), carla::sensor::s11n::ImageSerializer::header_offset, carla::sensor::s11n::ImageSerializer::ImageHeader::height, carla::geom::Transform::location, carla::log_info(), carla::geom::Transform::rotation , 以及 carla::sensor::s11n::ImageSerializer::ImageHeader::width.
void carla::ros2::ROS2::ProcessDataFromGNSS | ( | uint64_t | sensor_type, |
carla::streaming::detail::stream_id_type | stream_id, | ||
const carla::geom::Transform | sensor_transform, | ||
const carla::geom::GeoLocation & | data, | ||
void * | actor = nullptr ) |
void carla::ros2::ROS2::ProcessDataFromIMU | ( | uint64_t | sensor_type, |
carla::streaming::detail::stream_id_type | stream_id, | ||
const carla::geom::Transform | sensor_transform, | ||
carla::geom::Vector3D | accelerometer, | ||
carla::geom::Vector3D | gyroscope, | ||
float | compass, | ||
void * | actor = nullptr ) |
void carla::ros2::ROS2::ProcessDataFromLidar | ( | uint64_t | sensor_type, |
carla::streaming::detail::stream_id_type | stream_id, | ||
const carla::geom::Transform | sensor_transform, | ||
carla::sensor::data::LidarData & | data, | ||
void * | actor = nullptr ) |
void carla::ros2::ROS2::ProcessDataFromObstacleDetection | ( | uint64_t | sensor_type, |
carla::streaming::detail::stream_id_type | stream_id, | ||
const carla::geom::Transform | sensor_transform, | ||
AActor * | first_actor, | ||
AActor * | second_actor, | ||
float | distance, | ||
void * | actor = nullptr ) |
void carla::ros2::ROS2::ProcessDataFromRadar | ( | uint64_t | sensor_type, |
carla::streaming::detail::stream_id_type | stream_id, | ||
const carla::geom::Transform | sensor_transform, | ||
const carla::sensor::data::RadarData & | data, | ||
void * | actor = nullptr ) |
void carla::ros2::ROS2::ProcessDataFromSemanticLidar | ( | uint64_t | sensor_type, |
carla::streaming::detail::stream_id_type | stream_id, | ||
const carla::geom::Transform | sensor_transform, | ||
carla::sensor::data::SemanticLidarData & | data, | ||
void * | actor = nullptr ) |
void carla::ros2::ROS2::RemoveActorCallback | ( | void * | actor | ) |
void carla::ros2::ROS2::RemoveActorRosName | ( | void * | actor | ) |
引用了 _actor_parent_ros_name, _actor_ros_name, _publishers , 以及 _transforms.
|
inline |
引用了 _publish_stream.
void carla::ros2::ROS2::SetFrame | ( | uint64_t | frame | ) |
void carla::ros2::ROS2::SetTimestamp | ( | double | timestamp | ) |
引用了 _clock_publisher, _nanoseconds , 以及 _seconds.
void carla::ros2::ROS2::Shutdown | ( | ) |
引用了 _clock_publisher, _controller, _enabled, _publishers , 以及 _transforms.
void carla::ros2::ROS2::UpdateActorRosName | ( | void * | actor, |
std::string | ros_name ) |
|
private |
被这些函数引用 AddActorCallback(), RemoveActorCallback() , 以及 SetFrame().
|
private |
被这些函数引用 AddActorParentRosName(), GetActorParentRosName() , 以及 RemoveActorRosName().
|
private |
被这些函数引用 AddActorRosName(), GetActorRosName(), RemoveActorRosName() , 以及 UpdateActorRosName().
|
private |
被这些函数引用 Enable(), SetTimestamp() , 以及 Shutdown().
|
private |
被这些函数引用 AddActorCallback(), RemoveActorCallback(), SetFrame() , 以及 Shutdown().
|
private |
被这些函数引用 Enable(), IsEnabled() , 以及 Shutdown().
|
private |
|
staticprivate |
被这些函数引用 GetInstance().
|
private |
|
private |
被这些函数引用 EnableStream(), IsStreamEnabled() , 以及 ResetStreams().
|
private |
被这些函数引用 GetOrCreateSensor(), RemoveActorRosName() , 以及 Shutdown().
|
private |
|
private |
被这些函数引用 GetOrCreateSensor(), RemoveActorRosName() , 以及 Shutdown().