include
robot_element
robot_element/abstract_robot_element.h
Go to the documentation of this file.
1
#ifndef ABSTRACT_ROBOT_ELEMENT_
2
#define ABSTRACT_ROBOT_ELEMENT_
3
4
#include "ros/ros.h"
5
#include <tf2/LinearMath/Transform.h>
6
7
class
Abstract_robot_element
{
8
protected
:
9
std::string
name_
;
10
tf2::Transform
relative_tf_
;
11
tf2::Transform
world_tf_
;
12
tf2::Vector3
size_
;
13
14
std::vector<tf2::Transform>
bounds_
;
15
16
public
:
17
Abstract_robot_element
(tf2::Transform tf, std::string
name
, tf2::Vector3
size
)
18
:
relative_tf_
(tf)
19
,
name_
(
name
)
20
,
size_
(
size
)
21
,
world_tf_
(tf2::Transform(tf2::Quaternion(0,0,0,1), tf2::Vector3(0,0,0))) {}
22
23
24
inline
tf2::Transform&
relative_tf
(){
return
relative_tf_
;}
25
inline
void
set_relative_tf
(tf2::Transform tf) {
relative_tf_
= tf;}
26
27
inline
void
calc_world_tf
(tf2::Transform& tf) {
world_tf_
= tf *
relative_tf_
;}
28
inline
void
set_world_tf
(tf2::Transform& tf) {
world_tf_
= tf;}
29
30
31
virtual
std::vector<tf2::Transform>&
bounds
()=0;
32
virtual
tf2::Transform&
world_tf
()=0;
33
virtual
tf2::Vector3&
size
()=0;
34
virtual
std::string&
name
()=0;
35
36
37
virtual
void
update
(tf2::Transform& tf)= 0;
38
};
39
40
41
#endif
Abstract_robot_element::bounds_
std::vector< tf2::Transform > bounds_
Definition:
robot_element/abstract_robot_element.h:14
Abstract_robot_element::set_world_tf
void set_world_tf(tf2::Transform &tf)
Definition:
robot_element/abstract_robot_element.h:28
Abstract_robot_element::Abstract_robot_element
Abstract_robot_element(tf2::Transform tf, std::string name, tf2::Vector3 size)
Definition:
robot_element/abstract_robot_element.h:17
Abstract_robot_element::relative_tf_
tf2::Transform relative_tf_
Definition:
impl/abstract_robot_element.h:11
Abstract_robot_element::name
virtual std::string & name()=0
Abstract_robot_element::world_tf_
tf2::Transform world_tf_
Definition:
impl/abstract_robot_element.h:12
Abstract_robot_element::bounds
virtual std::vector< tf2::Transform > & bounds()=0
Abstract_robot_element::size
virtual tf2::Vector3 & size()=0
Abstract_robot_element::calc_world_tf
void calc_world_tf(tf2::Transform &tf)
Definition:
robot_element/abstract_robot_element.h:27
Abstract_robot_element
Definition:
impl/abstract_robot_element.h:9
Abstract_robot_element::set_relative_tf
void set_relative_tf(tf2::Transform tf)
Definition:
robot_element/abstract_robot_element.h:25
Abstract_robot_element::name_
std::string name_
Definition:
robot_element/abstract_robot_element.h:9
Abstract_robot_element::size_
tf2::Vector3 size_
Definition:
robot_element/abstract_robot_element.h:12
Abstract_robot_element::relative_tf
tf2::Transform & relative_tf()
Definition:
robot_element/abstract_robot_element.h:24
Abstract_robot_element::world_tf
tf2::Transform & world_tf()
Definition:
impl/abstract_robot_element.h:21
Abstract_robot_element::update
virtual void update(tf2::Transform &tf)=0
multi_cell_builder
Author(s): MA
autogenerated on Thu Jan 12 2023 23:45:43