Classes | Public Types | Public Slots | Public Member Functions | Public Attributes | Protected Member Functions | Private Types | Private Slots | Private Member Functions | Private Attributes | List of all members
rtabmap_ros::MapCloudDisplay Class Reference

Displays point clouds from rtabmap::MapData. More...

#include <MapCloudDisplay.h>

Inheritance diagram for rtabmap_ros::MapCloudDisplay:
Inheritance graph
[legend]

Classes

struct  CloudInfo
 
struct  TransformerInfo
 

Public Types

typedef boost::shared_ptr< CloudInfoCloudInfoPtr
 
- Public Types inherited from rviz::MessageFilterDisplay< rtabmap_ros::MapData >
typedef MessageFilterDisplay< rtabmap_ros::MapData > MFDClass
 

Public Slots

void causeRetransform ()
 
- Public Slots inherited from rviz::Display
virtual void onEnableChanged ()
 
void queueRender ()
 
void setEnabled (bool enabled)
 
void setIcon (const QIcon &icon) override
 
- Public Slots inherited from rviz::BoolProperty
bool setBool (bool value)
 

Public Member Functions

 MapCloudDisplay ()
 
virtual void reset ()
 
virtual void update (float wall_dt, float ros_dt)
 
virtual ~MapCloudDisplay ()
 
- Public Member Functions inherited from rviz::MessageFilterDisplay< rtabmap_ros::MapData >
 MessageFilterDisplay ()
 
void onInitialize () override
 
void reset () override
 
void setTopic (const QString &topic, const QString &) override
 
 ~MessageFilterDisplay () override
 
- Public Member Functions inherited from rviz::_RosTopicDisplay
 _RosTopicDisplay ()
 
- Public Member Functions inherited from rviz::Display
virtual void deleteStatus (const QString &name)
 
void deleteStatusStd (const std::string &name)
 
 Display ()
 
void emitTimeSignal (ros::Time time)
 
QWidget * getAssociatedWidget () const
 
PanelDockWidgetgetAssociatedWidgetPanel ()
 
virtual QString getClassId () const
 
Ogre::SceneNode * getSceneNode () const
 
QVariant getViewData (int column, int role) const override
 
Qt::ItemFlags getViewFlags (int column) const override
 
uint32_t getVisibilityBits ()
 
void initialize (DisplayContext *context)
 
bool isEnabled () const
 
void load (const Config &config) override
 
void save (Config config) const override
 
void setAssociatedWidget (QWidget *widget)
 
virtual void setClassId (const QString &class_id)
 
void setFixedFrame (const QString &fixed_frame)
 
void setName (const QString &name) override
 
virtual void setStatus (StatusProperty::Level level, const QString &name, const QString &text)
 
void setStatusStd (StatusProperty::Level level, const std::string &name, const std::string &text)
 
void setVisibilityBits (uint32_t bits)
 
void unsetVisibilityBits (uint32_t bits)
 
 ~Display () override
 
- Public Member Functions inherited from rviz::BoolProperty
 BoolProperty (const QString &name=QString(), bool default_value=false, const QString &description=QString(), Property *parent=nullptr, const char *changed_slot=nullptr, QObject *receiver=nullptr)
 
virtual bool getBool () const
 
bool getDisableChildren () override
 
bool getDisableChildrenIfFalse ()
 
void setDisableChildrenIfFalse (bool disable)
 
 ~BoolProperty () override
 
- Public Member Functions inherited from rviz::Property
virtual void addChild (Property *child, int index=-1)
 
PropertychildAt (int index) const
 
virtual PropertychildAtUnchecked (int index) const
 
virtual void collapse ()
 
bool contains (Property *possible_child) const
 
virtual QWidget * createEditor (QWidget *parent, const QStyleOptionViewItem &option)
 
virtual void expand ()
 
virtual QString getDescription () const
 
virtual bool getHidden () const
 
virtual QIcon getIcon () const
 
PropertyTreeModelgetModel () const
 
virtual QString getName () const
 
std::string getNameStd () const
 
PropertygetParent () const
 
virtual bool getReadOnly ()
 
virtual QVariant getValue () const
 
void hide ()
 
bool isAncestorOf (Property *possible_child) const
 
virtual void moveChild (int from_index, int to_index)
 
virtual int numChildren () const
 
virtual bool paint (QPainter *painter, const QStyleOptionViewItem &option) const
 
 Property (const QString &name=QString(), const QVariant default_value=QVariant(), const QString &description=QString(), Property *parent=nullptr, const char *changed_slot=nullptr, QObject *receiver=nullptr)
 
virtual void removeChildren (int start_index=0, int count=-1)
 
int rowNumberInParent () const
 
virtual void setDescription (const QString &description)
 
virtual void setHidden (bool hidden)
 
virtual void setIcon (const QIcon &icon)
 
void setModel (PropertyTreeModel *model)
 
void setParent (Property *new_parent)
 
virtual void setReadOnly (bool read_only)
 
void setShouldBeSaved (bool save)
 
virtual bool setValue (const QVariant &new_value)
 
bool shouldBeSaved () const
 
void show ()
 
virtual PropertysubProp (const QString &sub_name)
 
PropertytakeChild (Property *child)
 
virtual PropertytakeChildAt (int index)
 
 ~Property () override
 

Public Attributes

rviz::FloatPropertyalpha_property_
 
rviz::IntPropertycloud_decimation_
 
rviz::FloatPropertycloud_filter_ceiling_height_
 
rviz::FloatPropertycloud_filter_floor_height_
 
rviz::BoolPropertycloud_from_scan_
 
rviz::FloatPropertycloud_max_depth_
 
rviz::FloatPropertycloud_min_depth_
 
rviz::FloatPropertycloud_voxel_size_
 
rviz::EnumPropertycolor_transformer_property_
 
rviz::BoolPropertydownload_graph_
 
rviz::BoolPropertydownload_map_
 
rviz::StringPropertydownload_namespace
 
rviz::FloatPropertynode_filtering_angle_
 
rviz::FloatPropertynode_filtering_radius_
 
rviz::FloatPropertypoint_pixel_size_property_
 
rviz::FloatPropertypoint_world_size_property_
 
rviz::EnumPropertystyle_property_
 
rviz::EnumPropertyxyz_transformer_property_
 

Protected Member Functions

virtual void onInitialize ()
 Do initialization. Overridden from MessageFilterDisplay. More...
 
virtual void processMessage (const rtabmap_ros::MapDataConstPtr &cloud)
 Process a single message. Overridden from MessageFilterDisplay. More...
 
- Protected Member Functions inherited from rviz::MessageFilterDisplay< rtabmap_ros::MapData >
void fixedFrameChanged () override
 
void incomingMessage (const typename rtabmap_ros::MapData ::ConstPtr &msg)
 
void onDisable () override
 
void onEnable () override
 
virtual void processMessage (const typename rtabmap_ros::MapData ::ConstPtr &msg)=0
 
virtual void subscribe ()
 
virtual void unsubscribe ()
 
void updateTopic () override
 
- Protected Member Functions inherited from rviz::Display
virtual void clearStatuses ()
 
bool initialized () const
 
- Protected Member Functions inherited from rviz::Property
void loadValue (const Config &config)
 

Private Types

typedef std::map< std::string, TransformerInfoM_TransformerInfo
 

Private Slots

void downloadGraph ()
 
void downloadMap ()
 
void downloadNamespaceChanged ()
 
void setColorTransformerOptions (EnumProperty *prop)
 
void setXyzTransformerOptions (EnumProperty *prop)
 
void updateAlpha ()
 
void updateBillboardSize ()
 
void updateCloudParameters ()
 
void updateColorTransformer ()
 
void updateStyle ()
 
void updateXyzTransformer ()
 

Private Member Functions

void downloadMap (bool graphOnly)
 
void fillTransformerOptions (rviz::EnumProperty *prop, uint32_t mask)
 
rviz::PointCloudTransformerPtr getColorTransformer (const sensor_msgs::PointCloud2ConstPtr &cloud)
 
rviz::PointCloudTransformerPtr getXYZTransformer (const sensor_msgs::PointCloud2ConstPtr &cloud)
 
void loadTransformers ()
 
void processMapData (const rtabmap_ros::MapData &map)
 
void retransform ()
 
void setPropertiesHidden (const QList< Property *> &props, bool hide)
 
bool transformCloud (const CloudInfoPtr &cloud, bool fully_update_transformers)
 Transforms the cloud into the correct frame, and sets up our renderable cloud. More...
 
void updateTransformers (const sensor_msgs::PointCloud2ConstPtr &cloud)
 

Private Attributes

ros::CallbackQueue cbqueue_
 
std::map< int, CloudInfoPtrcloud_infos_
 
std::map< int, rtabmap::Transformcurrent_map_
 
boost::mutex current_map_mutex_
 
bool current_map_updated_
 
bool fromScan_
 
int lastCloudAdded_
 
bool needs_retransform_
 
std::map< int, CloudInfoPtrnew_cloud_infos_
 
boost::mutex new_clouds_mutex_
 
bool new_color_transformer_
 
bool new_xyz_transformer_
 
std::set< int > nodeDataReceived_
 
ros::Publisher republishNodeDataPub_
 
ros::AsyncSpinner spinner_
 
pluginlib::ClassLoader< rviz::PointCloudTransformer > * transformer_class_loader_
 
M_TransformerInfo transformers_
 
boost::recursive_mutex transformers_mutex_
 

Additional Inherited Members

- Signals inherited from rviz::Display
void timeSignal (ros::Time time, QPrivateSignal)
 
- Signals inherited from rviz::Property
void aboutToChange ()
 
void changed ()
 
void childListChanged (Property *this_property)
 
- Protected Slots inherited from rviz::_RosTopicDisplay
- Protected Attributes inherited from rviz::MessageFilterDisplay< rtabmap_ros::MapData >
uint32_t messages_received_
 
message_filters::Subscriber< rtabmap_ros::MapData > sub_
 
tf2_ros::MessageFilter< rtabmap_ros::MapData > * tf_filter_
 
- Protected Attributes inherited from rviz::_RosTopicDisplay
RosTopicPropertytopic_property_
 
BoolPropertyunreliable_property_
 
- Protected Attributes inherited from rviz::Display
DisplayContextcontext_
 
QString fixed_frame_
 
Ogre::SceneManager * scene_manager_
 
Ogre::SceneNode * scene_node_
 
ros::NodeHandle threaded_nh_
 
ros::NodeHandle update_nh_
 
- Protected Attributes inherited from rviz::Property
bool child_indexes_valid_
 
QIcon icon_
 
PropertyTreeModelmodel_
 
QVariant value_
 

Detailed Description

Displays point clouds from rtabmap::MapData.

By default it will assume channel 0 of the cloud is an intensity value, and will color them by intensity. If you set the channel's name to "rgb", it will interpret the channel as an integer rgb value, with r, g and b all being 8 bits.

Definition at line 76 of file MapCloudDisplay.h.

Member Typedef Documentation

◆ CloudInfoPtr

Definition at line 99 of file MapCloudDisplay.h.

◆ M_TransformerInfo

Definition at line 196 of file MapCloudDisplay.h.

Constructor & Destructor Documentation

◆ MapCloudDisplay()

rtabmap_ros::MapCloudDisplay::MapCloudDisplay ( )

Definition at line 88 of file MapCloudDisplay.cpp.

◆ ~MapCloudDisplay()

rtabmap_ros::MapCloudDisplay::~MapCloudDisplay ( )
virtual

Definition at line 209 of file MapCloudDisplay.cpp.

Member Function Documentation

◆ causeRetransform

void rtabmap_ros::MapCloudDisplay::causeRetransform ( )
slot

Definition at line 646 of file MapCloudDisplay.cpp.

◆ downloadGraph

void rtabmap_ros::MapCloudDisplay::downloadGraph ( )
privateslot

Definition at line 627 of file MapCloudDisplay.cpp.

◆ downloadMap [1/2]

void rtabmap_ros::MapCloudDisplay::downloadMap ( )
privateslot

Definition at line 608 of file MapCloudDisplay.cpp.

◆ downloadMap() [2/2]

void rtabmap_ros::MapCloudDisplay::downloadMap ( bool  graphOnly)
private

Definition at line 548 of file MapCloudDisplay.cpp.

◆ downloadNamespaceChanged

void rtabmap_ros::MapCloudDisplay::downloadNamespaceChanged ( )
privateslot

Definition at line 601 of file MapCloudDisplay.cpp.

◆ fillTransformerOptions()

void rtabmap_ros::MapCloudDisplay::fillTransformerOptions ( rviz::EnumProperty prop,
uint32_t  mask 
)
private

Definition at line 869 of file MapCloudDisplay.cpp.

◆ getColorTransformer()

rviz::PointCloudTransformerPtr rtabmap_ros::MapCloudDisplay::getColorTransformer ( const sensor_msgs::PointCloud2ConstPtr &  cloud)
private

Definition at line 910 of file MapCloudDisplay.cpp.

◆ getXYZTransformer()

rviz::PointCloudTransformerPtr rtabmap_ros::MapCloudDisplay::getXYZTransformer ( const sensor_msgs::PointCloud2ConstPtr &  cloud)
private

Definition at line 894 of file MapCloudDisplay.cpp.

◆ loadTransformers()

void rtabmap_ros::MapCloudDisplay::loadTransformers ( )
private

Definition at line 219 of file MapCloudDisplay.cpp.

◆ onInitialize()

void rtabmap_ros::MapCloudDisplay::onInitialize ( )
protectedvirtual

Do initialization. Overridden from MessageFilterDisplay.

Reimplemented from rviz::Display.

Definition at line 254 of file MapCloudDisplay.cpp.

◆ processMapData()

void rtabmap_ros::MapCloudDisplay::processMapData ( const rtabmap_ros::MapData &  map)
private

Definition at line 275 of file MapCloudDisplay.cpp.

◆ processMessage()

void rtabmap_ros::MapCloudDisplay::processMessage ( const rtabmap_ros::MapDataConstPtr &  cloud)
protectedvirtual

Process a single message. Overridden from MessageFilterDisplay.

Definition at line 268 of file MapCloudDisplay.cpp.

◆ reset()

void rtabmap_ros::MapCloudDisplay::reset ( )
virtual

Reimplemented from rviz::Display.

Definition at line 820 of file MapCloudDisplay.cpp.

◆ retransform()

void rtabmap_ros::MapCloudDisplay::retransform ( )
private

Definition at line 927 of file MapCloudDisplay.cpp.

◆ setColorTransformerOptions

void rtabmap_ros::MapCloudDisplay::setColorTransformerOptions ( EnumProperty prop)
privateslot

Definition at line 864 of file MapCloudDisplay.cpp.

◆ setPropertiesHidden()

void rtabmap_ros::MapCloudDisplay::setPropertiesHidden ( const QList< Property *> &  props,
bool  hide 
)
private

Definition at line 402 of file MapCloudDisplay.cpp.

◆ setXyzTransformerOptions

void rtabmap_ros::MapCloudDisplay::setXyzTransformerOptions ( EnumProperty prop)
privateslot

Definition at line 859 of file MapCloudDisplay.cpp.

◆ transformCloud()

bool rtabmap_ros::MapCloudDisplay::transformCloud ( const CloudInfoPtr cloud,
bool  fully_update_transformers 
)
private

Transforms the cloud into the correct frame, and sets up our renderable cloud.

Definition at line 940 of file MapCloudDisplay.cpp.

◆ update()

void rtabmap_ros::MapCloudDisplay::update ( float  wall_dt,
float  ros_dt 
)
virtual

Reimplemented from rviz::Display.

Definition at line 651 of file MapCloudDisplay.cpp.

◆ updateAlpha

void rtabmap_ros::MapCloudDisplay::updateAlpha ( )
privateslot

Definition at line 489 of file MapCloudDisplay.cpp.

◆ updateBillboardSize

void rtabmap_ros::MapCloudDisplay::updateBillboardSize ( )
privateslot

Definition at line 517 of file MapCloudDisplay.cpp.

◆ updateCloudParameters

void rtabmap_ros::MapCloudDisplay::updateCloudParameters ( )
privateslot

Definition at line 536 of file MapCloudDisplay.cpp.

◆ updateColorTransformer

void rtabmap_ros::MapCloudDisplay::updateColorTransformer ( )
privateslot

Definition at line 848 of file MapCloudDisplay.cpp.

◆ updateStyle

void rtabmap_ros::MapCloudDisplay::updateStyle ( )
privateslot

Definition at line 497 of file MapCloudDisplay.cpp.

◆ updateTransformers()

void rtabmap_ros::MapCloudDisplay::updateTransformers ( const sensor_msgs::PointCloud2ConstPtr &  cloud)
private

Definition at line 410 of file MapCloudDisplay.cpp.

◆ updateXyzTransformer

void rtabmap_ros::MapCloudDisplay::updateXyzTransformer ( )
privateslot

Definition at line 837 of file MapCloudDisplay.cpp.

Member Data Documentation

◆ alpha_property_

rviz::FloatProperty* rtabmap_ros::MapCloudDisplay::alpha_property_

Definition at line 109 of file MapCloudDisplay.h.

◆ cbqueue_

ros::CallbackQueue rtabmap_ros::MapCloudDisplay::cbqueue_
private

Definition at line 170 of file MapCloudDisplay.h.

◆ cloud_decimation_

rviz::IntProperty* rtabmap_ros::MapCloudDisplay::cloud_decimation_

Definition at line 114 of file MapCloudDisplay.h.

◆ cloud_filter_ceiling_height_

rviz::FloatProperty* rtabmap_ros::MapCloudDisplay::cloud_filter_ceiling_height_

Definition at line 119 of file MapCloudDisplay.h.

◆ cloud_filter_floor_height_

rviz::FloatProperty* rtabmap_ros::MapCloudDisplay::cloud_filter_floor_height_

Definition at line 118 of file MapCloudDisplay.h.

◆ cloud_from_scan_

rviz::BoolProperty* rtabmap_ros::MapCloudDisplay::cloud_from_scan_

Definition at line 113 of file MapCloudDisplay.h.

◆ cloud_infos_

std::map<int, CloudInfoPtr> rtabmap_ros::MapCloudDisplay::cloud_infos_
private

Definition at line 173 of file MapCloudDisplay.h.

◆ cloud_max_depth_

rviz::FloatProperty* rtabmap_ros::MapCloudDisplay::cloud_max_depth_

Definition at line 115 of file MapCloudDisplay.h.

◆ cloud_min_depth_

rviz::FloatProperty* rtabmap_ros::MapCloudDisplay::cloud_min_depth_

Definition at line 116 of file MapCloudDisplay.h.

◆ cloud_voxel_size_

rviz::FloatProperty* rtabmap_ros::MapCloudDisplay::cloud_voxel_size_

Definition at line 117 of file MapCloudDisplay.h.

◆ color_transformer_property_

rviz::EnumProperty* rtabmap_ros::MapCloudDisplay::color_transformer_property_

Definition at line 111 of file MapCloudDisplay.h.

◆ current_map_

std::map<int, rtabmap::Transform> rtabmap_ros::MapCloudDisplay::current_map_
private

Definition at line 181 of file MapCloudDisplay.h.

◆ current_map_mutex_

boost::mutex rtabmap_ros::MapCloudDisplay::current_map_mutex_
private

Definition at line 182 of file MapCloudDisplay.h.

◆ current_map_updated_

bool rtabmap_ros::MapCloudDisplay::current_map_updated_
private

Definition at line 183 of file MapCloudDisplay.h.

◆ download_graph_

rviz::BoolProperty* rtabmap_ros::MapCloudDisplay::download_graph_

Definition at line 124 of file MapCloudDisplay.h.

◆ download_map_

rviz::BoolProperty* rtabmap_ros::MapCloudDisplay::download_map_

Definition at line 123 of file MapCloudDisplay.h.

◆ download_namespace

rviz::StringProperty* rtabmap_ros::MapCloudDisplay::download_namespace

Definition at line 122 of file MapCloudDisplay.h.

◆ fromScan_

bool rtabmap_ros::MapCloudDisplay::fromScan_
private

Definition at line 179 of file MapCloudDisplay.h.

◆ lastCloudAdded_

int rtabmap_ros::MapCloudDisplay::lastCloudAdded_
private

Definition at line 185 of file MapCloudDisplay.h.

◆ needs_retransform_

bool rtabmap_ros::MapCloudDisplay::needs_retransform_
private

Definition at line 202 of file MapCloudDisplay.h.

◆ new_cloud_infos_

std::map<int, CloudInfoPtr> rtabmap_ros::MapCloudDisplay::new_cloud_infos_
private

Definition at line 175 of file MapCloudDisplay.h.

◆ new_clouds_mutex_

boost::mutex rtabmap_ros::MapCloudDisplay::new_clouds_mutex_
private

Definition at line 176 of file MapCloudDisplay.h.

◆ new_color_transformer_

bool rtabmap_ros::MapCloudDisplay::new_color_transformer_
private

Definition at line 201 of file MapCloudDisplay.h.

◆ new_xyz_transformer_

bool rtabmap_ros::MapCloudDisplay::new_xyz_transformer_
private

Definition at line 200 of file MapCloudDisplay.h.

◆ node_filtering_angle_

rviz::FloatProperty* rtabmap_ros::MapCloudDisplay::node_filtering_angle_

Definition at line 121 of file MapCloudDisplay.h.

◆ node_filtering_radius_

rviz::FloatProperty* rtabmap_ros::MapCloudDisplay::node_filtering_radius_

Definition at line 120 of file MapCloudDisplay.h.

◆ nodeDataReceived_

std::set<int> rtabmap_ros::MapCloudDisplay::nodeDataReceived_
private

Definition at line 178 of file MapCloudDisplay.h.

◆ point_pixel_size_property_

rviz::FloatProperty* rtabmap_ros::MapCloudDisplay::point_pixel_size_property_

Definition at line 108 of file MapCloudDisplay.h.

◆ point_world_size_property_

rviz::FloatProperty* rtabmap_ros::MapCloudDisplay::point_world_size_property_

Definition at line 107 of file MapCloudDisplay.h.

◆ republishNodeDataPub_

ros::Publisher rtabmap_ros::MapCloudDisplay::republishNodeDataPub_
private

Definition at line 171 of file MapCloudDisplay.h.

◆ spinner_

ros::AsyncSpinner rtabmap_ros::MapCloudDisplay::spinner_
private

Definition at line 169 of file MapCloudDisplay.h.

◆ style_property_

rviz::EnumProperty* rtabmap_ros::MapCloudDisplay::style_property_

Definition at line 112 of file MapCloudDisplay.h.

◆ transformer_class_loader_

pluginlib::ClassLoader<rviz::PointCloudTransformer>* rtabmap_ros::MapCloudDisplay::transformer_class_loader_
private

Definition at line 204 of file MapCloudDisplay.h.

◆ transformers_

M_TransformerInfo rtabmap_ros::MapCloudDisplay::transformers_
private

Definition at line 199 of file MapCloudDisplay.h.

◆ transformers_mutex_

boost::recursive_mutex rtabmap_ros::MapCloudDisplay::transformers_mutex_
private

Definition at line 198 of file MapCloudDisplay.h.

◆ xyz_transformer_property_

rviz::EnumProperty* rtabmap_ros::MapCloudDisplay::xyz_transformer_property_

Definition at line 110 of file MapCloudDisplay.h.


The documentation for this class was generated from the following files:


rtabmap_ros
Author(s): Mathieu Labbe
autogenerated on Tue Jan 24 2023 04:04:40