Class
List
Modules
Common
Events
Math
Messages
Physics
Rendering
Sensors
Transport
Links
Gazebo Website
Tutorials
Download
Report Documentation Issues
gazebo
physics
simbody
SimbodyHingeJoint.hh
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2012-2016 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
18
#ifndef _SIMBODY_HINGEJOINT_HH_
19
#define _SIMBODY_HINGEJOINT_HH_
20
21
#include <vector>
22
23
#include "
gazebo/math/Angle.hh
"
24
#include "
gazebo/math/Vector3.hh
"
25
#include "
gazebo/physics/HingeJoint.hh
"
26
#include "
gazebo/physics/simbody/SimbodyJoint.hh
"
27
#include "
gazebo/physics/simbody/SimbodyPhysics.hh
"
28
#include "
gazebo/util/system.hh
"
29
30
namespace
gazebo
31
{
32
namespace
physics
33
{
37
39
class
GZ_PHYSICS_VISIBLE
SimbodyHingeJoint
:
public
HingeJoint
<SimbodyJoint>
40
{
42
public
:
SimbodyHingeJoint
(SimTK::MultibodySystem *world,
BasePtr
_parent);
43
45
public
:
virtual
~
SimbodyHingeJoint
();
46
47
// Documentation inherited.
48
protected
:
virtual
void
Load(sdf::ElementPtr _sdf);
49
50
// Documentation inherited.
51
public
:
void
SetAxis(
unsigned
int
_index,
const
math::Vector3
&_axis);
52
53
// Documentation inherited.
54
public
:
virtual
void
SetVelocity(
unsigned
int
_index,
double
_rate);
55
56
// Documentation inherited.
57
public
:
virtual
double
GetVelocity(
unsigned
int
_index)
const
;
58
59
// Documentation inherited.
60
public
:
virtual
math::Vector3
GetGlobalAxis(
unsigned
int
_index)
const
;
61
63
public
:
virtual
void
SaveSimbodyState(
const
SimTK::State &_state);
64
66
public
:
virtual
void
RestoreSimbodyState(SimTK::State &_state);
67
68
// Documentation inherited.
69
protected
:
virtual
math::Angle
GetAngleImpl(
unsigned
int
_index)
const
;
70
71
// Documentation inherited.
72
protected
:
virtual
void
SetForceImpl(
unsigned
int
_index,
double
_torque);
73
75
private
: std::vector<double> simbodyQ;
76
78
private
: std::vector<double> simbodyU;
79
};
81
}
82
}
83
#endif
HingeJoint.hh
Vector3.hh
gazebo::math::Vector3
The Vector3 class represents the generic vector containing 3 elements.
Definition:
Vector3.hh:39
system.hh
gazebo::physics::SimbodyHingeJoint
A single axis hinge joint.
Definition:
SimbodyHingeJoint.hh:39
Angle.hh
SimbodyPhysics.hh
gazebo::physics::HingeJoint
A single axis hinge joint.
Definition:
HingeJoint.hh:39
SimbodyJoint.hh
gazebo::math::Angle
An angle and related functions.
Definition:
Angle.hh:53
gazebo::physics::BasePtr
boost::shared_ptr< Base > BasePtr
Definition:
PhysicsTypes.hh:77