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 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/Vector3.hh
"
24
#include "
gazebo/physics/HingeJoint.hh
"
25
#include "
gazebo/physics/simbody/SimbodyJoint.hh
"
26
#include "
gazebo/physics/simbody/SimbodyPhysics.hh
"
27
#include "
gazebo/util/system.hh
"
28
29
namespace
gazebo
30
{
31
namespace
physics
32
{
36
38
class
GZ_PHYSICS_VISIBLE
SimbodyHingeJoint
:
public
HingeJoint
<SimbodyJoint>
39
{
41
public
:
SimbodyHingeJoint
(SimTK::MultibodySystem *world,
BasePtr
_parent);
42
44
public
:
virtual
~
SimbodyHingeJoint
();
45
46
// Documentation inherited.
47
protected
:
virtual
void
Load(sdf::ElementPtr _sdf);
48
49
// Documentation inherited.
50
public
:
void
SetAxis(
const
unsigned
int
_index,
51
const
ignition::math::Vector3d &_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
ignition::math::Vector3d GlobalAxis(
61
const
unsigned
int
_index)
const
;
62
64
public
:
virtual
void
SaveSimbodyState(
const
SimTK::State &_state);
65
67
public
:
virtual
void
RestoreSimbodyState(SimTK::State &_state);
68
69
// Documentation inherited.
70
protected
:
virtual
double
PositionImpl(
const
unsigned
int
_index)
const
;
71
72
// Documentation inherited.
73
protected
:
virtual
void
SetForceImpl(
unsigned
int
_index,
double
_torque);
74
76
private
: std::vector<double> simbodyQ;
77
79
private
: std::vector<double> simbodyU;
80
};
82
}
83
}
84
#endif
HingeJoint.hh
Vector3.hh
gazebo
Forward declarations for the common classes.
Definition:
Animation.hh:33
system.hh
gazebo::physics::SimbodyHingeJoint
A single axis hinge joint.
Definition:
SimbodyHingeJoint.hh:38
SimbodyPhysics.hh
gazebo::physics::HingeJoint
A single axis hinge joint.
Definition:
HingeJoint.hh:37
SimbodyJoint.hh
gazebo::physics::BasePtr
boost::shared_ptr< Base > BasePtr
Definition:
PhysicsTypes.hh:77