#include <point_cloud_transformer.h>
Public Types | |
enum | SupportLevel { Support_None = 0, Support_XYZ = 1 << 1, Support_Color = 1 << 2, Support_Both = Support_XYZ|Support_Color } |
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. More... | |
Signals | |
void | needRetransform () |
Subclasses should emit this signal whenever they think the points should be re-transformed. | |
Public Member Functions | |
virtual void | createProperties (Property *parent_property, uint32_t mask, QList< 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. | |
virtual void | init () |
virtual uint8_t | score (const sensor_msgs::PointCloud2ConstPtr &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. | |
virtual uint8_t | supports (const sensor_msgs::PointCloud2ConstPtr &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::PointCloud2ConstPtr &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() |
Definition at line 60 of file point_cloud_transformer.h.
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.
Definition at line 70 of file point_cloud_transformer.h.
virtual void rviz::PointCloudTransformer::createProperties | ( | Property * | parent_property, |
uint32_t | mask, | ||
QList< Property * > & | out_props | ||
) | [inline, virtual] |
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.
Reimplemented in rviz::AxisColorPCTransformer, rviz::FlatColorPCTransformer, and rviz::IntensityPCTransformer.
Definition at line 101 of file point_cloud_transformer.h.
virtual void rviz::PointCloudTransformer::init | ( | ) | [inline, virtual] |
Definition at line 64 of file point_cloud_transformer.h.
void rviz::PointCloudTransformer::needRetransform | ( | ) | [signal] |
Subclasses should emit this signal whenever they think the points should be re-transformed.
virtual uint8_t rviz::PointCloudTransformer::score | ( | const sensor_msgs::PointCloud2ConstPtr & | cloud | ) | [inline, virtual] |
"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.
Reimplemented in rviz::AxisColorPCTransformer, rviz::FlatColorPCTransformer, and rviz::IntensityPCTransformer.
Definition at line 94 of file point_cloud_transformer.h.
virtual uint8_t rviz::PointCloudTransformer::supports | ( | const sensor_msgs::PointCloud2ConstPtr & | cloud | ) | [pure virtual] |
Returns a level of support for a specific cloud. This level of support is a mask using the SupportLevel enum.
Implemented in rviz::AxisColorPCTransformer, rviz::FlatColorPCTransformer, rviz::RGBF32PCTransformer, rviz::RGB8PCTransformer, rviz::XYZPCTransformer, and rviz::IntensityPCTransformer.
virtual bool rviz::PointCloudTransformer::transform | ( | const sensor_msgs::PointCloud2ConstPtr & | cloud, |
uint32_t | mask, | ||
const Ogre::Matrix4 & | transform, | ||
V_PointCloudPoint & | out | ||
) | [pure virtual] |
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()
Implemented in rviz::AxisColorPCTransformer, rviz::FlatColorPCTransformer, rviz::RGBF32PCTransformer, rviz::RGB8PCTransformer, rviz::XYZPCTransformer, and rviz::IntensityPCTransformer.