Public Slots | Public Member Functions | Private Member Functions | Private Attributes | List of all members
rviz_map_plugin::ClusterLabelTool Class Reference

Tool for selecting faces. More...

#include <ClusterLabelTool.hpp>

Inheritance diagram for rviz_map_plugin::ClusterLabelTool:
Inheritance graph
[legend]

Public Slots

std::vector< uint32_t > getSelectedFaces ()
 Returns a list of selected face ID's. More...
 
void publishLabel (std::string name)
 Publish a label with a given namen. More...
 
void resetFaces ()
 Resets the list of selected faces. More...
 
void resetVisual ()
 Resets the current visual. More...
 

Public Member Functions

virtual void activate ()
 RViz callback for activating. More...
 
 ClusterLabelTool ()
 Constructor. More...
 
virtual void deactivate ()
 
virtual void onInitialize ()
 RViz callback on initialize. More...
 
virtual int processMouseEvent (rviz::ViewportMouseEvent &event)
 RViz callback for mouse events. More...
 
void setDisplay (ClusterLabelDisplay *display)
 Connects this tool with a given display. More...
 
void setSphereSize (float size)
 Adjust the sphere size for the brush tool. More...
 
void setVisual (std::shared_ptr< ClusterLabelVisual > visual)
 Connects this tool with a given visual. More...
 
 ~ClusterLabelTool ()
 Destructor. More...
 
- Public Member Functions inherited from rviz::Tool
bool accessAllKeys ()
 
virtual QString getClassId () const
 
const QCursor & getCursor ()
 
QString getDescription () const
 
const QIcon & getIcon ()
 
QString getName () const
 
virtual PropertygetPropertyContainer () const
 
char getShortcutKey ()
 
void initialize (DisplayContext *context)
 
virtual void load (const Config &config)
 
virtual int processKeyEvent (QKeyEvent *event, RenderPanel *panel)
 
virtual void save (Config config) const
 
virtual void setClassId (const QString &class_id)
 
void setCursor (const QCursor &cursor)
 
void setDescription (const QString &description)
 
void setIcon (const QIcon &icon)
 
void setName (const QString &name)
 
void setStatus (const QString &message)
 
 Tool ()
 
virtual void update (float wall_dt, float ros_dt)
 
 ~Tool () override
 

Private Member Functions

boost::optional< std::pair< uint32_t, float > > getClosestIntersectedFaceParallel (Ogre::Ray &ray)
 
void selectFacesInBoxParallel (Ogre::PlaneBoundedVolume &volume, bool selectMode)
 
void selectionBoxMove (rviz::ViewportMouseEvent &event)
 
void selectionBoxStart (rviz::ViewportMouseEvent &event)
 
void selectMultipleFaces (rviz::ViewportMouseEvent &event, bool selectMode)
 
void selectSingleFace (rviz::ViewportMouseEvent &event, bool selectMode)
 
void selectSingleFaceParallel (Ogre::Ray &ray, bool selectMode)
 
void selectSphereFaces (rviz::ViewportMouseEvent &event, bool selectMode)
 
void selectSphereFacesParallel (Ogre::Ray &ray, bool selectMode)
 
void updateSelectionBox ()
 

Private Attributes

std::vector< float > m_boxData
 
cl::Buffer m_clBoxBuffer
 
cl::Context m_clContext
 
cl::Device m_clDevice
 
cl::Kernel m_clKernelBox
 
cl::Kernel m_clKernelDirAndDist
 
cl::Kernel m_clKernelSingleRay
 
cl::Kernel m_clKernelSphere
 
cl::Program m_clProgram
 
cl::Program::Sources m_clProgramSources
 
cl::CommandQueue m_clQueue
 
cl::Buffer m_clRayBuffer
 
cl::Buffer m_clResultBuffer
 
cl::Buffer m_clSphereBuffer
 
cl::Buffer m_clStartNormalBuffer
 
cl::Buffer m_clVertexBuffer
 
ClusterLabelDisplaym_display
 
rviz::DisplayContextm_displayContext
 
bool m_displayInitialized
 
std::vector< bool > m_faceSelectedArray
 
ros::Publisher m_labelPublisher
 
std::shared_ptr< Geometrym_meshGeometry
 
bool m_multipleSelect = false
 
std::array< float, 6 > m_rayData
 
std::vector< float > m_resultDistances
 
Ogre::SceneNode * m_sceneNode
 
std::vector< uint32_t > m_selectedFaces
 
Ogre::ManualObject * m_selectionBox
 
Ogre::MaterialPtr m_selectionBoxMaterial
 
Ogre::Vector2 m_selectionStart
 
Ogre::Vector2 m_selectionStop
 
bool m_singleDeselect = false
 
bool m_singleSelect = false
 
std::array< float, 4 > m_sphereData
 
float m_sphereSize = 1.0f
 
std::array< float, 3 > m_startNormalData
 
std::vector< float > m_vertexData
 
std::vector< Ogre::Vector3m_vertexPositions
 
std::shared_ptr< ClusterLabelVisualm_visual
 

Additional Inherited Members

- Signals inherited from rviz::Tool
void close ()
 
void nameChanged (const QString &name)
 
- Public Attributes inherited from rviz::Tool
 Finished
 
 Render
 
- Protected Attributes inherited from rviz::Tool
bool access_all_keys_
 
DisplayContextcontext_
 
QCursor cursor_
 
QIcon icon_
 
Ogre::SceneManager * scene_manager_
 
char shortcut_key_
 

Detailed Description

Tool for selecting faces.

Definition at line 125 of file ClusterLabelTool.hpp.

Constructor & Destructor Documentation

◆ ClusterLabelTool()

rviz_map_plugin::ClusterLabelTool::ClusterLabelTool ( )

Constructor.

Definition at line 74 of file ClusterLabelTool.cpp.

◆ ~ClusterLabelTool()

rviz_map_plugin::ClusterLabelTool::~ClusterLabelTool ( )

Destructor.

Definition at line 82 of file ClusterLabelTool.cpp.

Member Function Documentation

◆ activate()

void rviz_map_plugin::ClusterLabelTool::activate ( )
virtual

RViz callback for activating.

Implements rviz::Tool.

Definition at line 253 of file ClusterLabelTool.cpp.

◆ deactivate()

void rviz_map_plugin::ClusterLabelTool::deactivate ( )
virtual

@bríef RViz callback for deactivating

Implements rviz::Tool.

Definition at line 257 of file ClusterLabelTool.cpp.

◆ getClosestIntersectedFaceParallel()

boost::optional< std::pair< uint32_t, float > > rviz_map_plugin::ClusterLabelTool::getClosestIntersectedFaceParallel ( Ogre::Ray &  ray)
private

Definition at line 589 of file ClusterLabelTool.cpp.

◆ getSelectedFaces

std::vector< uint32_t > rviz_map_plugin::ClusterLabelTool::getSelectedFaces ( )
slot

Returns a list of selected face ID's.

Returns
List of face ID's

Definition at line 709 of file ClusterLabelTool.cpp.

◆ onInitialize()

void rviz_map_plugin::ClusterLabelTool::onInitialize ( )
virtual

RViz callback on initialize.

Reimplemented from rviz::Tool.

Definition at line 92 of file ClusterLabelTool.cpp.

◆ processMouseEvent()

int rviz_map_plugin::ClusterLabelTool::processMouseEvent ( rviz::ViewportMouseEvent event)
virtual

RViz callback for mouse events.

Parameters
eventThe mouse event
Returns
Exit code

Reimplemented from rviz::Tool.

Definition at line 651 of file ClusterLabelTool.cpp.

◆ publishLabel

void rviz_map_plugin::ClusterLabelTool::publishLabel ( std::string  name)
slot

Publish a label with a given namen.

Parameters
nameThe label name

Definition at line 636 of file ClusterLabelTool.cpp.

◆ resetFaces

void rviz_map_plugin::ClusterLabelTool::resetFaces ( )
slot

Resets the list of selected faces.

Definition at line 723 of file ClusterLabelTool.cpp.

◆ resetVisual

void rviz_map_plugin::ClusterLabelTool::resetVisual ( )
slot

Resets the current visual.

Definition at line 732 of file ClusterLabelTool.cpp.

◆ selectFacesInBoxParallel()

void rviz_map_plugin::ClusterLabelTool::selectFacesInBoxParallel ( Ogre::PlaneBoundedVolume &  volume,
bool  selectMode 
)
private

Definition at line 399 of file ClusterLabelTool.cpp.

◆ selectionBoxMove()

void rviz_map_plugin::ClusterLabelTool::selectionBoxMove ( rviz::ViewportMouseEvent event)
private

Definition at line 357 of file ClusterLabelTool.cpp.

◆ selectionBoxStart()

void rviz_map_plugin::ClusterLabelTool::selectionBoxStart ( rviz::ViewportMouseEvent event)
private

Definition at line 348 of file ClusterLabelTool.cpp.

◆ selectMultipleFaces()

void rviz_map_plugin::ClusterLabelTool::selectMultipleFaces ( rviz::ViewportMouseEvent event,
bool  selectMode 
)
private

Definition at line 364 of file ClusterLabelTool.cpp.

◆ selectSingleFace()

void rviz_map_plugin::ClusterLabelTool::selectSingleFace ( rviz::ViewportMouseEvent event,
bool  selectMode 
)
private

Definition at line 457 of file ClusterLabelTool.cpp.

◆ selectSingleFaceParallel()

void rviz_map_plugin::ClusterLabelTool::selectSingleFaceParallel ( Ogre::Ray &  ray,
bool  selectMode 
)
private

Definition at line 464 of file ClusterLabelTool.cpp.

◆ selectSphereFaces()

void rviz_map_plugin::ClusterLabelTool::selectSphereFaces ( rviz::ViewportMouseEvent event,
bool  selectMode 
)
private

Definition at line 525 of file ClusterLabelTool.cpp.

◆ selectSphereFacesParallel()

void rviz_map_plugin::ClusterLabelTool::selectSphereFacesParallel ( Ogre::Ray &  ray,
bool  selectMode 
)
private

Definition at line 532 of file ClusterLabelTool.cpp.

◆ setDisplay()

void rviz_map_plugin::ClusterLabelTool::setDisplay ( ClusterLabelDisplay display)

Connects this tool with a given display.

Parameters
displayThe display that creates this tool

Definition at line 261 of file ClusterLabelTool.cpp.

◆ setSphereSize()

void rviz_map_plugin::ClusterLabelTool::setSphereSize ( float  size)

Adjust the sphere size for the brush tool.

Parameters
sizeThe sphere size

Definition at line 247 of file ClusterLabelTool.cpp.

◆ setVisual()

void rviz_map_plugin::ClusterLabelTool::setVisual ( std::shared_ptr< ClusterLabelVisual visual)

Connects this tool with a given visual.

Parameters
visualThe visual that will become editable with this tool

Definition at line 231 of file ClusterLabelTool.cpp.

◆ updateSelectionBox()

void rviz_map_plugin::ClusterLabelTool::updateSelectionBox ( )
private

Definition at line 328 of file ClusterLabelTool.cpp.

Member Data Documentation

◆ m_boxData

std::vector<float> rviz_map_plugin::ClusterLabelTool::m_boxData
private

Definition at line 242 of file ClusterLabelTool.hpp.

◆ m_clBoxBuffer

cl::Buffer rviz_map_plugin::ClusterLabelTool::m_clBoxBuffer
private

Definition at line 255 of file ClusterLabelTool.hpp.

◆ m_clContext

cl::Context rviz_map_plugin::ClusterLabelTool::m_clContext
private

Definition at line 247 of file ClusterLabelTool.hpp.

◆ m_clDevice

cl::Device rviz_map_plugin::ClusterLabelTool::m_clDevice
private

Definition at line 246 of file ClusterLabelTool.hpp.

◆ m_clKernelBox

cl::Kernel rviz_map_plugin::ClusterLabelTool::m_clKernelBox
private

Definition at line 259 of file ClusterLabelTool.hpp.

◆ m_clKernelDirAndDist

cl::Kernel rviz_map_plugin::ClusterLabelTool::m_clKernelDirAndDist
private

Definition at line 260 of file ClusterLabelTool.hpp.

◆ m_clKernelSingleRay

cl::Kernel rviz_map_plugin::ClusterLabelTool::m_clKernelSingleRay
private

Definition at line 257 of file ClusterLabelTool.hpp.

◆ m_clKernelSphere

cl::Kernel rviz_map_plugin::ClusterLabelTool::m_clKernelSphere
private

Definition at line 258 of file ClusterLabelTool.hpp.

◆ m_clProgram

cl::Program rviz_map_plugin::ClusterLabelTool::m_clProgram
private

Definition at line 249 of file ClusterLabelTool.hpp.

◆ m_clProgramSources

cl::Program::Sources rviz_map_plugin::ClusterLabelTool::m_clProgramSources
private

Definition at line 248 of file ClusterLabelTool.hpp.

◆ m_clQueue

cl::CommandQueue rviz_map_plugin::ClusterLabelTool::m_clQueue
private

Definition at line 250 of file ClusterLabelTool.hpp.

◆ m_clRayBuffer

cl::Buffer rviz_map_plugin::ClusterLabelTool::m_clRayBuffer
private

Definition at line 253 of file ClusterLabelTool.hpp.

◆ m_clResultBuffer

cl::Buffer rviz_map_plugin::ClusterLabelTool::m_clResultBuffer
private

Definition at line 252 of file ClusterLabelTool.hpp.

◆ m_clSphereBuffer

cl::Buffer rviz_map_plugin::ClusterLabelTool::m_clSphereBuffer
private

Definition at line 254 of file ClusterLabelTool.hpp.

◆ m_clStartNormalBuffer

cl::Buffer rviz_map_plugin::ClusterLabelTool::m_clStartNormalBuffer
private

Definition at line 256 of file ClusterLabelTool.hpp.

◆ m_clVertexBuffer

cl::Buffer rviz_map_plugin::ClusterLabelTool::m_clVertexBuffer
private

Definition at line 251 of file ClusterLabelTool.hpp.

◆ m_display

ClusterLabelDisplay* rviz_map_plugin::ClusterLabelTool::m_display
private

Definition at line 207 of file ClusterLabelTool.hpp.

◆ m_displayContext

rviz::DisplayContext* rviz_map_plugin::ClusterLabelTool::m_displayContext
private

Definition at line 213 of file ClusterLabelTool.hpp.

◆ m_displayInitialized

bool rviz_map_plugin::ClusterLabelTool::m_displayInitialized
private

Definition at line 206 of file ClusterLabelTool.hpp.

◆ m_faceSelectedArray

std::vector<bool> rviz_map_plugin::ClusterLabelTool::m_faceSelectedArray
private

Definition at line 205 of file ClusterLabelTool.hpp.

◆ m_labelPublisher

ros::Publisher rviz_map_plugin::ClusterLabelTool::m_labelPublisher
private

Definition at line 236 of file ClusterLabelTool.hpp.

◆ m_meshGeometry

std::shared_ptr<Geometry> rviz_map_plugin::ClusterLabelTool::m_meshGeometry
private

Definition at line 209 of file ClusterLabelTool.hpp.

◆ m_multipleSelect

bool rviz_map_plugin::ClusterLabelTool::m_multipleSelect = false
private

Definition at line 219 of file ClusterLabelTool.hpp.

◆ m_rayData

std::array<float, 6> rviz_map_plugin::ClusterLabelTool::m_rayData
private

Definition at line 239 of file ClusterLabelTool.hpp.

◆ m_resultDistances

std::vector<float> rviz_map_plugin::ClusterLabelTool::m_resultDistances
private

Definition at line 243 of file ClusterLabelTool.hpp.

◆ m_sceneNode

Ogre::SceneNode* rviz_map_plugin::ClusterLabelTool::m_sceneNode
private

Definition at line 214 of file ClusterLabelTool.hpp.

◆ m_selectedFaces

std::vector<uint32_t> rviz_map_plugin::ClusterLabelTool::m_selectedFaces
private

Definition at line 204 of file ClusterLabelTool.hpp.

◆ m_selectionBox

Ogre::ManualObject* rviz_map_plugin::ClusterLabelTool::m_selectionBox
private

Definition at line 215 of file ClusterLabelTool.hpp.

◆ m_selectionBoxMaterial

Ogre::MaterialPtr rviz_map_plugin::ClusterLabelTool::m_selectionBoxMaterial
private

Definition at line 216 of file ClusterLabelTool.hpp.

◆ m_selectionStart

Ogre::Vector2 rviz_map_plugin::ClusterLabelTool::m_selectionStart
private

Definition at line 217 of file ClusterLabelTool.hpp.

◆ m_selectionStop

Ogre::Vector2 rviz_map_plugin::ClusterLabelTool::m_selectionStop
private

Definition at line 218 of file ClusterLabelTool.hpp.

◆ m_singleDeselect

bool rviz_map_plugin::ClusterLabelTool::m_singleDeselect = false
private

Definition at line 221 of file ClusterLabelTool.hpp.

◆ m_singleSelect

bool rviz_map_plugin::ClusterLabelTool::m_singleSelect = false
private

Definition at line 220 of file ClusterLabelTool.hpp.

◆ m_sphereData

std::array<float, 4> rviz_map_plugin::ClusterLabelTool::m_sphereData
private

Definition at line 240 of file ClusterLabelTool.hpp.

◆ m_sphereSize

float rviz_map_plugin::ClusterLabelTool::m_sphereSize = 1.0f
private

Definition at line 210 of file ClusterLabelTool.hpp.

◆ m_startNormalData

std::array<float, 3> rviz_map_plugin::ClusterLabelTool::m_startNormalData
private

Definition at line 241 of file ClusterLabelTool.hpp.

◆ m_vertexData

std::vector<float> rviz_map_plugin::ClusterLabelTool::m_vertexData
private

Definition at line 238 of file ClusterLabelTool.hpp.

◆ m_vertexPositions

std::vector<Ogre::Vector3> rviz_map_plugin::ClusterLabelTool::m_vertexPositions
private

Definition at line 223 of file ClusterLabelTool.hpp.

◆ m_visual

std::shared_ptr<ClusterLabelVisual> rviz_map_plugin::ClusterLabelTool::m_visual
private

Definition at line 208 of file ClusterLabelTool.hpp.


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


rviz_map_plugin
Author(s): Sebastian Pütz , Kristin Schmidt , Jan Philipp Vogtherr , Malte kleine Piening
autogenerated on Sun Jan 21 2024 04:06:25