A visual representation of a set of points. More...
#include <point_cloud.h>
Classes | |
struct | Point |
Representation of a point, with x/y/z position and r/g/b color. More... | |
Public Member Functions | |
virtual void | _notifyAttached (Ogre::Node *parent, bool isTagPoint=false) |
virtual void | _notifyCurrentCamera (Ogre::Camera *camera) |
virtual void | _updateRenderQueue (Ogre::RenderQueue *queue) |
void | addPoints (Point *points, uint32_t num_points) |
Add points to this point cloud. | |
void | clear () |
Clear all the points. | |
virtual const Ogre::AxisAlignedBox & | getBoundingBox () const |
virtual float | getBoundingRadius () const |
virtual const Ogre::String & | getMovableType () const |
virtual void | getWorldTransforms (Ogre::Matrix4 *xform) const |
PointCloud () | |
void | setMaterial (const Ogre::String &material_name) |
virtual void | setRenderQueueGroup (Ogre::uint8 queueID) |
~PointCloud () | |
Private Types | |
typedef std::vector< Point > | V_Point |
Private Member Functions | |
PointCloudRenderablePtr | getOrCreateRenderable () |
uint32_t | getVerticesPerPoint () |
void | regenerateAll () |
void | shrinkRenderables () |
Private Attributes | |
Ogre::AxisAlignedBox | bounding_box_ |
The bounding box of this point cloud. | |
float | bounding_radius_ |
The bounding radius of this point cloud. | |
Ogre::MaterialPtr | current_material_ |
bool | current_mode_supports_geometry_shader_ |
uint32_t | point_count_ |
The number of points currently in points_. | |
V_Point | points_ |
The list of points we're displaying. Allocates to a high-water-mark. | |
V_PointCloudRenderable | renderables_ |
Static Private Attributes | |
static Ogre::String | sm_Type = "RvizInteractionToolsPointCloud" |
The "renderable type" used by Ogre. |
A visual representation of a set of points.
Displays a set of points using any number of Ogre BillboardSets. PointCloud is optimized for sets of points that change rapidly, rather than for large clouds that never change.
Most of the functions in PointCloud are not safe to call from any thread but the render thread. Exceptions are clear() and addPoints(), which are safe as long as we are not in the middle of a render (ie. Ogre::Root::renderOneFrame, or Ogre::RenderWindow::update)
Definition at line 98 of file point_cloud.h.
typedef std::vector<Point> rviz_interaction_tools::PointCloud::V_Point [private] |
Definition at line 162 of file point_cloud.h.
Definition at line 58 of file point_cloud.cpp.
Definition at line 67 of file point_cloud.cpp.
void rviz_interaction_tools::PointCloud::_notifyAttached | ( | Ogre::Node * | parent, |
bool | isTagPoint = false |
||
) | [virtual] |
Definition at line 334 of file point_cloud.cpp.
void rviz_interaction_tools::PointCloud::_notifyCurrentCamera | ( | Ogre::Camera * | camera | ) | [virtual] |
Definition at line 319 of file point_cloud.cpp.
void rviz_interaction_tools::PointCloud::_updateRenderQueue | ( | Ogre::RenderQueue * | queue | ) | [virtual] |
Definition at line 324 of file point_cloud.cpp.
void rviz_interaction_tools::PointCloud::addPoints | ( | Point * | points, |
uint32_t | num_points | ||
) |
Add points to this point cloud.
points | An array of Point structures |
num_points | The number of points in the array |
Definition at line 186 of file point_cloud.cpp.
void rviz_interaction_tools::PointCloud::clear | ( | void | ) |
Clear all the points.
Definition at line 86 of file point_cloud.cpp.
const Ogre::AxisAlignedBox & rviz_interaction_tools::PointCloud::getBoundingBox | ( | void | ) | const [virtual] |
Definition at line 71 of file point_cloud.cpp.
float rviz_interaction_tools::PointCloud::getBoundingRadius | ( | void | ) | const [virtual] |
Definition at line 76 of file point_cloud.cpp.
virtual const Ogre::String& rviz_interaction_tools::PointCloud::getMovableType | ( | ) | const [inline, virtual] |
Definition at line 141 of file point_cloud.h.
Definition at line 344 of file point_cloud.cpp.
uint32_t rviz_interaction_tools::PointCloud::getVerticesPerPoint | ( | ) | [private] |
Definition at line 339 of file point_cloud.cpp.
void rviz_interaction_tools::PointCloud::getWorldTransforms | ( | Ogre::Matrix4 * | xform | ) | const [virtual] |
Definition at line 81 of file point_cloud.cpp.
void rviz_interaction_tools::PointCloud::regenerateAll | ( | ) | [private] |
Definition at line 106 of file point_cloud.cpp.
void rviz_interaction_tools::PointCloud::setMaterial | ( | const Ogre::String & | material_name | ) |
Definition at line 122 of file point_cloud.cpp.
void rviz_interaction_tools::PointCloud::setRenderQueueGroup | ( | Ogre::uint8 | queueID | ) | [virtual] |
Definition at line 174 of file point_cloud.cpp.
void rviz_interaction_tools::PointCloud::shrinkRenderables | ( | ) | [private] |
Definition at line 302 of file point_cloud.cpp.
Ogre::AxisAlignedBox rviz_interaction_tools::PointCloud::bounding_box_ [private] |
The bounding box of this point cloud.
Definition at line 159 of file point_cloud.h.
float rviz_interaction_tools::PointCloud::bounding_radius_ [private] |
The bounding radius of this point cloud.
Definition at line 160 of file point_cloud.h.
Ogre::MaterialPtr rviz_interaction_tools::PointCloud::current_material_ [private] |
Definition at line 166 of file point_cloud.h.
Definition at line 170 of file point_cloud.h.
uint32_t rviz_interaction_tools::PointCloud::point_count_ [private] |
The number of points currently in points_.
Definition at line 164 of file point_cloud.h.
The list of points we're displaying. Allocates to a high-water-mark.
Definition at line 163 of file point_cloud.h.
Definition at line 168 of file point_cloud.h.
Ogre::String rviz_interaction_tools::PointCloud::sm_Type = "RvizInteractionToolsPointCloud" [static, private] |
The "renderable type" used by Ogre.
Definition at line 172 of file point_cloud.h.