moveit2
The MoveIt Motion Planning Framework for ROS 2.
Public Member Functions | List of all members
planning_scene_monitor::LockedPlanningSceneRW Class Reference

This is a convenience class for obtaining access to an instance of a locked PlanningScene. More...

#include <planning_scene_monitor.h>

Inheritance diagram for planning_scene_monitor::LockedPlanningSceneRW:
Inheritance graph
[legend]
Collaboration diagram for planning_scene_monitor::LockedPlanningSceneRW:
Collaboration graph
[legend]

Public Member Functions

 LockedPlanningSceneRW (const PlanningSceneMonitorPtr &planning_scene_monitor)
 
 operator const planning_scene::PlanningScenePtr & ()
 
const planning_scene::PlanningScenePtr & operator-> ()
 
- Public Member Functions inherited from planning_scene_monitor::LockedPlanningSceneRO
 LockedPlanningSceneRO (const PlanningSceneMonitorPtr &planning_scene_monitor)
 
const PlanningSceneMonitorPtr & getPlanningSceneMonitor ()
 
 operator bool () const
 
 operator const planning_scene::PlanningSceneConstPtr & () const
 
const planning_scene::PlanningSceneConstPtr & operator-> () const
 

Additional Inherited Members

- Protected Member Functions inherited from planning_scene_monitor::LockedPlanningSceneRO
 LockedPlanningSceneRO (const PlanningSceneMonitorPtr &planning_scene_monitor, bool read_only)
 
void initialize (bool read_only)
 
 MOVEIT_STRUCT_FORWARD (SingleUnlock)
 
- Protected Attributes inherited from planning_scene_monitor::LockedPlanningSceneRO
PlanningSceneMonitorPtr planning_scene_monitor_
 
SingleUnlockPtr lock_
 

Detailed Description

This is a convenience class for obtaining access to an instance of a locked PlanningScene.

Instances of this class can be used almost exactly like instances of a PlanningScenePtr because of the typecast operator and "operator->" functions. Therefore you will often see code like this:

moveit::core::RobotModelConstPtr model = ls->getRobotModel();
This is a convenience class for obtaining access to an instance of a locked PlanningScene.

The function "getRobotModel()" is a member of PlanningScene and not a member of this class. However because of the "operator->" here which returns a PlanningScenePtr, this works.

Only one of these "ReadWrite" locks can exist at a given time. The intention is that users which need to write to the PlanningScene will use these, preventing other writers and readers from locking the same PlanningScene at the same time.

See also
LockedPlanningSceneRO

Definition at line 736 of file planning_scene_monitor.h.

Constructor & Destructor Documentation

◆ LockedPlanningSceneRW()

planning_scene_monitor::LockedPlanningSceneRW::LockedPlanningSceneRW ( const PlanningSceneMonitorPtr &  planning_scene_monitor)
inline

Definition at line 739 of file planning_scene_monitor.h.

Member Function Documentation

◆ operator const planning_scene::PlanningScenePtr &()

planning_scene_monitor::LockedPlanningSceneRW::operator const planning_scene::PlanningScenePtr & ( )
inline

Definition at line 744 of file planning_scene_monitor.h.

◆ operator->()

const planning_scene::PlanningScenePtr& planning_scene_monitor::LockedPlanningSceneRW::operator-> ( )
inline

Definition at line 749 of file planning_scene_monitor.h.


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