Class PointCloudTransformer

Inheritance Relationships

Base Type

  • public QObject

Derived Types

Class Documentation

class PointCloudTransformer : public QObject

Subclassed by rviz_default_plugins::AxisColorPCTransformer, rviz_default_plugins::FlatColorPCTransformer, rviz_default_plugins::IntensityPCTransformer, rviz_default_plugins::RGB8PCTransformer, rviz_default_plugins::RGBF32PCTransformer, rviz_default_plugins::XYZPCTransformer

Public Types

enum SupportLevel

Enumeration of support levels. Basic levels (Support_None, Support_XYZ, Support_Color) can be ored together to form a mask, Support_Both is provided as a convenience.

Values:

enumerator Support_None
enumerator Support_XYZ
enumerator Support_Color
enumerator Support_Both

Public Functions

inline virtual void init()
virtual uint8_t supports(const sensor_msgs::msg::PointCloud2::ConstSharedPtr &cloud) = 0

Returns a level of support for a specific cloud. This level of support is a mask using the SupportLevel enum.

virtual bool transform(const sensor_msgs::msg::PointCloud2::ConstSharedPtr &cloud, uint32_t mask, const Ogre::Matrix4 &transform, V_PointCloudPoint &out) = 0

Transforms a PointCloud2 into an rviz::PointCloud. The rviz::PointCloud is assumed to have been preallocated into the correct size. The mask determines which part of the cloud should be output (xyz or color). This method will only be called if supports() of the same cloud has returned a non-zero mask, and will only be called with masks compatible with the one returned from supports()

inline virtual uint8_t score(const sensor_msgs::msg::PointCloud2::ConstSharedPtr &cloud)

“Score” a message for how well supported the message is. For example, a “flat color” transformer can support any cloud, but will return a score of 0 here since it should not be preferred over others that explicitly support fields in the message. This allows that “flat color” transformer to still be selectable, but generally not chosen automatically.

inline virtual void createProperties(rviz_common::properties::Property *parent_property, uint32_t mask, QList<rviz_common::properties::Property*> &out_props)

Create any properties necessary for this transformer. Will be called once when the transformer is loaded. All properties must be added to the out_props vector.

inline virtual void hideUnusedProperties()

Hide properties that are currently not in use.

inline QString getClassId() const
inline QString getDescription() const
inline void setClassId(const QString &class_id)
inline void setDescription(const QString &description)

Signals

void needRetransform()

Subclasses should emit this signal whenever they think the points should be re-transformed.

Protected Attributes

QString class_id_
QString description_