Class
List
Hierarchy
Modules
Common
Events
Math
Messages
Physics
Rendering
Sensors
Transport
Links
Gazebo Website
Wiki
Tutorials
Download
Report Documentation Issues
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
gazebo
physics
JointState.hh
Go to the documentation of this file.
1
/*
2
* Copyright 2012 Open Source Robotics Foundation
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*
16
*/
17
/* Desc: A joint state
18
* Author: Nate Koenig
19
*/
20
21
#ifndef _JOINTSTATE_HH_
22
#define _JOINTSTATE_HH_
23
24
#include <vector>
25
#include <string>
26
27
#include "
gazebo/physics/State.hh
"
28
#include "
gazebo/math/Pose.hh
"
29
30
namespace
gazebo
31
{
32
namespace
physics
33
{
36
39
class
JointState
:
public
State
40
{
42
public
:
JointState
();
43
48
public
:
JointState
(
JointPtr
_joint,
const
common::Time
&_realTime,
49
const
common::Time
&_simTime);
50
53
public
:
explicit
JointState
(
JointPtr
_joint);
54
59
public
:
explicit
JointState
(
const
sdf::ElementPtr
_sdf);
60
62
public
:
virtual
~JointState
();
63
68
public
:
void
Load
(
JointPtr
_joint,
const
common::Time
&_realTime,
69
const
common::Time
&_simTime);
70
73
public
:
virtual
void
Load
(
const
sdf::ElementPtr
_elem);
74
77
public
:
unsigned
int
GetAngleCount
()
const
;
78
83
public
:
math::Angle
GetAngle
(
unsigned
int
_axis)
const
;
84
87
public
:
const
std::vector<math::Angle> &
GetAngles
()
const
;
88
91
public
:
bool
IsZero
()
const
;
92
95
public
:
void
FillSDF
(
sdf::ElementPtr
_sdf);
96
100
public
:
JointState
&
operator=
(
const
JointState
&_state);
101
105
public
:
JointState
operator-
(
const
JointState
&_state)
const
;
106
110
public
:
JointState
operator+
(
const
JointState
&_state)
const
;
111
116
public
:
inline
friend
std::ostream &
operator<<
(std::ostream &_out,
117
const
gazebo::physics::JointState
&_state)
118
{
119
_out <<
"<joint name='"
<< _state.
GetName
() <<
"'>"
;
120
121
int
i = 0;
122
for
(std::vector<math::Angle>::const_iterator iter =
123
_state.angles.begin(); iter != _state.angles.end(); ++iter)
124
{
125
_out <<
"<angle axis='"
<< i <<
"'>"
<< (*iter) <<
"</angle>"
;
126
}
127
128
_out <<
"</joint>"
;
129
130
return
_out;
131
}
132
133
private
: std::vector<math::Angle> angles;
134
};
136
}
137
}
138
#endif