#include <cartesian_gripper_control.h>
Public Types | |
enum | StatusT { HIDDEN, IDLE, ROTATING, DRAGGING } |
Public Member Functions | |
CartesianGripperControl (std::string arm_name, std::string gripper_frame, std::string reference_frame, rviz::VisualizationManager *vis_manager) | |
float | getClosestIntersection (Ogre::Ray mouse_ray) |
rviz::status_levels::StatusLevel | getStatusLevel () const |
std::string | getStatusText () const |
bool | getUseReferenceFrame () |
void | hide () |
void | mouseDown (Ogre::Ray mouse_ray) |
void | mouseMove (Ogre::Ray mouse_ray) |
void | mouseUp (Ogre::Ray mouse_ray) |
void | reset () |
void | setUseReferenceFrame (bool use) |
void | show () |
void | update () |
virtual | ~CartesianGripperControl () |
Static Public Attributes | |
static const float | NO_INTERSECTION = 99999 |
Protected Types | |
enum | SideT { POS, NEG } |
Protected Member Functions | |
void | addControls (unsigned axis) |
ogre_tools::Shape * | addDragBox (Ogre::Vector3 axis) |
void | addRing (Ogre::Vector3 axis1, Ogre::Vector3 axis2, Ogre::MaterialPtr material, unsigned render_queue_group) |
void | addRingSegment (Ogre::Vector3 axis1, Ogre::Vector3 axis2, Ogre::MaterialPtr material, unsigned render_queue_group, float a_min, float a_max) |
Ogre::Vector3 | getAxis (unsigned axis) |
bool | getClosestBox (Ogre::Ray mouse_ray, Ogre::Vector3 &nearest_intersection_3d, float &nearest_intersection_1d, float &nearest_t, unsigned &nearest_axis, SideT &nearest_side) |
bool | getClosestPosition (Ogre::Ray mouse_ray, unsigned axis, float &pos) |
bool | getClosestRing (Ogre::Ray mouse_ray, Ogre::Vector3 &nearest_intersection_3d, Ogre::Vector2 &nearest_intersection_2d, float &nearest_t, unsigned &nearest_axis) |
bool | getTransform (std::string frame, Ogre::Vector3 &position, Ogre::Quaternion &orientation) |
bool | intersectBox (Ogre::Ray mouse_ray, unsigned axis, SideT side, Ogre::Vector3 &intersection_3d, float &intersection_1d, float &ray_t) |
bool | intersectPlane (Ogre::Ray mouse_ray, unsigned axis, Ogre::Vector3 &intersection_3d, Ogre::Vector2 &intersection_2d, float &ray_t) |
bool | intersectRing (Ogre::Ray mouse_ray, unsigned axis, Ogre::Vector3 &intersection_3d, Ogre::Vector2 &intersection_2d, float &ray_t, float inner_radius=HANDLE_RADIUS_INNER, float outer_radius=HANDLE_RADIUS_OUTER) |
void | setStatus (rviz::status_levels::StatusLevel level, const std::string &text) |
void | translateRealGripper () |
Protected Attributes | |
std::string | arm_name_ |
Ogre::SceneNode * | controls_node_ |
std::map< unsigned, std::map < SideT, ogre_tools::Shape * > > | drag_boxes_ |
rviz_interaction_tools::Gripper * | gripper_ |
std::string | gripper_frame_ |
Ogre::SceneNode * | gripper_node_ |
Ogre::Vector3 | gripper_offset_ |
double | last_angle_ |
int | last_axis_ |
double | last_drag_pos_ |
SideT | last_drag_side_ |
Ogre::SceneNode * | main_node_ |
ogre_tools::Shape * | marker_ |
std::string | reference_frame_ |
std::vector < rviz_interaction_tools::MeshObject * > | ring_segments_ |
StatusT | status_ |
rviz::status_levels::StatusLevel | status_level_ |
std::string | status_text_ |
bool | use_reference_frame_ |
rviz::VisualizationManager * | vis_manager_ |
Static Protected Attributes | |
static const float | HANDLE_ALPHA = 0.5 |
static const float | HANDLE_RADIUS_INNER = 0.10 |
static const float | HANDLE_RADIUS_OUTER = 0.13 |
static const float | HANDLE_SIZE = 0.03 |
Definition at line 57 of file cartesian_gripper_control.h.
enum pr2_interactive_manipulation::CartesianGripperControl::SideT [protected] |
Definition at line 104 of file cartesian_gripper_control.h.
Definition at line 63 of file cartesian_gripper_control.h.
pr2_interactive_manipulation::CartesianGripperControl::CartesianGripperControl | ( | std::string | arm_name, | |
std::string | gripper_frame, | |||
std::string | reference_frame, | |||
rviz::VisualizationManager * | vis_manager | |||
) |
Definition at line 51 of file cartesian_gripper_control.cpp.
pr2_interactive_manipulation::CartesianGripperControl::~CartesianGripperControl | ( | ) | [virtual] |
Definition at line 83 of file cartesian_gripper_control.cpp.
void pr2_interactive_manipulation::CartesianGripperControl::addControls | ( | unsigned | axis | ) | [protected] |
Definition at line 96 of file cartesian_gripper_control.cpp.
ogre_tools::Shape * pr2_interactive_manipulation::CartesianGripperControl::addDragBox | ( | Ogre::Vector3 | axis | ) | [protected] |
Definition at line 115 of file cartesian_gripper_control.cpp.
void pr2_interactive_manipulation::CartesianGripperControl::addRing | ( | Ogre::Vector3 | axis1, | |
Ogre::Vector3 | axis2, | |||
Ogre::MaterialPtr | material, | |||
unsigned | render_queue_group | |||
) | [protected] |
Definition at line 136 of file cartesian_gripper_control.cpp.
void pr2_interactive_manipulation::CartesianGripperControl::addRingSegment | ( | Ogre::Vector3 | axis1, | |
Ogre::Vector3 | axis2, | |||
Ogre::MaterialPtr | material, | |||
unsigned | render_queue_group, | |||
float | a_min, | |||
float | a_max | |||
) | [protected] |
Definition at line 147 of file cartesian_gripper_control.cpp.
Ogre::Vector3 pr2_interactive_manipulation::CartesianGripperControl::getAxis | ( | unsigned | axis | ) | [protected] |
Definition at line 603 of file cartesian_gripper_control.cpp.
bool pr2_interactive_manipulation::CartesianGripperControl::getClosestBox | ( | Ogre::Ray | mouse_ray, | |
Ogre::Vector3 & | nearest_intersection_3d, | |||
float & | nearest_intersection_1d, | |||
float & | nearest_t, | |||
unsigned & | nearest_axis, | |||
SideT & | nearest_side | |||
) | [protected] |
Definition at line 530 of file cartesian_gripper_control.cpp.
float pr2_interactive_manipulation::CartesianGripperControl::getClosestIntersection | ( | Ogre::Ray | mouse_ray | ) |
Definition at line 296 of file cartesian_gripper_control.cpp.
bool pr2_interactive_manipulation::CartesianGripperControl::getClosestPosition | ( | Ogre::Ray | mouse_ray, | |
unsigned | axis, | |||
float & | pos | |||
) | [protected] |
Definition at line 621 of file cartesian_gripper_control.cpp.
bool pr2_interactive_manipulation::CartesianGripperControl::getClosestRing | ( | Ogre::Ray | mouse_ray, | |
Ogre::Vector3 & | nearest_intersection_3d, | |||
Ogre::Vector2 & | nearest_intersection_2d, | |||
float & | nearest_t, | |||
unsigned & | nearest_axis | |||
) | [protected] |
Definition at line 461 of file cartesian_gripper_control.cpp.
rviz::status_levels::StatusLevel pr2_interactive_manipulation::CartesianGripperControl::getStatusLevel | ( | ) | const [inline] |
Definition at line 80 of file cartesian_gripper_control.h.
std::string pr2_interactive_manipulation::CartesianGripperControl::getStatusText | ( | ) | const [inline] |
Definition at line 79 of file cartesian_gripper_control.h.
bool pr2_interactive_manipulation::CartesianGripperControl::getTransform | ( | std::string | frame, | |
Ogre::Vector3 & | position, | |||
Ogre::Quaternion & | orientation | |||
) | [protected] |
Definition at line 246 of file cartesian_gripper_control.cpp.
bool pr2_interactive_manipulation::CartesianGripperControl::getUseReferenceFrame | ( | ) | [inline] |
Definition at line 92 of file cartesian_gripper_control.h.
void pr2_interactive_manipulation::CartesianGripperControl::hide | ( | ) |
Definition at line 194 of file cartesian_gripper_control.cpp.
bool pr2_interactive_manipulation::CartesianGripperControl::intersectBox | ( | Ogre::Ray | mouse_ray, | |
unsigned | axis, | |||
SideT | side, | |||
Ogre::Vector3 & | intersection_3d, | |||
float & | intersection_1d, | |||
float & | ray_t | |||
) | [protected] |
Definition at line 562 of file cartesian_gripper_control.cpp.
bool pr2_interactive_manipulation::CartesianGripperControl::intersectPlane | ( | Ogre::Ray | mouse_ray, | |
unsigned | axis, | |||
Ogre::Vector3 & | intersection_3d, | |||
Ogre::Vector2 & | intersection_2d, | |||
float & | ray_t | |||
) | [protected] |
Definition at line 498 of file cartesian_gripper_control.cpp.
bool pr2_interactive_manipulation::CartesianGripperControl::intersectRing | ( | Ogre::Ray | mouse_ray, | |
unsigned | axis, | |||
Ogre::Vector3 & | intersection_3d, | |||
Ogre::Vector2 & | intersection_2d, | |||
float & | ray_t, | |||
float | inner_radius = HANDLE_RADIUS_INNER , |
|||
float | outer_radius = HANDLE_RADIUS_OUTER | |||
) | [protected] |
Definition at line 488 of file cartesian_gripper_control.cpp.
void pr2_interactive_manipulation::CartesianGripperControl::mouseDown | ( | Ogre::Ray | mouse_ray | ) |
Definition at line 390 of file cartesian_gripper_control.cpp.
void pr2_interactive_manipulation::CartesianGripperControl::mouseMove | ( | Ogre::Ray | mouse_ray | ) |
Definition at line 318 of file cartesian_gripper_control.cpp.
void pr2_interactive_manipulation::CartesianGripperControl::mouseUp | ( | Ogre::Ray | mouse_ray | ) |
Definition at line 442 of file cartesian_gripper_control.cpp.
void pr2_interactive_manipulation::CartesianGripperControl::reset | ( | ) |
Definition at line 215 of file cartesian_gripper_control.cpp.
void pr2_interactive_manipulation::CartesianGripperControl::setStatus | ( | rviz::status_levels::StatusLevel | level, | |
const std::string & | text | |||
) | [protected] |
Definition at line 269 of file cartesian_gripper_control.cpp.
void pr2_interactive_manipulation::CartesianGripperControl::setUseReferenceFrame | ( | bool | use | ) | [inline] |
Definition at line 91 of file cartesian_gripper_control.h.
void pr2_interactive_manipulation::CartesianGripperControl::show | ( | ) |
Definition at line 188 of file cartesian_gripper_control.cpp.
void pr2_interactive_manipulation::CartesianGripperControl::translateRealGripper | ( | ) | [protected] |
Definition at line 644 of file cartesian_gripper_control.cpp.
void pr2_interactive_manipulation::CartesianGripperControl::update | ( | ) |
Definition at line 276 of file cartesian_gripper_control.cpp.
std::string pr2_interactive_manipulation::CartesianGripperControl::arm_name_ [protected] |
Definition at line 154 of file cartesian_gripper_control.h.
Ogre::SceneNode* pr2_interactive_manipulation::CartesianGripperControl::controls_node_ [protected] |
Definition at line 164 of file cartesian_gripper_control.h.
std::map< unsigned, std::map<SideT, ogre_tools::Shape*> > pr2_interactive_manipulation::CartesianGripperControl::drag_boxes_ [protected] |
Definition at line 168 of file cartesian_gripper_control.h.
rviz_interaction_tools::Gripper* pr2_interactive_manipulation::CartesianGripperControl::gripper_ [protected] |
Definition at line 161 of file cartesian_gripper_control.h.
std::string pr2_interactive_manipulation::CartesianGripperControl::gripper_frame_ [protected] |
Definition at line 155 of file cartesian_gripper_control.h.
Ogre::SceneNode* pr2_interactive_manipulation::CartesianGripperControl::gripper_node_ [protected] |
Definition at line 165 of file cartesian_gripper_control.h.
Ogre::Vector3 pr2_interactive_manipulation::CartesianGripperControl::gripper_offset_ [protected] |
Definition at line 159 of file cartesian_gripper_control.h.
const float pr2_interactive_manipulation::CartesianGripperControl::HANDLE_ALPHA = 0.5 [static, protected] |
Definition at line 102 of file cartesian_gripper_control.h.
const float pr2_interactive_manipulation::CartesianGripperControl::HANDLE_RADIUS_INNER = 0.10 [static, protected] |
Definition at line 100 of file cartesian_gripper_control.h.
const float pr2_interactive_manipulation::CartesianGripperControl::HANDLE_RADIUS_OUTER = 0.13 [static, protected] |
Definition at line 99 of file cartesian_gripper_control.h.
const float pr2_interactive_manipulation::CartesianGripperControl::HANDLE_SIZE = 0.03 [static, protected] |
Definition at line 101 of file cartesian_gripper_control.h.
double pr2_interactive_manipulation::CartesianGripperControl::last_angle_ [protected] |
Definition at line 179 of file cartesian_gripper_control.h.
Definition at line 182 of file cartesian_gripper_control.h.
double pr2_interactive_manipulation::CartesianGripperControl::last_drag_pos_ [protected] |
Definition at line 180 of file cartesian_gripper_control.h.
Definition at line 181 of file cartesian_gripper_control.h.
Ogre::SceneNode* pr2_interactive_manipulation::CartesianGripperControl::main_node_ [protected] |
Definition at line 163 of file cartesian_gripper_control.h.
ogre_tools::Shape* pr2_interactive_manipulation::CartesianGripperControl::marker_ [protected] |
Definition at line 172 of file cartesian_gripper_control.h.
const float pr2_interactive_manipulation::CartesianGripperControl::NO_INTERSECTION = 99999 [static] |
Definition at line 61 of file cartesian_gripper_control.h.
std::string pr2_interactive_manipulation::CartesianGripperControl::reference_frame_ [protected] |
Definition at line 156 of file cartesian_gripper_control.h.
std::vector<rviz_interaction_tools::MeshObject*> pr2_interactive_manipulation::CartesianGripperControl::ring_segments_ [protected] |
Definition at line 170 of file cartesian_gripper_control.h.
Definition at line 177 of file cartesian_gripper_control.h.
rviz::status_levels::StatusLevel pr2_interactive_manipulation::CartesianGripperControl::status_level_ [protected] |
Definition at line 174 of file cartesian_gripper_control.h.
std::string pr2_interactive_manipulation::CartesianGripperControl::status_text_ [protected] |
Definition at line 175 of file cartesian_gripper_control.h.
Definition at line 157 of file cartesian_gripper_control.h.
rviz::VisualizationManager* pr2_interactive_manipulation::CartesianGripperControl::vis_manager_ [protected] |
Definition at line 152 of file cartesian_gripper_control.h.